IAM 기본 정리
IAM 이란?
유저를 관리하고 접근 레벨 및 권한에 대한 관리
- 접근키(Access Key), 비밀키(Secret Access Key)
- 매우 세밀한 접근 권한 부여 기능 (Granular Permission)
- 비밀번호를 수시로 변경 가능하게 해줌
-
Multi-Factor Authentication(다중 인증) 가능
- 그룹(Group)
- 유저(User)
- 역할(Role): 유저와 의미는 비슷하나 역할에 하나 혹은 다수의 정책을 지정할 수 있음, 유저마다 다양한 정책을 부여
- 정책(Policy) : 주로 JSON 형태로 되어 있는 다큐먼트, 세밀한 접근 권한을 일일히 설정하여 하나의 정책 다큐먼트를 만들 수 있음.
- 정책은 그룹, 역할에 추가시킬 수 있다. 유저에게 직접적으로 정책을 줄 수도 있지만 사용자 그룹에 대해서 줄수도 있다.
- 하나의 그룹 안에 다수의 유저가 존재 가능하다.
- 그룹에 역할 혹은 정책을 추가시키게 되면 그 안의 모든 유저에게 영향이 간다.
- IAM은 유니버셜함 → 지역 변경이 필요 없음.
User 사용자 생성
IAM > 액세스 관리 > 사용자 생성 클릭 후 사용자 이름 입력
자동 생성된 암호 선택 : 사용자 생성 후 자동 생성된 암호를 csv로 다운로드 후 닫기버튼 눌러야함. (닫은 후에는 다시 확인 불가)
2단계 : 권한 설정
권한 옵션을 선택하여 생성하는 사용자를 기존 그룹에 추가할 수 있다.
Group 그룹
생성된 그룹 정보에서 사용자 및 권한을 추가할 수 있다.
Role 역할 생성
역할 유형을 선택(AWS 서비스)을 하고, 사용할 서비스를 선택한다.
Policy 정책 생성
정책 생성 > 정책에 적용되는 서비스를 선택
여기서 액세스 수준을 선택할 수 있는데 읽기, 쓰기 모두 선택함.
아래에 리소스를 모두 선택할 수 있고, 특정 리소스를 선택할 수도 있다.
권한 목록에서 생성한 권한을 클릭 후, JSON 형태로 확인/수정 가능하다.
IAM 정책 시뮬레이터
개발환경에서 실제 환경 프로덕션으로 빌드하기 전에 IAM 정책 또는 Role들이 잘 작동되는지 테스트하기 위한 툴
IAM과 관련된 문제들을 디버깅하기에 최적화된 툴, 이미 실제로 유저에 부여된 다양한 정책들도 테스트 가능
IAM > 대시보드 > 오른쪽 메뉴에 정책 시뮬레이터 클릭
왼쪽 메뉴의 드롭다운에서 시뮬레이션 할 대상을 선택 (Users, Groups, Roles 선택 가능)
Select Service : 시뮬레이션 할 서비스 선택한다.
Select actions : 시뮬레이션할 기능들을 선택한다. (나는 Select All 클릭)
Run Simulation을 실행하면 시뮬레이션 결과로 권한이 access / denied로 나옴
시뮬레이션 한 유저에 AmazonDynamoDBReadOnlyAccess 추가 후 다시 테스트
댓글남기기