IAM Policies inheritance
- 하나의 개발 그룹에서 그룹 수준에 정책을 연결하며 이 정책은 그룹의 모든 개개인 멤버들에게 적용됨
- 개발자 그룹 : Alice, Bob, Charles는 그룹 수준에서 정책을 연결하며 정책을 계승
- 관리자 그룹 : David, Edward는 개발자 그룹과 다른 정책을 가지고 작동
- 그룹에 속하지 않음 : Fred는 오직 사용자에게만 연결된 정책이 있는 인라인 정책을 만듦
사용자가 그룹에 속할 수도 속하지 않을 수도 있으므로 원하는대로 사용자에 대한 인라인 정책을 가짐 - 감사 그룹 : Charles, David
→ Charles는 개발자 그룹 정책과 감사 그룹의 정책을 가지게 되며, David는 감사 그룹의 정책과 관리자 그룹의 정책을 갖게 됨
IAM Policies Structure
- Consists of
IAM 정책 구조
- Version : policy language version
저번의 숫자, 정책 언어 버전 - Id : an identifier for the policy (optional)
정책을 식별하는 방법 - Statement : one or more individual statements (required)
진술
- Statements consists of
- Sid : an identifier for the statement (optional)
ID Statements로 Statements 식별자 - Effect : whether the statement allows or denies access (Allow, Deny)
Statements가 특정 API에 접근하는 것을 허용하거나 부정한다는 것 - Principal : account/user/role to which this policy applied to
정책이 적용될 계정 사용자 또는 역할로 구성 - 예) AWS 계정의 root 계정에 정책 적용 - Action : list of actions this policy allows or denies
효과에 따라 거부되거나 허용되는 API 호출 목록 - Resource : list of resources to which the actions applied to
작업이 적용될 리소스 목록 - Condition : conditions for when this policy is in effect (optional)
이 문장을 언제 적용해야 하고 하지 말아야 하는지에 대한 조건
<IAM 정책 실습>
- 정책 적용
- 사용자 삭제
gagyeong 사용자는 admin 그룹의 권한을 잃게 됨
- 적용된 것 확인
gagyeong은 이 페이지의 iam:ListUsers를 수행하는데 인증되지 않음
즉, gagyeong를 admin 그룹에서 제거하였기 때문에 이 페이지에 대한 접근 권한이 필요하다고 나온 것
- 사용자에게 허가를 첨부
방법 1) 직접 연결
직접 권한을 추가하고 정책을 사용 (이미 존재하거나 인라인 정책을 만들어 사용자에게 곧바로 정책 추가)
→ Fred의 경우, 정책 추가
- 사용자 gagyeong은 IAM에서 읽기 전용 권한만을 가지고 있으므로 새로운 그룹을 만들 수 없음
사용자 gagyeong는 그룹 생성에 인증되지 않았으므로 IAM에서 읽을 수 있는 권한만 가지고 있음
- 방법 2) 그룹에서 연결됨
admin 그룹에서 사용자를 추가해 관리자 접근을 가지게 한 후, developers 그룹을 생성하고 생성자를 추가한 후 정책 첨부
→ Developers 그룹의 경우, 정책 추가
- 사용자 gagyeong은 3가지 정책을 가짐
정책 1) IAMReadOnlyAccess : 직접 연결 (Attached directly : 이름이 붙여진 것에 바로 가서 첨부)
정책 2) AdministratorAceess : 그룹에서 연결됨 (Attached from group : admin 그룹으로부터 관리자 접근권)
정책 3) AWSDirectConnectReadOnlyAccess : 그룹에서 연결됨 (developers 그룹으로부터 읽기 전용 접근권)
→ 정책 1은 직접 연결된 것이고 (방법 1), 정책 2, 3은 그룹에서 연결된 것(방법 2)으로 IAM 권한이 다른 방법으로 계승된 것
- AdministratorAccess : 관리자 접근 정책
- IAMReadOnlyAccess : IAM 읽기 전용 접근권
- 나만의 정책 생성
방법 1) JSON 단순 작성
방법 2) Visual editor 작성
- 추가
- developers 그룹은 더이상 필요하지 않으므로 삭제
- 사용자 gagyeong에 직접 첨부되어있던 정책 제거
- IAM에서 확인
직접 연결 했던 정책과 developers 그룹으로 부터의 정책이 모두 삭제되고 admin 그룹 정책만 남은 것 확인
'Cloud > AWS' 카테고리의 다른 글
[SAA] AWS 클라우드쉘 (0) | 2022.01.16 |
---|---|
[SAA] AWS 액세스 키, CLI 및 SDK (0) | 2022.01.16 |
[SAA] MFA (0) | 2022.01.16 |
[SAA] IAM 소개 (0) | 2022.01.15 |
[SAA] AWS 클라우드 개요 (0) | 2022.01.14 |