1. IAM : Identity & Access Management
Identity&Access Management의 약자로, AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다.
초기에 생성되는 Root Account는 계정 생성 시에 사용되며, User을 생성하여 사용하길 권장한다.
1-1. IAM 구성요소
- Users : 하나의 사용자는 조직 내의 한 사람에 해당하며, 사용자는 그룹으로 묶음.
- Groups : 오직 User만을 포함.
- Role : IAM 사용자가 특정 권한을 가지도록 설정하는 도구로, 역할이 필요한 사용자, 리소스 등 권한 부여
- AWS 서비스에 대한 액세스 권한 부여
- 사용자에게 권한이 없는 AWS 리소스에 대한 액세스 권한 부여
- 사용자에게 다른 계정의 리소스에 대한 액세스 권한 부여
- IAM 사용자에게 역할 부여
- 동일한 AWS 계정의 IAM 사용자에게 역할 부여
- 다른 AWS 계정의 IAM 사용자에게 역할 부여 (교차 계정 액세스)
- AWS Security Token Service (AWS STS) 사용하여 임시 보안 자격 증명을 생성
- AWS 서비스에 대한 액세스 권한 부여
1-2. IAM Permission
- Users와 Groups는 JSON 문서를 통해 정책을 부여
- 최소 권한 원칙을 부여하는 것이 중요
최소 권한 원칙으로 사용자에게 최소한의 권한만 부여하여 불필요한 접근을 막도록 한다.
1-3. IAM Inheritance
- 기본적으로 Group Level에 해당하는 정책을 설정하여 그룹 내 사용자에게 권한을 부여
- 그룹에 속해있지 않은 사용자의 경우, 인라인 정책(Inline Policy)으로 권한 설정이 가능
1-4. IAM Policy Strucutre
: IAM 정책의 문장은 다음과 같이 구성되어 있다.
- Versions : 정책 언어 버전으로 보통 "2012-10-17"이 포함.
- Id : 정책의 식별자 (선택)
- Statement : 하나 이상의 각각의 상태 (필수)
- Sid : 상태의 식별자 (선택)
- Effect : 해당 Statment가 특정 API에 접근을 허용할 것인지 지정 (Allow, Deny)
- Principal : 특정 정책이 적용될 사용자, 계정 혹은 역할로 구성
- Action : 정책이 허용/거부할 API 호출 목록
- Resource : 적용될 Action의 리소스 목록
- Condition : 해당 Statment가 언제 적용될 지 설정
{
"Version": "2012-10-17",
"Id": "S3-Account-Permission",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": ["arn:aws:iam::12341251413:root"]
},
"Action": [
"s3:GetObject",
"s3:PutObject"
},
"Resource": ["arn:aws:s3::mybucket/*"]
}
}
이러한 JSON 형식의 정책으로 User, Group, Role에 부여하여 AWS 리소스 액세스 권한을 정의
이는 글로벌 서비스임을 알아두자 !
'AWS > AWS SAA-C03' 카테고리의 다른 글
AWS Certified Solutions Architect Associate - EBS (2) | 2024.12.18 |
---|---|
AWS Certified Solutions Architect Associate - EC2 (1) | 2024.12.16 |