2020. 12. 22. 22:24ㆍ개발/AWS
개요
IAM에 대해 공부한 내용을 정리해보려고 한다.
IAM이란?
AWS에서는 수많은 리소스들이 존재한다. 이를 단일 계정 또는 단일 권한으로 관리한다는 것은 큰 위협이 될 것이다.
따라서 이 리소스들에 대해서 적합한 인증 + 인가 받은 유저 또는 그룹, 정책들을 관리하기 위한 시스템이라고 볼 수 있다.
Key features
- Share access to your AWS account
- Permission을 적절하게 다른 계정에게 할당하여, resource에 접근할 수 있게 도와준다.
- Granular permissions
- 적합한 유저 또는 리소스에게 다른 permission을 할당해줄 수 있다.
- 이렇게 될 경우 하나의 유저 계정이 노출되더라도 시스템 전체에 문제가 생길 수 있는 위험을 최소화할 수 있다.
- Secure access support
- 자체 credential을 통해서 안전하게 접근이 가능하다.
- Multi-factor authentication (MFA)
- two-factor authentication을 지원한다.
- Identity federation
- 여러 회사에서 AWS를 사용하고 있고, 협업이 필요할 때, 기존의 AWS 계정을 통해 다른 회사로 임시로 접근할 수 있게 도와준다.
- PCI DSS Compilance
- PCI DSS 규격에 맞는 신용카드 암호화를 제공한다.
- Integrated with many AWS services
- 이건 당연하겠지만, 다양한 AWS service들과 호환된다.
- 주의할 점은 몇가지 IAM에서 제공되는 feature들이 호환이 되지 않을 수 있다.
- docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html
- Eventually Consistent
- IAM은 HA를 위해서 multi server로 관리되어 있고, eventually consistent 방식으로 consistency를 유지한다.
구조
용어
- Resources
- user, group, role, policy, identity provider object를 의미
- user의 경우 root 유저를 통해서 권한을 위임받는 형태로 되어 있다.
- 절대 어플리케이션이나 서비스에서 root user를 쓰면 안된다.
- Identities
- 인가를 관리하는 특별한 resource
- policy를 붙여넣을 수 있다.
- 또한 user, group, role을 포함한다.
- Entities
- 인증을 관리하는 resource
- user, federated user, IAM role이 포함되어 있다.
- Principal
- AWS에 로그인하고 요청하는 사람 또는 어플리케이션을 의미한다.
실습
1. 사용자 계정 발급
먼저 console을 통해서 IAM에 접근해보자.
다음과 같이 리소스를 볼 수 있다.
좌측의 access 관리 => 사용자에 들어가 보면 사용자 추가버튼이 있다.
아래와 같이 여러가지 옵션을 통해서 계정을 생성할 수 있다.
되도록이면 비밀번호 재설정을 키고, 다음 로그인시에 새 비밀번호를 생성하는 것이 좋다.
그리고 다음을 누르면 사용자를 기존에 있던 그룹에 추가하거나 또는 권한 복사 또는 정책에 직접 연결해서 권한을 할당할 수 있다.
추가적으로 권한 경계를 설정하여 해당 유저가 가질 수 있는 최대 권한을 지정할 수 있다.
마지막으로 발급된 정보를 기준으로 메일을 보내거나 또는 그 즉시 로그인이 가능하다.
보면 root 권한으로 로그인을 하는 것이 아니라 새 비밀번호 설정 후 접근이 가능하게 된다.
후기
처음엔 AWS를 사용해보지 않아서 모든게 낯설었지만 금방 이해할 수 있게 잘 만들어진 것 같다.
정책들을 그룹 또는 복사를 통해서 바인딩을 통해서 보안 이슈를 최소화 하는 것이 인상 깊었고,
정책과 권한을 통해서 리소스들도 접근 제어를 할 수 있다는 부분이 편리했다.
앞으로 시스템을 차근차근 구축해보면서 이용해봐야겠다.
출처
docs.aws.amazo n.com/IAM/latest/UserGuide/intro-structure.htmldocs.aws.amazon.com/IAM/latest/UserGuide/introduction.htmldocs.aws.amazon.com/IAM/latest/UserGuide/introduction.html
'개발 > AWS' 카테고리의 다른 글
AWS - EC2 생성해보기 (0) | 2020.12.27 |
---|---|
AWS Region 그리고 AZ란 (0) | 2020.12.17 |
AWS EKS 접근 설정하기 (2) | 2020.12.07 |