본문 바로가기

Minding's Programming/AWS

[AWS] IAM

728x90
반응형

IAM

AWS IAM(Identity and Access Management)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다. IAM을 사용해 리소스를 사용하도록 인증(로그인) 및 권한 부여된 대상을 제어할 수 있다. 즉, 각 계정의 역할을 관리한다.

 

AWS 계정 생성 시 해당 계정의 모든 AWS 서비스와 리소스에 완전한 액세스 권한이 있는 단일 로그인 ID로 시작한다.(=루트 계정) 이 때 생성 시 사용한 이메일 주소와 암호로 로그인해 액세스 한다. 하지만 일상적인 작업 시 이 루트 계정을 사용하는 것은 추천하지 않는다.

 

IAM의 특징

  • AWS 계정에 대한 공유
  • 세분화된 권한
  • Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스
  • 멀티 팩터 인증(MFA)
  • ID 페더레이션
  • 보장을 위한 자격 증명 정보
  • PCI DSS 준수
  • 많은 AWS 서비스와의 통합
  • 최종 일관성
  • 무료 사용

IAM 정책

IAM은 각 개인 또는 그룹에 부여된 정책에 따라 권한의 유무를 판단한다.

출처: AWS 공식 문서
출처: AWS 공식 문서

예를 들어 어떤 사용자가 S3에 접근하고자 한다면, 아래 단계로 권한 유무를 판단한다.

  1. 해당 사용자에게 S3 이용 정책이 부여되었는지 확인
  2. 해당 사용자가 속한 그룹에 정책이 부여되었는지 확인
  3. 해당 사용자에게 위임된 역할에 정책이 부여되었는지 확인
  4. 위 3가지에 모두 해당되지 않으면 권한이 없는 것으로 판단

 

IAM 설정

사용자 계정 추가

루트 계정으로 접속한 뒤 IAM의 사용자 항목으로 진입하면 사용자를 생성할 수 있다.

 

위와 같이 세부 정보, 권한 설정(또는 그룹 설정)을 통해 사용자를 생성할 수 있다. 사용자 생성 뒤 해당 사용자에 대한 ID와 암호가 노출되는데, 이를 이메일을 통해 해당 사용자에게 전송하거나 저장해야 한다. 이 화면 이후에는 또 다시 볼 기회가 없기 때문이다.

 

정책 커스텀 설정

여러가지 기본 정책을 하나로 묶어 일종의 커스텀화를 할 수도 있다.

IAM - 정책 항목으로 진입해 '정책 생성'을 클릭한다.

 

위와 같이 CloudFront 내에서 어떤 정책에 대해서 허용할 것인지 선택해 이 것 자체를 정책으로 생성할 수 있다. 또는 특정 서비스에 대한 모든 권한을 추가하는 정책을 새로 만들 수도 있을 것이다.

 

역할

역할은 마치 '팀장'처럼 권한을 해당 '역할'자체에 두는 것이다. 해당 역할을 가지게 된 사용자는 그 역할에 대한 권한을 사용할 수 있다. 또한 이 역할은 다른 사용자에게 주거나 역할을 해제할 수도 있다. 역할을 사용하여 일반적으로 AWS 리소스에 액세스할 수 없는 사용자, 애플리케이션 또는 서비스에 액세스 권한을 위임할 수 있다.

 

 

 

728x90

'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