2. 계정 보안
보안 주체 및 자격 증명
루트 사용자
- 계정 처음 생성할 때 루트 사용자로 시작
- 모든 AWS 서비스 및 리소스에 대한 전체 액세스 권한 가짐
- 일반적인 업무에 사용 X
- 사용자를 추가로 생성한 후, 최소 권한의 원칙에 따라 해당 사용자에게 필요한 권한 주고 사용
- MFA 걸어놓는거 추천
AWS Identity and Access Management(IAM)
- AWS 리소스에 대한 작업 또는 운영을 요청할 수 있는 엔티티
- IAM 사용자, IAM 역할, AWS 서비스, 페더레이션 사용자
4대 구성 요소
- User -> 리눅스에서 User 만들기. Root User가 권한을 줄 수 있다.
- Group -> User를 담은 그릇. 관리가 용이하다. User는 여러 Group에 속할 수 있다. Group은 다른 Group을 포함할 수 없다.
- Policy (영구) -> 권한을 담고 있는 문서 (JSON). 어떤 일을 할 수 있는지.
- Role (임시) -> 임시 자격 증명 (한시적 권한 위임) -> 모자라고 생각. 모자는 누가 쓸 수 있고, 어떤 Policy가 있는지, 언제까지인지 적혀 있음.
IAM 사용자 (IAM User)
- 관리자, 개발자, 감사자 등 용도별로 만들기
- 기본적으로는 AWS 리소스에 접근 권한 X
- 각 사용자에게 권한을 개별적으로 배정
- ID, PW를 통해 AWS 콘솔 방식으로 접근 가능
- 프로그래밍 방식으로 접근하려면 Access Key, Secret Key 만들어서 접근
- 하나하나 권한 주는 방식 말고 그룹으로 관리 가능
IAM 역할 (IAM Role)
- 권한을 특정 사용자 또는 서비스에 위임.
- Ana, Shirley가 역할을 수임(모자를 쓴다고 생각) -> 해당 역할에서 부여되는 권한만 제공, 그룹에서 상속되는 권한은 제공되지 않음.
- AssumeRole API를 통해 역할 수임
- AWS Security Token Service (AWS STS)
- 다른 Account에도 줄 수 있음.
IAM 정책 배정
- 정책(Policy)을 User, Group에 할당
- 역할(Role)에 정책(Policy) 할당
- User, Service(ex: EC2)에 역할(Role) 주기
보안 정책
- 정책(Policy)은 자격 증명이나 리소스에 연결되어 해당 권한을
정책 요소
- Effect -> Allow, Deny로 접근 허용 거부하는지 나타냄 (필수)
- Principal (리소스 기반 정책에만 존재)
- Action -> 정책이 허용하거나 거부하는 작업 목록 포함 (필수)
- Resouce -> 작업이 적용되는 리소스 정의 (필수)
- Condition -> 정책이 권한을 부여하는 상황 지정
EPARC
정책 유형
- 자격 증명 기반 정책
- 리소스 기반 정책
- AWS Organization 서비스 제어 정책(SCP)
자격 증명 기반 정책
- 관리형 정책
- AWS 관리형 정책 (AmazonEC2FullAccess, AmazonEC2ReadOnlyAccess 등 정해져 있음)
- 고객 관리형 정책 -> 고객이 AWS 계정에서 생성하고 관리하는 관리형 정책. 고객 관리형 정책은 AWS 관리형 정책보다 더 정밀하게 정책을제어.
- 인라인 정책 -> 단일 사용자, 그룹 또는 역할에 직접 추가하는 정책
거부 우선의 교집합이다. 단 한명이라도 거부하면 액세스 X
리소스 기반 정책
- S3, AWS Lambda 등의 단일 리소스에 연결됨
- 현재 Principal은 AWS 계정 ID인데 이걸 * 으로 바꾸면 인터넷 접근 가능
다중 계정 관리
AWS Organization
- 계정을 조직 단위(OU)로 그룹화하여 계층 구조 생성
- 서비스 제어 정책(SCP)를 적용하여 OU에 속한 모든 계정의 최대 권한 제어
- Group은 Group을 포함할 수 없지만, OU는 OU를 포함할 수 있음
- 구성원 통합 결제
- 모든 AWS 계정 중앙 관리, 제어
- 둘다 허용해야 사용 가능
- Root User 하나면 IAM User 만들고 Group으로 관리
- Root User 여러개를 관리해야 할 경우 Organization Unit 만들고 SCP로 권한 제어