허용 권한 획득 조건
Or 조건
- Permission Policy에 ec2에 대한 모든 조건을 주고, Resource Policy에는 s3에 대한 모든 조건을 준다면 최종 획득 권한은 s3와 ec2에 대한 모든 조건을 가질 수 있다.
And 조건
- Permission Boundary에는 s3 GetObject 권한을 주고 Permission Policy에는 s3의 모든 조건을 준다면, 최종 획득 권한은 s3 GetObject 권한만을 획득한다.
IAM Role의 활용
특징
- 보안성: 임시 보안 자격 증명의 사용
- 편리성: 다수의 사용자나 어플리케이션이 사용할 수 있으므로 권한 관리가 편리
- 무료: 별도의 과금 없음
IAM 사용자 권한 최소화
IAM 사용자에게 ec2 인스턴스에 접근을 시키려면 어떻게 해야 할까?
- 첫 번째 방법: IAM 사용자에게 ec2 권한이 명시적으로 혀용되어 있는 Policy를 할당해 준다.
- 단점은 action에다가 Policy를 넣다 보면 단점은 점점 길어진다.
- 두 번째 방법: 사용자에게 sts AssumeRole 권한만 주는 것이다.
- sts AssumeRole 이란 사용자에서 Role로 전환할 수 있는 권한
- 사용자는 결과적으로 ec2에 대한 접근 권한을 획득할 수 있다.
EC2상의 어플리케이션
Q. 공개되지 않은 S3 bucket에 애플리케이션이 접근하려면 어떻게 해야 할까?
A1. 애플리케이션에 접근할 수 있는 계정 정보를 심으면 된다. 하지만 이런 식으로 운영하면 소스코드에 자격증명이 들어간다.
A2. ec2 인스턴스에 role을 부여했다면, 자격증명의 메타데이터를 뽑아낼 수 있다. 이를 통해 임시자격증명(라이프 타임을 갖는)을 얻을 수 있고, 임시 자격 증명을 통해 s3 bucket에 접근할 수 있다.