자격 증명 기반 정책 및 리소스 기반 정책 - AWS Identity and Access Management

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

정책은 자격 증명 또는 리소스에 연결될 때 해당 권한을 정의하는 AWS의 객체입니다. 리소스에 대한 액세스를 제한하는 권한 정책을 생성할 때 자격 증명 기반 정책 또는 리소스 기반 정책을 선택할 수 있습니다.

자격 증명 기반 정책은 IAM 사용자, 그룹 또는 역할에 연결됩니다. 이러한 정책으로 자격 증명이 수행할 수 있는 작업(권한)을 지정할 수 있습니다. 예를 들어, John이라는 IAM 사용자에게 Amazon EC2 RunInstances 작업을 수행하도록 허용하는 정책을 연결할 수 있습니다. 이 정책은 John이 MyCompany이라는 Amazon DynamoDB 테이블에서 항목을 가져오도록 허용되었다는 내용도 명시할 수 있습니다. 또한 John에게 자신의 IAM 보안 자격 증명을 관리하도록 허용할 수도 있습니다. 자격 증명 기반 정책은 관리형 권한 또는 인라인 권한이 될 수 있습니다.

리소스 기반 정책은 리소스에 연결됩니다. 예를 들어, 리소스 기반 정책을 Amazon S3 버킷, Amazon SQS 대기열, VPC 엔드포인트, AWS Key Management Service 암호화 키, Amazon DynamoDB 테이블 및 스트림에 연결할 수 있습니다. 리소스 기반 정책을 지원하는 서비스 목록은 AWS IAM으로 작업하는 서비스 섹션을 참조하세요.

리소스 기반 정책을 사용하면 이러한 리소스에 액세스할 수 있는 대상 및 해당 대상이 리소스에서 수행할 수 있는 작업을 지정할 수 있습니다. 해당 신뢰 영역(신뢰할 수 있는 조직 또는 계정) 외의 계정 내 보안 주체가 역할을 수임하는 권한이 있는지 자세히 알고 싶다면, IAM Access Analyzer란 무엇일까요?를 참조하세요. 리소스 기반 정책은 인라인만 있고 관리형은 없습니다.

참고

리소스 기반 정책은 리소스 수준 권한과 다릅니다. 이 주제에서 설명한 바와 같이 리소스 기반 정책을 리소스에 직접 연결할 수 있습니다. 리소스 수준 권한이란 ARN을 사용하여 정책에서 개별 리소스를 지정하는 기능을 말합니다. 리소스 기반 정책은 일부 AWS 서비스에서만 지원됩니다. 리소스 기반 정책 및 리소스 수준 권한을 지원하는 서비스 목록은 AWS IAM으로 작업하는 서비스 섹션을 참조하세요.

자격 증명 기반 정책 및 리소스 기반 정책이 동일한 계정 내에서 상호 작용하는 방법을 알아보려면 단일 계정 내에서 정책 평가 섹션을 참조하세요.

정책이 계정 간에 상호 작용하는 방식을 알아보려면 교차 계정 정책 평가 로직 섹션을 참조하세요.

이러한 개념에 대한 이해도를 높이려면 다음 그림 섹션을 참조하세요. 123456789012 계정의 관리자는 자격 증명 기반 정책JohnSmith, CarlosSalazarMaryMajor 사용자에게 연결합니다. 이 정책의 일부 작업은 특정 리소스에서 수행할 수 있습니다. 예를 들어 사용자 JohnSmithResource X에 대해 일부 작업을 수행할 수 있습니다. 이는 자격 증명 기반 정책에서 리소스 수준 권한입니다. 관리자는 또한 리소스 기반 정책Resource X, Resource YResource Z에 추가했습니다. 리소스 기반 정책을 통해 해당 리소스에 액세스할 수 있는 사용자를 지정할 수 있습니다. 예를 들어 Resource X의 리소스 기반 정책은 JohnSmithMaryMajor 사용자 목록을 표시하고 리소스에 대한 읽기 권한을 허용합니다.

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

123456789012 계정의 예를 사용하면 다음 사용자가 나열된 작업을 수행할 수 있습니다.

  • JohnSmith - John은 Resource X에서 나열 및 읽기 작업을 수행할 수 있습니다. John은 사용자에 대한 자격 증명 기반 정책과 Resource X에 대한 리소스 기반 정책을 통해 이 권한을 부여 받습니다.

  • CarlosSalazar - Carlos는 Resource Y에서 나열, 읽기 및 쓰기 작업을 수행할 수 있지만 Resource Z에 대한 액세스는 거부됩니다. Carlos의 자격 증명 기반 정책을 통해 Resource Y에서 나열 및 읽기 작업을 수행할 수 있습니다. Resource Y 리소스 기반 정책을 사용하면 Carlos에게 쓰기 권한도 허용됩니다. 그러나 자격 증명 기반 정책을 통해 Resource Z에 대한 액세스가 허용되더라도 Resource Z 리소스 기반 정책으로 인해 해당 액세스가 거부됩니다. 명시적 DenyAllow를 재정의하므로 Carlos의 Resource Z에 대한 액세스가 거부됩니다. 자세한 내용은 정책 평가 로직 단원을 참조하십시오.

  • MaryMajor - Mary는 Resource X, Resource YResource Z에 대해 나열, 읽기 및 쓰기 작업을 수행할 수 있습니다. Mary의 자격 증명 기반 정책을 통해 리소스 기반 정책보다 더 많은 리소스에 대해 더 많은 작업을 수행할 수 있지만 액세스를 거부하는 정책은 없습니다.

  • ZhangWei - Zhang에게는 Resource Z에 대한 모든 액세스 권한이 있습니다. Zhang은 자격 증명 기반 정책이 없지만 Resource Z 리소스 기반 정책을 사용하면 리소스에 대한 전체 액세스 권한을 가질 수 있습니다. Zhang은 Resource Y에서 나열 및 읽기 작업을 수행할 수도 있습니다.

자격 증명 기반 정책과 리소스 기반 정책은 모두 권한 정책이며 함께 평가됩니다. 권한 정책만 적용되는 요청의 경우 AWS는 먼저 모든 정책에서 Deny를 확인합니다. 이 정책이 존재하는 경우 요청이 거부됩니다. 그런 다음 AWS는 각 Allow를 확인합니다. 적어도 하나의 정책 설명이 요청의 작업을 허용하는 경우 요청이 허용됩니다. Allow가 자격 증명 기반 정책인지 리소스 기반 정책인지는 중요하지 않습니다.

중요

이 논리는 요청이 하나의 AWS 계정에서 이루어진 경우에만 적용됩니다. 하나의 계정에서 다른 계정으로 요청한 경우 Account A의 요청자는 Account B의 리소스에 대한 요청을 허용하는 자격 증명 기반 정책을 가지고 있어야 합니다. 또한 Account B의 리소스 기반 정책은 Account A의 요청자가 리소스에 액세스할 수 있도록 허용해야 합니다. 두 계정 모두에 작업을 허용하는 정책이 있어야 합니다. 그렇지 않으면 요청이 실패합니다. 크로스 계정 액세스에 대해 리소스 기반 정책을 사용하는 방법에 대한 자세한 정보는 IAM의 크로스 계정 리소스 액세스 섹션을 참조하세요.

특정 권한이 있는 사용자는 해당 권한에 연결된 권한 정책이 있는 리소스를 요청할 수 있습니다. 이 경우 AWS는 해당 리소스에 대한 액세스 권한을 부여할지 여부를 결정할 때 두 권한 세트를 모두 평가합니다. 정책이 평가되는 방식에 대한 자세한 정보는 정책 평가 로직 섹션을 참조하세요.

참고

Amazon S3는 자격 증명 기반 정책 및 리소스 기반 정책(버킷 정책이라고 함)을 지원합니다. 또한 Amazon S3는 IAM 정책 및 권한과 무관한, 액세스 제어 목록(ACL)으로 알려진 권한 메커니즘을 지원합니다. IAM 정책을 Amazon S3 ACL과 함께 사용할 수 있습니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서액세스 제어를 참조하세요.