IAM
AWS IAM(Identity and Access Management)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다. IAM을 사용해 리소스를 사용하도록 인증(로그인) 및 권한 부여된 대상을 제어할 수 있다. 즉, 각 계정의 역할을 관리한다.
AWS 계정 생성 시 해당 계정의 모든 AWS 서비스와 리소스에 완전한 액세스 권한이 있는 단일 로그인 ID로 시작한다.(=루트 계정) 이 때 생성 시 사용한 이메일 주소와 암호로 로그인해 액세스 한다. 하지만 일상적인 작업 시 이 루트 계정을 사용하는 것은 추천하지 않는다.
IAM의 특징
- AWS 계정에 대한 공유
- 세분화된 권한
- Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스
- 멀티 팩터 인증(MFA)
- ID 페더레이션
- 보장을 위한 자격 증명 정보
- PCI DSS 준수
- 많은 AWS 서비스와의 통합
- 최종 일관성
- 무료 사용
IAM 정책
IAM은 각 개인 또는 그룹에 부여된 정책에 따라 권한의 유무를 판단한다.
예를 들어 어떤 사용자가 S3에 접근하고자 한다면, 아래 단계로 권한 유무를 판단한다.
- 해당 사용자에게 S3 이용 정책이 부여되었는지 확인
- 해당 사용자가 속한 그룹에 정책이 부여되었는지 확인
- 해당 사용자에게 위임된 역할에 정책이 부여되었는지 확인
- 위 3가지에 모두 해당되지 않으면 권한이 없는 것으로 판단
IAM 설정
사용자 계정 추가
루트 계정으로 접속한 뒤 IAM의 사용자 항목으로 진입하면 사용자를 생성할 수 있다.
위와 같이 세부 정보, 권한 설정(또는 그룹 설정)을 통해 사용자를 생성할 수 있다. 사용자 생성 뒤 해당 사용자에 대한 ID와 암호가 노출되는데, 이를 이메일을 통해 해당 사용자에게 전송하거나 저장해야 한다. 이 화면 이후에는 또 다시 볼 기회가 없기 때문이다.
정책 커스텀 설정
여러가지 기본 정책을 하나로 묶어 일종의 커스텀화를 할 수도 있다.
IAM - 정책 항목으로 진입해 '정책 생성'을 클릭한다.
위와 같이 CloudFront 내에서 어떤 정책에 대해서 허용할 것인지 선택해 이 것 자체를 정책으로 생성할 수 있다. 또는 특정 서비스에 대한 모든 권한을 추가하는 정책을 새로 만들 수도 있을 것이다.
역할
역할은 마치 '팀장'처럼 권한을 해당 '역할'자체에 두는 것이다. 해당 역할을 가지게 된 사용자는 그 역할에 대한 권한을 사용할 수 있다. 또한 이 역할은 다른 사용자에게 주거나 역할을 해제할 수도 있다. 역할을 사용하여 일반적으로 AWS 리소스에 액세스할 수 없는 사용자, 애플리케이션 또는 서비스에 액세스 권한을 위임할 수 있다.
'Minding's Programming > AWS' 카테고리의 다른 글
[AWS] CI / CD (CodeCommit, CodeBuild, CodeDeploy, CodePipeline) (2) | 2024.10.25 |
---|---|
[AWS] S3 (0) | 2024.10.25 |
[AWS] VPC (1) | 2024.10.24 |
[AWS] ELB (Elastic Load Balancing) (1) | 2024.10.24 |
[AWS] CloudFront (1) | 2024.10.24 |