방법 IAM 역할은 리소스 기반 정책과 다릅니다. - AWS Identity and Access Management

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

방법 IAM 역할은 리소스 기반 정책과 다릅니다.

일부 AWS 서비스에 대해서는 리소스에 대한 교차 계정 액세스 권한을 부여할 수 있습니다. 이렇게 하려면 역할을 프록시로 사용하는 대신 공유하고자 하는 리소스에 정책을 직접 연결하면 됩니다. 공유하려는 리소스는 반드시 리소스 기반 정책을 지원해야 합니다. ID 기반 정책과 달리 리소스 기반 정책은 해당 리소스에 액세스할 수 있는 사용자(보안 주체)를 지정합니다.

참고

IAM 역할 및 리소스 기반 정책은 단일 파티션 내에서만 계정 간에 액세스 권한을 위임합니다. 예를 들어 표준 aws 파티션의 미국 서부(캘리포니아 북부 지역)에 계정이 있다고 가정합니다. aws-cn 파티션의 중국(베이징)에도 계정이 있습니다. 중국(베이징)의 계정에서 Amazon S3 리소스 기반 정책을 사용하여 표준 aws 계정의 사용자에 대한 액세스를 허용할 수 없습니다.

리소스 기반 정책을 사용한 교차 계정 액세스는 역할을 사용한 교차 계정 액세스에 비해 몇 가지 이점이 있습니다. 리소스 기반 정책을 통해 액세스한 리소스로 인해 보안 주체는 여전히 신뢰할 수 있는 계정에서 작업을 할 수 있고, 역할 권한을 수신하기 위해 자신의 권한을 포기할 필요가 없습니다. 즉, 보안 주체는 신뢰하는 계정의 리소스에 액세스하는 동시에 신뢰할 수 있는 계정의 리소스에 계속 액세스할 수 있습니다. 다른 계정의 공유 리소스로 정보를 복사하거나 공유 리소스의 정보를 복사하는 등의 작업에서 이는 특히 유용합니다.해당 신뢰 영역(신뢰할 수 있는 조직 또는 계정) 외의 계정 내 보안 주체가 역할을 수임하는 권한이 있는지 자세히 알고 싶다면, IAM Access Analyzer란 무엇일까요? 단원을 참조하십시오.

리소스 기반 정책에서 지정할 수 있는 보안 주체에는 계정, IAM 사용자, 연동 사용자, IAM 역할, 위임된 역할 세션 또는 AWS 서비스가 포함됩니다. 자세한 정보는 주체 지정 단원을 참조하십시오.

다음 목록에는 리소스 기반 정책을 지원하는 일부 AWS 서비스가 나와 있습니다. 보안 주체 대신 리소스에 권한 정책을 연결할 수 있도록 지원하는 AWS 서비스는 늘어나고 있습니다. 해당 서비스의 전체 목록은 AWS 서비스 제공 IAM 단원을 참조하고 리소스 기반 열의 값이 인 서비스를 찾아보십시오.

  • Amazon S3 버킷 – 정책은 버킷과 연결되지만, 버킷과 그 안에 포함된 객체에 대한 액세스를 모두 제어합니다. 자세한 내용은 액세스 제어 에서 Amazon Simple Storage Service 개발자 가이드.

    일부의 경우, 교차 계정의 Amazon S3 액세스 권한에 대한 역할을 사용하는 것이 최선일 수 있습니다. 자세한 내용은 예시 시찰 에서 Amazon Simple Storage Service 개발자 가이드.

  • Amazon Simple Notification Service (Amazon SNS) 주제 – 자세한 내용은 Amazon SNS 주제에 대한 액세스 관리 에서 Amazon Simple Notification Service 개발자 안내서.

  • Amazon Simple Queue Service (Amazon SQS) 대기열 – 자세한 내용은 부록: 액세스 정책 언어 에서 Amazon Simple Queue Service 개발자 안내서.

위임하기 AWS 리소스 기반 정책의 사용 권한

리소스가 계정의 보안 주체에 권한을 부여하는 경우 이러한 권한을 특정 IAM 자격 증명에 위임할 수 있습니다. 자격 증명은 사용자, 사용자 그룹 또는 계정의 역할입니다. 자격 증명에 정책을 연결하여 권한을 위임합니다. 리소스 소유 계정에서 허용하는 최대 권한을 부여할 수 있습니다.

리소스 기반 정책에서는 계정의 모든 보안 주체에게 리소스에 대한 전체 관리 액세스 권한을 허용한다고 가정합니다. 이제 AWS 계정의 보안 주체에게 전체 액세스 권한, 읽기 전용 액세스 권한 또는 기타 부분적 액세스 권한을 위임할 수 있습니다. 또는 리소스 기반 정책에서 목록 액세스 권한만 허용하는 경우에는 목록 액세스 권한만 위임할 수 있습니다. 계정에 부여된 것보다 더 많은 권한을 위임하려고 해도 보안 주체는 목록 액세스 권한만 갖게 됩니다. IAM 자격 증명에 정책을 연결하는 방법에 대한 자세한 내용은 IAM 정책 관리 단원을 참조하십시오 .

참고

IAM 역할 및 리소스 기반 정책은 단일 파티션 내에서만 계정 간에 액세스 권한을 위임합니다. 예를 들어 표준 aws 파티션의 계정과 aws-cn 파티션의 계정 간에 교차 계정 액세스를 추가할 수 없습니다.

예를 들어, AccountAAccountB. 내부 AccountA님, 귀하는 Amazon S3 버킷 이름 BucketA. 리소스 기반 정책을 다음에 첨부합니다. BucketA 모든 교장은 AccountB 버킷 의 객체에 대한 완전한 액세스. 해당 버킷의 모든 객체를 생성, 읽기 또는 삭제할 수 있습니다. 내부 AccountB에 정책을 첨부합니다. IAM 사용자 이름 User2. 이 정책을 사용하면 BucketA. 즉, User2 개체를 볼 수 있지만 만들거나 편집하거나 삭제할 수는 없습니다.


        에 대한 액세스 위임 AWS 계정
  1. AccountA은 리소스 기반 정책에서 보안 주체로서 AccountB를 명명하여 AccountB에게 BucketA에 대한 전체 액세스 권한을 제공합니다. 따라서 AccountBBucketA에서 작업을 수행할 수 있는 권한이 부여되고 AccountB 관리자는 AccountB의 사용자에게 액세스 권한을 위임할 수 있습니다.

  2. AccountB 루트 사용자는 계정에 부여된 모든 권한을 가집니다. 따라서 루트 사용자은 BucketA에 대한 전체 액세스 권한을 가집니다.

  3. AccountB 관리자가 에 대한 액세스 권한을 부여하지 않음 User1. 기본적으로 사용자에게는 명시적으로 부여된 권한을 제외한 권한이 없습니다. 따라서 User1에는 BucketA에 대한 액세스 권한이 없습니다 .

  4. AccountB 관리자는 User2에게 BucketA에 대한 읽기 전용 액세스 권한을 부여합니다. User2에서 버킷의 객체를 볼 수 있습니다. AccountB가 위임할 수 있는 최대 액세스 수준은 계정에 부여된 액세스 수준입니다. 이 경우 리소스 기반 정책에서는 AccountB에 대한 전체 액세스 권한을 부여하지만 User2에는 읽기 전용 액세스 권한만 부여됩니다.

IAM은 보안 주체가 요청을 할 때 보안 주체의 권한을 평가합니다. 따라서 와일드카드(*)를 사용하여 사용자에게 리소스에 대한 전체 액세스 권한을 부여하면 보안 주체는 AWS 계정이 액세스 권한을 가지고 있는 모든 리소스에 액세스할 수 있습니다. 사용자 정책을 생성한 이후에 추가하거나 액세스 권한을 획득한 리소스의 경우에도 마찬가지입니다.

앞의 예에서 AccountB이 모든 계정의 모든 리소스에 대한 전체 액세스 권한을 허용하는 User2에 정책을 연결했다면 User2AccountB에 액세스 권한이 있는 모든 리소스에 자동으로 액세스할 수 있었을 것입니다. 여기에는 BucketA 액세스 권한과 AccountA의 리소스 기반 정책에서 부여한 다른 리소스에 대한 액세스 권한이 포함됩니다 .

중요

신뢰 관계가 설정된 엔터티에만 액세스 권한을 부여하고 필요한 최소 수준의 액세스 권한만 부여합니다. 신뢰받는 엔터티가 다른 AWS 계정인 경우 언제든지 해당 계정은 IAM 계정에 속한 어떤 사용자에게도 다시 액세스 권한을 위임할 수 있습니다. 신뢰하는 AWS 계정은 권한이 부여된 액세스 범위 내에서만 권한을 위임할 수 있으며, 계정에 부여된 권한보다 더 많은 액세스 권한을 위임할 수 없습니다.

권한, 정책 및 정책 작성에 사용하는 권한 정책 언어에 대한 자세한 내용은 AWS 리소스에 대한 액세스 관리 단원을 참조하십시오.