IAM(Identity and Access Management)
- AWS 계정 및 권한 관리 서비스
- AWS 서비스와 리소스에 대한 액세스 관리
- 사용자, 그룹, 역할, 정책으로 구성
- 리전에 속하는 서비스가 아닌 글로벌 서비스
- 계정 보안 강화를 위해 루트 계정은 최초 사용자 계정 생성 이후 가능하면 사용하지 말 것
- 사용자 계정으로 서비스를 사용하고 필요한 최소한의 권한만 부여(최소 권한의 원칙)
- 루트 계정과 개별 사용자 계정에 강력한 암호 정책과 멀티팩터 인증(MFA) 적용
- 사용자 암호에 대한 복잡성 요구 사항과 의무 교체 주기를 정의
IAM 액세스 관리
- 사용자(User): 사람, ID, 계정
- 그룹(Group): 사용자의 모음
- 역할(Role): AWS 리소스에서 사용하는 자격 증명(예: EC2에서 실행되는 앱이 S3, RDS와 같은 AWS 리소스에 액세스하는 권한)
- 정책(Policy): 사용자, 그룹, 역할에 대한 권한 정의 JSON 문서 형식으로 구성
IAM 기초 실습
- 보안 자격 증명 - MFA 이용해 보안을 강화할 수 있음
- 사용자 추가, 그룹 생성 메뉴
- 그룹에 미리 설정되어 있는 정책 리스트에서 정책을 선택하여 연결
- 정책은 JSON 형태이며 어떤 권한을 설정하는 지 명시되어 있음
- 그룹에 사용자가 속하고, 해당 그룹에 정책(특정 권한)이 부여
- IAM 사용자를 위한 임의의 로그인 URL이 있고, 별칭을 설정해 custom URL을 설정할 수 있음
- 이 URL로 들어가 설정한 사용자 이름과 비밀번호를 이용해 서비스를 이용할 수 있음
- 일반 주소로 들어가도 'IAM 사용자'를 선택해 로그인할 수 있음
- 계정 ID나 별칭, 비밀번호를 입력하여 로그인
- 정책 중 Admin 권한은 AWS 모든 서비스를 이용할 수 있음
IAM - 정책
- AWS 리소스에 대한 액세스 권한을 정의한 것
- 사용자, 그룹, 역할에 정책을 연결하여 사용
- JSON 형식
- Effect: Statement에 대한 Access 또는 Deny
- Action: 권한에 대한 작업 목록
- Resource: 권한이 적용되는 리소스
- Condition: 정책이 적용되는 세부 조건(옵션 - 예: 특정 리전, 특정 IP)
- 특별한 명시 없이 * 표시는 모든 항목을 나타냄
- 정책이 명시되지 않은 경우 모든 요청이 거부(Deny)
- StringNotEquals - string으로 표현되는 특정 항목을 제외할 때 이용
IAM - 권한 경계(Permission Boundary)
- IAM 사용자 또는 역할에 최대 권한을 제한하는 기능
- 사용자 > 권한 > 권한 추가 > 기존 정책 직접 연결 > 정책 선택(EC2FullAccess)
- 실제로 EC2 인스턴스 생성하여 해당 권한 가지는 지 확인
- 사용자 창에서 Permission Boundary > 경계 설정 선택 > EC2ReadOnlyAccess
- 인스턴스 생성, 삭제는 안되는 것 확인
- 경계를 제거하면 다시 인스턴스 생성, 삭제 가능한 것 확인
- 정책을 생성하여 사용할 수도 있음
- 시각적 편집기나 JSON 형태로 생성 가능
- 시각적 편집기로 편집하면 JSON으로 변환됨
IAM - 역할
- AWS 리소스에서 사용하는 자격 증명
- 특정 AWS 서비스가 다른 서비스에 액세스하여 작업을 수행할 때 필요한 권한
- 정책을 연결하여 IAM 역할에 작업 수행에 필요한 권한을 부여
IAM - 역할(신뢰정책)
- IAM 역할을 사용하여 AWS 계정 간 액세스 권한 위임을 하는 기능
- 신뢰 정책(Trust Policy)을 사용하여 다른 AWS 계정에 역할을 위임할 수 있음
IAM 역할 실습
- IAM > 역할 > 역할 생성
- 신뢰할 수 엔터티 > AWS 서비스
- 서비스 선택 > 다음
- 권한 검색 또는 선택하여 추가(체크), 여러 개 가능
- 역할 이름 설정 > 역할 생성
- 서비스 창(예: EC2) > 고급 세부 정보 > IAM 인스턴스 프로파일 에서 생성한 역할 선택
- 해당 서비스에서는 만든 역할에 포함된 사용자가 서비스를 사용할 수 있음
IAM 보안 도구(Security Tools)
- IAM 자격 증명 보고서(Credential Report)
- 계정의 모든 사용자와 암호, 액세스 키, MFA 디바이스 등의 자격 증명 상태에 대한 보고서를 다운로드
- IAM 액세스 관리자(Access Advisor)
- 사용자 또는 역할이 허용된 서비스에 마지막으로 액세스하려고 시도한 시간을 표시
- 이 정보를 사용해 필요 이상으로 부여된 권한을 재정의하는 데 참고 가능
IAM 보안 도구 실습
- IAM > 자격 증명 보고서 > 파일 다운로드 > 활동 내역 확인
- IAM > 사용자 > 사용자 클릭 > 액세스 관리자 > 어떤 서비스에 언제 마지막으로 액세스 했는 지 확인 가능
- IAM > 역할 > 역할에 대한 액세스 내역 확인
IAM Policy Simulator
- AWS 계정의 IAM 사용자, 사용자 그룹 또는 역할에 연결된 정책을 테스트
- https://policysim.aws.amazon.com
'🟡 Ops' 카테고리의 다른 글
AWS Solutions Architect Associate(SAA-C03) 기출문제 정리 - 02 (0) | 2023.12.19 |
---|---|
AWS Solutions Architect Associate(SAA-C03) 기출문제 정리 - 01 (0) | 2023.12.18 |
[AWS] 확장성(Scalability)과 가용성(Availability) (0) | 2023.08.20 |
[AWS] EC2 인스턴스 시작하기 (0) | 2023.07.16 |
[AWS] 비용 관리(Budgets, Cost Explorer)와 리전(Region) (0) | 2023.06.18 |
댓글