AWS Identity and Access Management(IAM)
은 AWS 리소스에 대한 액세스
를 안전하게 제어
할 수 있는 웹 서비스입니다. IAM을 사용하여 리소스를 사용하도록 인증(로그인)
및 권한 부여
(권한 있음)된 대상을 제어합니다.
AWS 계정을 생성
할 때는 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한
이 있는 단일 로그인 ID
로 시작합니다. 이 자격 증명은 AWS 계정 루트 사용자라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인하여 액세스합니다. 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장합니다. 루트 사용자 보안 인증 정보를 보호하고 루트 사용자만 수행할 수 있는 작업을 수행하는 데 사용합니다.
암호나 액세스 키를 공유하지 않고도 AWS 계정의 리소스를 관리하고 사용할 수 있는 권한을 다른 사람에게 부여
할 수 있습니다.
리소스에 따라
여러 사람에게 다양한 권한을 부여할 수 있습니다. 예를 들어 일부 사용자에게 Amazon Elastic Compute Cloud(Amazon EC2
), Amazon Simple Storage Service(Amazon S3
), Amazon DynamoDB
, Amazon Redshift
및 기타 AWS 서비스에 대한 완전한 액세스를 허용할 수 있습니다. 다른 사용자에게는 일부 S3 버킷에 대한 읽기 전용
권한, 일부 EC2 인스턴스
를 관리할 수 있는 권한 또는 결제 정보에만 액세스
할 수 있는 권한을 허용할 수 있습니다.
EC2 인스턴스에서 실행되는 애플리케이션의 경우 IAM 기능을 사용하여 자격 증명을 안전하게 제공할 수 있습니다. 이러한 자격 증명은 애플리케이션에 다른 AWS 리소스에 액세스할 수 있는 권한을 제공합니다. 예를 들면 이러한 리소스에는 S3 버킷
및 DynamoDB 테이블
이 있습니다.
보안 강화를 위해 계정과 개별 사용자에게 2팩터 인증
을 추가할 수 있습니다. MFA를 사용할 경우 계정 소유자나 사용자가 계정 작업을 위해 암호나 액세스 키
뿐 아니라 특별히 구성된 디바이스의 코드
도 제공해야 합니다. 이미 다른 서비스와 함께 FIDO 보안 키
를 사용하고 있으며 FIDO 보안 키의 구성에 AWS가 지원되는 경우.
FIDO 보안키 이런식으로 따로 MFA를 위한 USB를 말함
기업 네트워크나 인터넷 자격 증명 공급자와 같은 다른 곳에 이미 암호가 있는 사용자에게 AWS 계정에 대한 임시 액세스 권한
을 부여할 수 있습니다.
즉 안전하다고 확인된 곳에서 인증을 받은 내용을 가지고 접근을 허용하는 기능이라고 보면됨
사용자를 생성하기 전에 IAM 작동 방식을 이해해야 합니다. IAM은 계정에 대한 인증
및 권한
부여를 제어하는 데 필요한 인프라를 제공합니다. IAM 인프라에는 다음 요소가 포함되어 있습니다.
IAM에 저장된 사용자
, 그룹
, 정책
및 자격 증명 공급자 객체
. 다른 AWS 서비스와 마찬가지로 IAM에서 리소스를 추가
, 편집
및 제거
할 수 있습니다.
식별 및 그룹화에 사용되는 IAM 리소스 객체입니다. 정책을 IAM 자격 증명에 연결할 수 있습니다. 여기에는 사용자
,그룹
및 역할
이 포함됩니다.
AWS가 인증에 사용하는 IAM 리소스 객체입니다. 여기에는 IAM 사용자 및 역할이 포함됩니다.
AWS 계정 루트 사용자, IAM 사용자 또는 IAM 역할을 사용하여 로그인하고 AWS에 요청하는 사람 또는 애플리케이션입니다. 보안 주체에는 페더레이션 사용자 및 수임된 역할이 포함됩니다.
ABAC(속성 기반 액세스 제어)
는 속성을 기반
으로 권한을 정의하는 권한 부여 전략입니다. AWS에서는 이러한 속성을 태그
라고 합니다. IAM 엔터티
(사용자 또는 역할)와 AWS 리소스에 태그를 연결
할 수 있습니다. IAM 보안 주체에 대해 단일 ABAC 정책 또는 작은 정책 세트를 생성할 수 있습니다. 이러한 ABAC 정책은 보안 주체의 태그가 리소스 태그와 일치
할 때 작업을 허용
하도록 설계될 수 있습니다. ABAC는 빠르게 성장하는 환경에서 유용
하며 정책 관리가 번거로운 상황에 도움이 됩니다.
예를 들어, access-project 태그 키
를 사용하여 세 개의 역할을 생성할 수 있습니다. 첫 번째 역할의 태그 값을 Heart
로, 두 번째 역할의 태그 값을 Sun
으로, 세 번째 역할의 태그 값을 Lightning
으로 설정합니다. 그런 다음 역할과 리소스에 access-project에 대해 동일한 값으로 태그를 지정할 때 액세스를 허용하는 단일 정책을 사용할 수 있습니다. AWS에서 ABAC를 사용하는 방법을 보여 주는 자세한 자습서는 IAM 튜토리얼: 태그를 기반으로 AWS 리소스에 액세스할 수 있는 권한 정의 단원을 참조하십시오. ABAC를 지원하는 서비스에 대해 알아보려면 AWS IAM으로 작업하는 서비스을 참조하세요.