관리 메뉴

즐겁게, 코드

AWS Certified Developer Associate : IAM 기초 본문

☁️ 클라우드/AWS

AWS Certified Developer Associate : IAM 기초

Chamming2 2023. 12. 10. 19:16

1. IAM 기초

  •  IAM : Identity and Access Management, 리전이 구분되지 않는 글로벌 서비스
  • AWS에 가입하면 루트 계정이 생성되는데, 루트 계정은 계정을 생성할 때만 사용되어야 한다.
  • 사용자  조직 에 속하며, 하나 이상의 그룹에 속할 수 있다.
  • 그룹에는 사용자만 속할 수 있으며, 하위 그룹은 존재할 수 없다.

  • 그룹을 분리하는 이유는 *정책 때문이다. (*정책 = 사용자의 권한을 정의하기 위한 JSON 문서)
  • Least Privilege Principle : 필요로 하는 정책 이상으로 부여하면 안된다.

사용자 그룹 내에 사용자를 추가한 모습
IAM 대시보드에서 IAM 계정에 로그인할 수 있는 콘솔 URL을 확인할 수 있다.

2. IAM 정책 상속

  • 사용자가 그룹에 속하면 그룹이 갖는 정책(= 권한)을 상속받게 된다.
  • 사용가 그룹에 속하지 않아도 inline 정책을 적용해 사용자 개별적으로 정책을 부여할 수도 있다.

3. IAM 정책 구조

✅ "정책" 이라는 단어에 겁먹을 필요 없다... 단지 권한을 명세한 JSON 파일일 뿐이다.

 

IAM 정책은 다음과 같이 구성된다.

  • Version : 정책의 언어 버전 (항상 "2012-10-17" 을 사용한다)
  • Id : 정책의 식별자 (필수)
  • Statement : 하나 이상의 구문 (필수)

Statement는 다음과 같이 구성된다.

  • Sid : Statement(구문) 의 식별자 (아마 Statement ID 의 약자인 듯 하다)
  • Effect : 구문의 접근을 허락할지, 거부할지 여부 (Allow, Deny)
  • Principal : 해당 정책을 적용할 계정 (account) / 사용자 (user) / 역할 (role)
  • Action : 해당 정책이 허락하거나 거부할 액션(API)의 목록
  • Resource : 액션의 대상이 될 *리소스들의 목록
    (*컴퓨팅, 스토리지, 네트워크, 어플리케이션 등 AWS에서 제공하는 서비스를 구성하는 요소들을 리소스라 부른다.)

예시 : AdministratorAccess 정책의 JSON 구성

Version이 명시되어 있다.
Statement가 하나 이상 존재한다.
Effect: "Allow" : 다음 액션을 허용한다.
Action: "*": 모든 API 호출을 대상으로 한다.
Resource: "*": AWS의 모든 리소스를 대상으로 한다.

 

  

반응형
Comments
소소한 팁 : 광고를 눌러주시면, 제가 뮤지컬을 마음껏 보러다닐 수 있어요!
와!! 바로 눌러야겠네요! 😆