액세스 관리 개요: 권한 및 정책 - AWS Identity and Access Management

액세스 관리 개요: 권한 및 정책

AWS Identity and Access Management(IAM)의 액세스 관리를 통해 계정에서 보안 주체 엔터티에 허용된 권한을 정의할 수 있습니다. 보안 주체 엔터티란 IAM 엔터티(사용자 또는 역할)을 사용하여 인증된 사람 또는 애플리케이션입니다. 액세스 관리를 흔히 권한 부여라고 합니다. 정책을 생성하고 IAM 자격 증명(사용자, 사용자 그룹 또는 역할) 또는 AWS 리소스에 연결하여 AWS에서 액세스를 관리합니다. 정책은 자격 증명이나 리소스와 연결될 때 해당 권한을 정의하는 AWS의 객체입니다. AWS는 IAM 엔터티(사용자 또는 역할)가 요청을 보낼 때 이러한 정책을 평가합니다. 정책에서 권한은 요청이 허용되거나 거부되는지 여부를 결정합니다. 대부분의 정책은 AWS에 JSON 문서로서 저장됩니다. 정책 유형 및 활용에 대한 자세한 정보는 정책 및 권한 단원을 참조하십시오.

정책 및 계정

AWS에서 하나의 계정을 관리하려면 정책을 사용하여 해당 계정 내 권한을 정의합니다. 여러 계정 전반의 권한을 관리하고자 한다면 사용자에 대한 권한을 관리하기가 더 어렵습니다. 교차 계정 권한에 대해 IAM 역할, 리소스 기반 정책 또는 액세스 제어 목록(ACL)을 사용할 수 있습니다. 하지만 여러 계정을 소유하는 경우에는 이러한 권한을 쉽게 관리할 수 있도록 ACL 대신에 AWS Organizations 서비스를 사용하는 것이 좋습니다. 자세한 정보는 조직 사용 설명서AWS Organizations(이)란 무엇입니까? 단원을 참조하십시오.

정책 및 사용자

IAM 사용자는 서비스의 자격 증명입니다. IAM 사용자를 생성할 경우, 권한을 부여하지 않는 한 사용자는 계정 내에서 어떠한 것으로도 액세스할 수 없습니다. 사용자 또는 사용자가 속한 그룹에 연결된 정책인 자격 증명 기반 정책을 생성하여 사용자에게 권한을 부여합니다. 다음 예는 사용자가 us-east-2 리전 내의 123456789012 계정에서 Books 테이블의 모든 Amazon DynamoDB 작업(dynamodb:*)을 수행할 수 있도록 허용하는 JSON 정책을 보여 줍니다.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:123456789012:table/Books" } }

이 정책을 IAM 사용자에게 연결한 후에는 해당 사용자가 이러한 DynamoDB 권한만 부여받습니다. 대부분의 사용자는 해당 사용자의 권한을 함께 나타내는 여러 정책을 부여받습니다.

명시적으로 허용되지 않은 작업 또는 리소스는 기본적으로 모두 거부됩니다. 예를 들어 앞서 다룬 정책이 사용자에게 연결된 유일한 정책이라면 이 사용자는 Books 테이블에 대한 DynamoDB 작업만 수행할 수 있습니다. 다른 모든 테이블에 대한 작업은 금지됩니다. 마찬가지로 사용자는 Amazon EC2, Amazon S3 또는 기타 다른 AWS 서비스의 어떠한 작업도 수행할 수 없습니다. 그 이유는 권한 정책이 함께 작업할 이러한 서비스는 정책에 포함되지 않기 때문입니다.

IAM 콘솔에는 정책에서 각 서비스에 대해 허용되거나 거부되는 액세스 레벨, 리소스, 조건을 설명하는 정책 요약 테이블이 포함되어 있습니다. 정책은 3가지 테이블, 즉 정책 요약, 서비스 요약, 작업 요약으로 요약됩니다. 정책 요약 테이블에는 서비스 목록이 포함되어 있습니다. 서비스 요약을 보려면 여기서 서비스를 선택합니다. 이 요약 테이블에는 작업 목록과 선택한 서비스에 대해 연결된 권한이 포함되어 있습니다. 해당 테이블에서 작업을 선택하여 작업 요약을 볼 수 있습니다. 이 테이블에는 리소스 목록과 선택한 작업에 대한 조건이 포함되어 있습니다.


        3가지 테이블과 관계를 보여 주는 정책 요약 다이어그램 이미지

사용자 페이지에서 해당 사용자에게 연결된 모든 정책(관리형 및 인라인)에 대한 정책 요약을 볼 수 있습니다. 정책 페이지에서 모든 관리형 정책에 대한 요약을 봅니다.

예를 들어 위 정책은 AWS Management 콘솔에 다음과 같이 요약됩니다.


        DynamoDB 요약 예

정책의 JSON 문서도 볼 수 있습니다. 요약 또는 JSON 문서를 보는 방법에 대한 자세한 정보는 정책에 의해 부여된 권한 이해 단원을 참조하십시오.

정책 및 그룹

IAM 사용자를 IAM 그룹으로 구성하고 그룹에 정책을 연결할 수 있습니다. 이 경우 각 사용자는 별도의 자격 증명을 갖고 있지만 그룹에 연결된 정책에 명시된 권한이 그룹 내 모든 사용자에게 부여됩니다. 그룹을 사용하여 간편하게 권한을 관리하고 IAM의 보안 모범 사례에 따를 수 있습니다.


        사용자를 그룹으로 구성하면 해당 그룹에 지정된 권한이 각 사용자에게 부여되므로 간편하게 권한을 관리할 수 있습니다.

사용자 또는 그룹에 여러 정책을 연결하여 다양한 권한을 부여할 수 있습니다. 이 경우 사용자의 권한은 각 정책의 조합으로 계산됩니다. 그러나 개별 작업 및 리소스에 대한 권한을 명시적으로 부여해야 사용자가 해당 권한을 가지게 되는 기본 원칙은 여전히 적용됩니다.

연동 사용자 및 역할

연동 사용자에게는 IAM 사용자처럼 AWS 계정에서 영구적인 ID가 부여되지 않습니다. 연동 사용자에게 권한을 부여하려면 역할이라고 하는 개체를 만들어 해당 역할의 권한을 정의할 수 있습니다. 연동 사용자가 AWS에 로그인하면 사용자가 역할과 연결되고 역할에 정의된 권한이 부여됩니다. 자세한 정보는 타사 자격 증명 공급자의 역할 만들기(연동) 단원을 참조하십시오.

자격 증명 기반 정책 및 리소스 기반 정책

자격 증명 기반 정책은 IAM 사용자, 그룹 또는 역할과 같은 IAM 자격 증명에 연결할 수 있는 권한 정책입니다. 리소스 기반 정책은 Amazon S3 버킷 또는 IAM 역할 신뢰 정책과 같은 리소스에 연결하는 권한 정책입니다.

자격 증명 기반 정책은 자격 증명이 수행할 수 있는 작업, 대상 리소스 및 이에 관한 조건을 제어합니다. 자격 증명 기반 정책을 추가로 분류할 수 있습니다.

  • 관리형 정책 – AWS 계정에 속한 다수의 사용자, 그룹 및 역할에게 독립적으로 연결할 수 있는 자격 증명 기반 정책입니다. 사용할 수 있는 관리형 정책은 두 가지가 있습니다.

    • AWS 관리형 정책 – AWS에서 생성 및 관리하는 관리형 정책입니다. 정책 사용이 처음이라면 AWS 관리형 정책 사용을 먼저 권장합니다.

    • 고객 관리형 정책 – 사용자가 자신의 AWS 계정에서 생성 및 관리하는 관리형 정책입니다. 고객 관리형 정책은 AWS 관리형 정책보다 정책에 대해 더욱 정밀하게 제어할 수 있습니다. 시각적 편집기에서 또는 JSON 정책 문서를 직접 생성하여 IAM 정책을 생성 및 편집할 수 있습니다. 자세한 정보는 IAM 정책 만들기IAM 정책 편집을(를) 참조하십시오.

  • 인라인 정책 – 자신이 생성 및 관리하며, 단일 사용자, 그룹 또는 역할에 직접 포함되는 정책입니다. 대부분의 경우 인라인 정책을 사용하지 않는 것이 좋습니다.

리소스 기반 정책은 지정된 보안 주체가 해당 리소스에 대해 수행할 수 있는 작업 및 이에 관한 조건을 제어합니다. 리소스 기반 정책은 인라인 정책이며, 관리형 리소스 기반 정책은 없습니다. 교차 계정 액세스를 활성화하려는 경우 전체 계정이나 다른 계정의 IAM 엔터티를 리소스 기반 정책의 보안 주체로 지정할 수 있습니다.

IAM 서비스는 역할 신뢰 정책이라고 하는 리소스 기반 정책 유형 하나만 지원하며, 이 유형은 IAM 역할에 연결됩니다. IAM 역할은 리소스 기반 정책을 지원하는 자격 증명이자 리소스이므로 신뢰 정책과 자격 증명 기반 정책 모두 IAM 역할에 연결해야 합니다. 신뢰 정책은 역할을 수임할 수 있는 보안 주체 엔터티(계정, 사용자, 역할 및 연합된 사용자)를 정의합니다. IAM 역할과 다른 리소스 기반 정책 간의 차이에 대해 알아보려면 IAM 역할과 리소스 기반 정책의 차이 단원을 참조하십시오.

리소스 기반 정책을 지원하는 서비스를 보려면 IAM로 작업하는 AWS 서비스 단원을 참조하십시오. 리소스 기반 정책에 대해 자세히 알아보려면 자격 증명 기반 정책 및 리소스 기반 정책 단원을 참조하십시오.