2023.04.15 - [Aws] - AWS - IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트(AWS) - 1 에 이어 이번엔 권한 할당 원칙을 알아보자.
권한 할당 원칙 - 명시적 Deny, 묵시적 Deny
명시적 Deny
- Effect가 Deny 로 설정되면 명시적 Deny이라고 부른다.
- 기본적으로 IAM은 look up을 할 때 API에 할당된 모든 policy를 검사한다.
- 첫 번째로 명시적 Deny를 검사한다.
묵시적 Deny
- 방화벽에서 Default Deny의 개념과 비슷하다.
- 허용하지 않은 패킷들은 차단된다.
- IAM에서 명시되진 않지만 시적으로 허용되지 않는 건 차단된다.
권한 할당 원칙 - 명시적 허용
- 명시적 허용에는 Permission Boundary 와 Permission Policy가 할당되어야 한다.
- 명시적 허용을 하기 위해서 첫 번째 조건은 명시적 Deny는 없어야 한다.
- 두 번째 조건은 Permission Boundary 와 Permission Policy 명시적으로 허용하여야 한다.
권한 할당 예제
1. S3 요청에 대한 Permission Boundary 묵시적 Deny
- Permission Policy는 사용자나 role에 할당 되어서 권한을 할당 한다.
- Permission Boundary는 Permission Policy를 제한하는 기능을 가진다.
- Permission Policy를 보면 모든("*") Resource에 대한 모든 Action(S3에 대한 GetObject를 포함한)이 허용된다.
- Permission Boundary를 보면 Resource에 대한 허용이 logs 만 지정이 되어 있다. S3에 대한 권한이 지정되어 있지 않음
적용된 결과
- Permission Boundary에 명시적 허용이 없었기 때문에 S3에 대한 요청은 묵시적 Deny 처리가 된다.
2. S3 요청에 대한 Permission Boundary 명시적 허용
- 위와는 다르게 Permission Boundary에 KoreaSummit에 대한 명시적 허용이 들어갔다.
- KoreaSummit에 대한 명시적 허용이 되었음
적용된 결과
3. Permission Policy의 묵시적 Deny
- Permission Policy에 S3에 대한 Action이 없으므로 묵시적으로 Deny하고 있다