작성일 : 2022-04-04
수정일 : 2022-12-10 (Advanced IAM 관련된 내용 수정)
IAM은 Identity and Access Managemtn로 직역하면 ID 및 사용자 관리 를 담당하고 있는 서비스입니다.
IAM을 통해서 새로운 유저 및 유저 그룹을 생성할 수 있다.
접근키(Access Key), 비밀키(Secret Access Key)를 발급받고 제공할 수 있으며, 특정 유저 및 그룹에게 Role 및 Policy를 제공할 수 있습니다.
IAM에 익숙하지 않을 때는 Managed Policy를 사용하되, 여러 가지 AWS 솔루션(보안, 성능 다양한...)을 따라하며 서비스를 구현하다보면 Resource Principal, Condition 등을 하나하나 설정하면서 Customer Policdy로 변형되게 됩니다.
기능 | 설명 |
---|---|
Access Key | 접근키 설정 가능 |
Secret Access Key | 비밀키 설정 가능 |
Granular Permission | 세밀한 접근 권한 부여 가능 |
User PW chainge sup. | 수시로 비밀번호 변경 가능 |
Multi-Factor Authentication | 다중 인증 가능 |
추가적으로, IAM 은 Universal (전역적인) 특징을 가지고 있다.
구성요소 | 설명 |
---|---|
Group | 하나 혹은 그 이상의 User를 포함한다. |
User | 사용자 계정 |
Role | 유저에 하나 혹은 그 이상의 Policy 를 포함한다. |
Policy | *.json 으로 다양한 policy 를 설정할 수 있다. |
IAM Policy 가 의도한 대로 잘 작동하는지 테스트하는 도구입니다.
이러한 Policy는 크게 3가지 유형이 존재합니다.
유저 그룹에 직접 Policy를 심어주게 됩니다.
1:1 관계로 연결이 되며, 서로 종속적인 관계가 됩니다.
즉, 유저 및 그룹 삭제 시 Inline Policy 역시 삭제됩니다.
이러한 InlinePolicy는 기본 정책 직접 연결등에서 확인할 수 없습니다.
AWS에서 생성되고 관리되어 지는 Policy
N:1 관계로 다수의 유저 및 그룹에 유연하게 연결이 가능합니다.
Managed Policy는 삭제 및 수정이 불가능합니다
AmazonS3FUllAccess등이 이에 해당합니다.
AWS 사용자들이 직접 만든 새로운 Policy
기존에 존재하는 Manged Policy를 기반으로 요구사항에 맞게 수정하여 사용합니다.