[AWS-SAA] IAM
1. IAM 이란Permalink
- ID 및 액세스 접근 권한을 관리
2. IAM 특징Permalink
- 기본적으로 생성된 루트 계정은 사용하거나 공유해서는 안됨(루트 계정이 아닌 IAM을 통해 계정을 생성해서 사용)
- 사용자는 조직내의 사람이며 그룹화 할 수 있다
- 그룹에는 다른 그룹이 아닌 사용자만 포함
- 사용자는 꼭 그룹에 속하지 않을 수 있고, N개의 그룹에 속할 수 있다
3. IAM 권한Permalink
- 사용자 또는 그룹의 정책이라는 JSON 문서로 관리가능
- AWS에서는 최소 권한 원칙을 권장함(사용자가 필요로 하는것보다 더 많은 권한을 부여하지 않음)
4. IAM 권한(정책) 구조Permalink
- Version: 정책 언어 버젼(항상 2012-10-17으로 고정되어 있음)
- Id: 정책에 대한 식별자(선택사항)
- Statement: 하나 이상의 개별 문(필수)
- Sid: 명령문에 대한 식별자(선택사항)
- Effect: 명령문이 액세스를 허용/거부 하는지 여부
- Principal: 이 정책이 적용된 계정/사용자/역할
- Action: 정책이 허용하거나 거부하는 작업목록
- Resource: 작업이 적용된 리소스 목록
- 예시
{ "Version": "2012-10-17", "Id": "AWSDirectConnectReadOnlyAccess", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": ["arn:aws:iam:123456:root"] }, "Action": [ "directconnect:Describe*", "directconnect:List*", "ec2:DescribeVpnGateways", "ec2:DescribeTransitGateways" ], "Resource": "*" } ] }
5. 다단계 인증 - MFAPermalink
- MFA: Multi-factor authentication.
- 사용자 이름과 암호 위에 추가 보호 계층을 추가하는 인증방법
- 가상 MFA 디바이스(구글 OTP, AWS AUTH), U2F, 하드웨어 열쇠고리
6. IAM 지침 및 모범사례Permalink
- AWS 계정 설정을 제외하고 루트 계정을 사용X
- 1인 1계정
- 사용자를 그룹에 할당하고 그룹에 권한 할당
- 강력한 암호 정책 생성(ex. 대소문자/특수문자 포함)
- MFA
- AWS 서비스에 권한을 부여하기 위한 역할 생성 및 사용
- 프로그래밍 방식 액세스(CLI/SDK)에 액세스키 사용
- IAM 자격 증명 보고서로 계정 권한 감사