[AWS] IAM(Identity Access Management)
이 글은 Udemy의 AWS Certified Solutions Architect - Associate 2019 강의를 개인 학습용도로 정리한 글입니다
IAM은 AWS 콘솔에 대한 사용자와 사용자의 엑세스 레벨을 관리하도록 해준다.
IAM이 제공하는 feature
- AWS 계정의 중앙 통제
- AWS 계정에 대한 접근 공유
- 접근 제어(Granular Permission)
- Active Directory, Facebook, Linkedin 등의 계정 연동(Identity Federation)
- 다중 인증(Multifactor Authentication)
- 필요한 서비스와 계정, 장치에 대한 임시 접근 제공
- 패스워드 로테이션 정책 설정
- 다른 AWS 서비스 통합
- PCI DSS 준수 지원
IAM의 핵심 용어
- 사용자(Users) : 사용자, 직원 등 엔드유저
- 그룹(Groups) : 사용자 집합. 그룹내 유저는 그룹의 권한을 상속
- 정책(Policies) : 정책 도큐먼트라고 불리는 문서로 구성된다. 이 문서는 JSON 포맷으로 포맷으로 User/Group/Role에 대한 권한을 지정한다
- 역할(Roles) : 관리자는 역할을 생성하고 AWS 자원에 대해 역할을 지정할 수 있다
IAM에 대한 추가적인 팁
- IAM은 특정한 지역에 종속되지 않는다.
- 'root' 계정은 AWS 계정을 처음 만들때 생성되며 모든 접근에 있어 Admin 권한을 갖는다.
- 새로 생성된 사용자(User)는 권한이 없는채로 생성된다.
- 새로 생성된 사용자는 'Access Key ID'와 'Secret Access Keys'가 할당된다.
- 이것은 비밀번호와 같지 않다. Access Key ID와 Secret Access Key를 사용해 콘솔에 로그인 할 수 없으며 API와 Command Line을 통해 AWS에 접근하는데 사용할 수 있다.
- Access Key ID와 Secret Access Key는 오직 한번만 볼 수 있다. 만약 이를 잃어버린다면 새로 생성해야 한다. 그렇기 때문에 이를 안전한 공간에 저장해두는 것이 좋다.
- 항상 Multifactor Authentication을 root 계정에 설정해 두는것이 좋다.
- 패스워드 로테이션 정책을 생성하고 커스터마이징 할 수 있다.