에 대한 서비스 역할 설정 AWS Clean Rooms - AWS Clean Rooms

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에 대한 서비스 역할 설정 AWS Clean Rooms

다음 섹션에서는 각 작업을 수행하는 데 필요한 역할을 설명합니다.

관리자 사용자 생성하기

를 사용하려면 관리자 사용자를 직접 생성하고 관리자 그룹에 관리자 사용자를 추가 AWS Clean Rooms해야 합니다.

다음 옵션 중 하나를 선택하여 관리 사용자를 생성합니다.

관리자를 관리하는 방법 한 가지 선택 목적 By 다른 방법
IAM Identity Center에서

(권장)

단기 보안 인증 정보를 사용하여 AWS에 액세스합니다.

이는 보안 모범 사례와 일치합니다. 모범 사례에 대한 자세한 내용은 IAM 사용 설명서IAM의 보안 모범 사례를 참조하세요.

AWS IAM Identity Center 사용 설명서의 시작하기 지침을 따르세요. AWS Command Line Interface 사용 설명서에서 사용하도록 AWS CLI 를 구성 AWS IAM Identity Center하여 프로그래밍 방식 액세스를 구성합니다.
IAM에서

(권장되지 않음)

장기 보안 인증 정보를 사용하여 AWS에 액세스합니다. IAM 사용 설명서비상 액세스를 위한 IAM 사용자 생성에 나와 있는 지침을 따르세요. IAM 사용 설명서에 나온 IAM 사용자의 액세스 키 관리 단계를 수행하여 프로그래밍 방식의 액세스를 구성합니다.

공동 작업 구성원의 IAM 역할 생성

멤버는 공동 작업의 참가자인 AWS 고객입니다.

공동 작업 구성원의 IAM 역할을 생성하는 방법
  1. AWS Identity and Access Management 사용 설명서에 설명된 IAM 사용자에게 권한을 위임하는 역할 생성 절차를 수행합니다.

  2. 정책 생성 단계의 정책 편집기에서 JSON 탭을 선택한 다음 공동 작업 구성원에게 부여된 권한에 따라 정책을 추가합니다.

    AWS Clean Rooms 는 일반적인 사용 사례를 기반으로 다음과 같은 관리형 정책을 제공합니다.

    다음을 수행하려는 경우 ... 그럼... 을(를) 사용하세요.
    리소스 및 메타데이터 보기 AWS 관리형 정책: AWSCleanRoomsReadOnlyAccess
    Query AWS 관리형 정책: AWSCleanRoomsFullAccess
    쿼리 및 실행 작업 AWS 관리형 정책: AWSCleanRoomsFullAccess
    결과 쿼리 및 수신 AWS 관리형 정책: AWSCleanRoomsFullAccess
    공동 작업 리소스는 관리하지만 쿼리하지 않음 AWS 관리형 정책: AWSCleanRoomsFullAccessNoQuerying

    에서 제공하는 다양한 관리형 정책에 대한 자세한 내용은 단원 AWS Clean Rooms을 참조하십시오AWS 에 대한 관리형 정책 AWS Clean Rooms.

Amazon S3에서 데이터를 읽을 서비스 역할 생성

AWS Clean Rooms 는 서비스 역할을 사용하여 Amazon S3에서 데이터를 읽습니다.

이 서비스 역할을 생성하는 방법에는 두 가지가 있습니다.

  • 서비스 역할을 생성하는 데 필요한 IAM 권한이 있는 경우 AWS Clean Rooms 콘솔을 사용하여 서비스 역할을 생성합니다.

  • iam:CreateRole, iam:CreatePolicyiam:AttachRolePolicy 권한이 없거나 IAM 역할을 수동으로 생성하려는 경우 다음 중 하나를 수행합니다.

    • 다음 절차에 따라 사용자 지정 신뢰 정책을 사용하여 서비스 역할을 생성합니다.

    • 다음 절차에 따라 서비스 역할을 생성하도록 관리자에게 요청합니다.

참고

사용자 또는 IAM 관리자는 콘솔을 사용하여 AWS Clean Rooms 서비스 역할을 생성하는 데 필요한 권한이 없는 경우에만이 절차를 따라야 합니다.

사용자 지정 신뢰 정책을 사용하여 Amazon S3에서 데이터를 읽을 서비스 역할을 생성하려면
  1. 사용자 지정 신뢰 정책을 사용하여 역할을 생성합니다. 자세한 내용은 AWS Identity and Access Management 사용 설명서사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차를 참조하세요.

  2. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 사용자 지정 신뢰 정책을 사용합니다.

    참고

    역할이 특정 공동 작업 멤버십의 컨텍스트에서만 사용되도록 하려면 신뢰 정책의 범위를 더 좁힐 수 있습니다. 자세한 내용은 교차 서비스 혼동된 대리자 예방 단원을 참조하십시오.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "RoleTrustPolicyForCleanRoomsService", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  3. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 권한 정책을 사용합니다.

    참고

    다음 예제 정책은 AWS Glue 메타데이터와 해당 Amazon S3 데이터를 읽는 데 필요한 권한을 지원합니다. 그러나 Amazon S3 데이터를 설정한 방법에 따라이 정책을 수정해야 할 수 있습니다. 예를 들어 Amazon S3 데이터에 대한 사용자 지정 KMS 키를 설정한 경우 추가 AWS Key Management Service (AWS KMS) 권한으로이 정책을 수정해야 할 수 있습니다.

    AWS Glue 리소스와 기본 Amazon S3 리소스는 AWS Clean Rooms 공동 작업 AWS 리전 과 동일한에 있어야 합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "NecessaryGluePermissions", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:database/databaseName", "arn:aws:glue:us-east-1:111122223333:table/databaseName/tableName", "arn:aws:glue:us-east-1:111122223333:catalog" ] }, { "Effect": "Allow", "Action": [ "glue:GetSchema", "glue:GetSchemaVersion" ], "Resource": [ "*" ] }, { "Sid": "NecessaryS3BucketPermissions", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket" ], "Condition": { "StringEquals": { "s3:ResourceAccount": [ "444455556666" ] } } }, { "Sid": "NecessaryS3ObjectPermissions", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucket/prefix/*" ], "Condition": { "StringEquals": { "s3:ResourceAccount": [ "444455556666" ] } } } ] }
    참고

    이 정책은 서로 다른 당사자가 데이터 카탈로그 메타데이터와 실제 데이터 스토리지를 AWS Clean Rooms 관리하는 공동 작업을 지원하기 위해 두 개의 서로 다른 AWS 계정 IDs를 참조합니다.

    • 111122223333 - AWS Glue 데이터 카탈로그 리소스(데이터베이스, 테이블 및 카탈로그)를 소유한 계정입니다. 첫 번째 문은이 계정의 AWS Glue 카탈로그에서 테이블 스키마, 파티션 정보 및 메타데이터에 액세스할 수 있는 권한을 부여합니다.

    • 444455556666 - 실제 데이터 파일이 포함된 Amazon S3 버킷을 소유한 계정입니다. Amazon S3 권한(문 3 및 4)은 s3:ResourceAccount 조건을 통해이 계정이 소유한 버킷으로 제한됩니다.

    이 구성은 한 팀이 데이터 카탈로그와 스키마 정의를 관리하는 반면 다른 팀이 기본 데이터 스토리지 인프라를 소유하는 일반적인 엔터프라이즈 데이터 아키텍처를 지원합니다. s3:ResourceAccount 조건은 Amazon S3 작업이 지정된 계정이 소유한 버킷에서만 작동하도록 하여 추가 보안 계층을 제공합니다.

  4. 자리 표시자를 자신의 정보로 바꿉니다.

  5. 계속해서 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 역할을 생성합니다.

Amazon Athena에서 데이터를 읽을 서비스 역할 생성

AWS Clean Rooms 는 서비스 역할을 사용하여 Amazon Athena에서 데이터를 읽습니다.

사용자 지정 신뢰 정책을 사용하여 Athena에서 데이터를 읽을 서비스 역할을 생성하려면
  1. 사용자 지정 신뢰 정책을 사용하여 역할을 생성합니다. 자세한 내용은 AWS Identity and Access Management 사용 설명서사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차를 참조하세요.

  2. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 사용자 지정 신뢰 정책을 사용합니다.

    참고

    역할이 특정 공동 작업 멤버십의 컨텍스트에서만 사용되도록 하려면 신뢰 정책의 범위를 더 좁힐 수 있습니다. 자세한 내용은 교차 서비스 혼동된 대리자 예방 단원을 참조하십시오.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "RoleTrustPolicyForCleanRoomsService", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  3. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 권한 정책을 사용합니다.

    참고

    다음 예제 정책은 AWS Glue 메타데이터와 해당 Athena 데이터를 읽는 데 필요한 권한을 지원합니다. 그러나 Amazon S3 데이터를 설정한 방법에 따라이 정책을 수정해야 할 수 있습니다. 예를 들어 Amazon S3 데이터에 대한 사용자 지정 KMS 키를 이미 설정한 경우 추가 AWS KMS 권한으로이 정책을 수정해야 할 수 있습니다.

    AWS Glue 리소스와 기본 Athena 리소스는 AWS Clean Rooms 공동 작업 AWS 리전 과 동일한에 있어야 합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:GetDataCatalog", "athena:GetWorkGroup", "athena:GetTableMetadata", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:StartQueryExecution" ], "Resource": [ "arn:aws:athena:us-east-1:111122223333:workgroup/workgroup", "arn:aws:athena:us-east-1:111122223333:datacatalog/AwsDataCatalog" ] }, { "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetTable", "glue:GetPartitions" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/database name", "arn:aws:glue:us-east-1:111122223333:table/database name/table name" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketLocation", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::bucket", "arn:aws:s3:::bucket/*" ] }, { "Effect": "Allow", "Action": "lakeformation:GetDataAccess", "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/*" } ] }
  4. 자리 표시자를 자신의 정보로 바꿉니다.

  5. 계속해서 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 역할을 생성합니다.

Lake Formation 권한 설정

Lake Formation 권한으로 보호되는 리소스를 쿼리하는 경우 서비스 역할에는 테이블/보기에 대한 선택설명 액세스 권한과 뷰가 저장된 AWS Glue 데이터베이스에 대한 설명 액세스 권한이 있어야 합니다.

자세한 내용은 다음을 참조하세요.

서비스 역할을 생성하여 Snowflake에서 데이터 읽기

AWS Clean Rooms 는 서비스 역할을 사용하여 Snowflake가이 소스에서 데이터를 읽을 수 있도록 자격 증명을 검색합니다.

이 서비스 역할을 만드는 방법은 다음 두 가지입니다.

  • 서비스 역할을 생성하는 데 필요한 IAM 권한이 있는 경우 AWS Clean Rooms 콘솔을 사용하여 서비스 역할을 생성합니다.

  • iam:CreateRole, iam:CreatePolicyiam:AttachRolePolicy 권한이 없거나 IAM 역할을 수동으로 생성하려는 경우 다음 중 하나를 수행합니다.

    • 다음 절차에 따라 사용자 지정 신뢰 정책을 사용하여 서비스 역할을 생성합니다.

    • 다음 절차에 따라 서비스 역할을 생성하도록 관리자에게 요청합니다.

참고

사용자 또는 IAM 관리자는 콘솔을 사용하여 AWS Clean Rooms 서비스 역할을 생성하는 데 필요한 권한이 없는 경우에만이 절차를 따라야 합니다.

사용자 지정 신뢰 정책을 사용하여 Snowflake에서 데이터를 읽을 서비스 역할을 생성하려면
  1. 사용자 지정 신뢰 정책을 사용하여 역할을 생성합니다. 자세한 내용은 AWS Identity and Access Management 사용 설명서사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차를 참조하세요.

  2. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 사용자 지정 신뢰 정책을 사용합니다.

    참고

    역할이 특정 공동 작업 멤버십의 컨텍스트에서만 사용되도록 하려면 신뢰 정책의 범위를 더 좁힐 수 있습니다. 자세한 내용은 교차 서비스 혼동된 대리자 예방 단원을 참조하십시오.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIfSourceArnMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:us-east-1:111122223333:membership/membershipId", "arn:aws:cleanrooms:us-east-1:444455556666:membership/queryRunnerMembershipId" ] } } } ] }
    참고

    이 신뢰 정책은 쿼리 실행 책임이 여러 당사자에 분산되는 공동 작업을 지원하기 위해 두 가지 다른 AWS 계정 IDs를 AWS Clean Rooms 참조합니다.

    • 111122223333 - 공동 작업에 참여하는 멤버십이 포함된 계정입니다. 이 멤버십은 역할 액세스가 필요한 데이터 테이블, 분석 규칙 또는 기타 공동 작업 리소스를 소유할 수 있습니다.

    • 444455556666 - 쿼리 실행을 담당하는 멤버십(“쿼리 실행기”)이 포함된 계정입니다. 이 멤버십은 보호된 쿼리를 실행하며 필요한 컴퓨팅 및 데이터 리소스에 액세스하려면이 역할을 수임해야 합니다.

    이 구성을 사용하면 한 당사자가 데이터 또는 분석 템플릿을 제공하는 반면 다른 당사자가 실제 쿼리를 실행하는 시나리오를 사용할 수 있습니다. 두 역할 모두 동일한 실행 역할을 통해 서로 다르지만 보완적인 권한이 필요합니다. 이 aws:SourceArn 조건은 이러한 두 특정 멤버십에서 시작된 AWS Clean Rooms 작업만 역할을 수임하여 분산 작업 실행 및 결과 관리 워크플로를 지원하면서 보안을 유지할 수 있도록 합니다.

  3. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 권한 정책 중 하나를 사용합니다.

    고객 소유 KMS 키로 암호화된 보안 암호에 대한 권한 정책

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:secretIdentifier", "Effect": "Allow" }, { "Sid": "AllowDecryptViaSecretsManagerForKey", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-1:444455556666:key/keyIdentifier", "Effect": "Allow", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-1.amazonaws.com", "kms:EncryptionContext:SecretARN": "arn:aws:secretsmanager:us-east-1:111122223333:secret:secretIdentifier" } } } ] }
    참고

    이 정책은 두 가지 다른 AWS 계정 IDs 참조하여 교차 계정 보안 암호 관리 시나리오를 지원합니다.

    • 111122223333 - 보안 암호를 소유하고에 저장하는 계정입니다. 첫 번째 문은이 계정에서 보안 암호 값을 검색할 수 있는 권한을 부여합니다.

    • 444455556666 - 보안 암호를 암호화하는 데 사용되는 AWS KMS 키를 소유한 계정입니다. 두 번째 문은이 계정의 AWS KMS 키를 사용하여 보안 암호를 해독할 수 있는 권한을 부여합니다.

    이 구성은 다음과 같은 엔터프라이즈 환경에서 일반적입니다.

    • 보안 암호는 하나의 계정(계정 1)에서 중앙에서 관리됩니다.

    • 암호화 키는 별도의 보안 또는 공유 서비스 계정(계정 2)에서 관리합니다.

    • 계정 2의 AWS KMS 키 정책은 계정 1의 서비스가 암호화/복호화 작업에 키를 사용하도록 허용해야 합니다.

    kms:EncryptionContext:SecretARN 조건은 AWS KMS 키를이 특정 보안 암호를 해독하는 데만 사용할 수 있도록 하여 교차 계정 액세스를 위한 추가 보안 계층을 제공합니다.

    로 암호화된 보안 암호에 대한 권한 정책 AWS 관리형 키

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:secretIdentifier", "Effect": "Allow" } ] }
  4. 자리 표시자를 자신의 정보로 바꿉니다.

  5. 계속해서 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 역할을 생성합니다.

서비스 역할을 생성하여 S3 버킷에서 코드 읽기(PySpark 분석 템플릿 역할)

AWS Clean Rooms 는 PySpark 분석 템플릿을 사용할 때 서비스 역할을 사용하여 공동 작업 구성원의 지정된 S3 버킷에서 코드를 읽습니다.

S3 버킷에서 코드를 읽을 서비스 역할을 생성하려면
  1. 사용자 지정 신뢰 정책을 사용하여 역할을 생성합니다. 자세한 내용은 AWS Identity and Access Management 사용 설명서사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차를 참조하세요.

  2. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 사용자 지정 신뢰 정책을 사용합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:us-east-1:111122223333:membership/jobRunnerMembershipId", "arn:aws:cleanrooms:us-east-1:444455556666:membership/analysisTemplateOwnerMembershipId" ] } } } ] }
    참고

    이 신뢰 정책은 다자간 AWS Clean Rooms 협업 시나리오를 지원하기 위해 두 가지 다른 AWS 계정 IDs를 참조합니다.

    • 111122223333 - 쿼리 실행을 담당하는 멤버십(“작업 실행기”)이 포함된 계정입니다. 이 멤버십은 분석 작업을 실행하며 필요한 리소스에 액세스하려면이 역할을 수임해야 합니다.

    • 444455556666 - 분석 템플릿 및 관련 멤버십을 소유한 계정입니다("분석 템플릿 소유자"). 이 멤버십은 실행할 수 있는 쿼리를 정의하며 분석을 관리하고 실행하기 위해이 역할을 수임해야 합니다.

    이 구성은 여러 당사자가 각각 자체 AWS 계정 및 멤버십을 가진 동일한 AWS Clean Rooms 공동 작업에 참여하는 공동 작업에서 일반적입니다. 쿼리 실행기와 분석 템플릿 소유자 모두 공유 리소스에 액세스해야 합니다. 이 aws:SourceArn 조건은 이러한 두 특정 멤버십에서 시작된 AWS Clean Rooms 작업만 역할을 수임하여 다자간 공동 작업에 대한 정확한 액세스 제어를 제공할 수 있도록 합니다.

  3. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 권한 정책을 사용합니다.

    참고

    다음 예제 정책은 Amazon S3에서 코드를 읽는 데 필요한 권한을 지원합니다. 하지만 S3 데이터를 설정한 방법에 따라 이 정책을 수정해야 할 수도 있습니다.

    Amazon S3 리소스는 공동 작업 AWS 리전 과 AWS Clean Rooms 동일한에 있어야 합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": ["arn:aws:s3:::s3Path"], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "s3BucketOwnerAccountId" ] } } } ] }
  4. 자리 표시자를 사용자의 정보로 바꿉니다.

    • s3Path - 코드의 S3 버킷 위치입니다.

    • s3BucketOwnerAccountId - S3 버킷 소유자의 AWS 계정 ID입니다.

    • 리전 – AWS 리전의 이름. 예를 들어 us-east-1입니다.

    • jobRunnerAccountId - 쿼리 및 작업을 실행할 수 있는 구성원의 AWS 계정 ID입니다.

    • jobRunnerMembershipId - 작업을 쿼리하고 실행할 수 있는 멤버의 멤버십 ID입니다. 멤버십 ID는 공동 작업의 세부 정보 탭에서 찾을 수 있습니다. 이렇게 하면이 구성원 AWS Clean Rooms 이이 공동 작업에서 분석을 실행할 때만가 역할을 수임할 수 있습니다.

    • analysisTemplateAccountId - 분석 템플릿의 AWS 계정 ID입니다.

    • analysisTemplateOwnerMembershipId - 분석 템플릿을 소유한 멤버의 멤버십 ID입니다. 멤버십 ID는 공동 작업의 세부 정보 탭에서 찾을 수 있습니다.

  5. 계속해서 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 역할을 생성합니다.

서비스 역할을 생성하여 PySpark 작업의 결과 작성

AWS Clean Rooms 는 서비스 역할을 사용하여 PySpark 작업의 결과를 지정된 S3 버킷에 기록합니다.

PySpark 작업의 결과를 작성할 서비스 역할을 생성하려면
  1. 사용자 지정 신뢰 정책을 사용하여 역할을 생성합니다. 자세한 내용은 AWS Identity and Access Management 사용 설명서사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차를 참조하세요.

  2. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 사용자 지정 신뢰 정책을 사용합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:us-east-1:111122223333:membership/jobRunnerMembershipId", "arn:aws:cleanrooms:us-east-1:444455556666:membership/rrMembershipId" ] } } } ] }
    참고

    이 신뢰 정책은 두 개의 서로 다른 AWS 계정 IDs를 참조하여 고유한 운영 역할이 AWS Clean Rooms 있는 공동 작업을 지원합니다.

    • 111122223333 - 분석 작업 실행을 담당하는 멤버십("작업 실행기")이 포함된 계정입니다. 이 멤버십은 컴퓨팅 워크로드를 실행하며 처리 리소스에 액세스하려면이 역할을 수임해야 합니다.

    • 444455556666 - 결과 수신자(RR) 책임이 있는 멤버십이 포함된 계정입니다. 이 멤버십은 분석 작업의 출력을 수신하고 액세스할 수 있는 권한이 있으며, 지정된 위치에 결과를 쓰려면 역할 액세스 권한이 필요합니다.

    이 구성을 사용하면 한 당사자가 계산 분석을 실행하는 동안 다른 당사자가 결과를 수신하고 관리하는 AWS Clean Rooms 시나리오를 사용할 수 있습니다. 두 역할 모두 동일한 실행 역할을 통해 서로 다르지만 보완적인 권한이 필요합니다. 이 aws:SourceArn 조건은 이러한 두 특정 멤버십에서 시작된 AWS Clean Rooms 작업만 역할을 수임하여 분산 작업 실행 및 결과 관리 워크플로를 지원하면서 보안을 유지할 수 있도록 합니다.

  3. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 권한 정책을 사용합니다.

    참고

    다음 예제 정책은 Amazon S3에 쓰는 데 필요한 권한을 지원합니다. 그러나 S3 설정 방법에 따라이 정책을 수정해야 할 수 있습니다.

    Amazon S3 리소스는 공동 작업 AWS 리전 과 AWS Clean Rooms 동일한에 있어야 합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket/optionalPrefix/*", "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "s3BucketOwnerAccountId" ] } } }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::bucket", "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "s3BucketOwnerAccountId" ] } } } ] }
  4. 자리 표시자를 자신의 정보로 바꿉니다.

    • 리전 – AWS 리전의 이름. 예를 들어 us-east-1입니다.

    • jobRunnerAccountId - S3 버킷이 위치한 AWS 계정 ID입니다.

    • jobRunnerMembershipId - 작업을 쿼리하고 실행할 수 있는 멤버의 멤버십 ID입니다. 멤버십 ID는 공동 작업의 세부 정보 탭에서 찾을 수 있습니다. 이렇게 하면이 구성원 AWS Clean Rooms 이이 공동 작업에서 분석을 실행할 때만가 역할을 수임할 수 있습니다.

    • rrAccountId – AWS 계정 S3 버킷이 위치한 ID입니다.

    • rrMembershipId - 결과를 받을 수 있는 멤버의 멤버십 ID입니다. 멤버십 ID는 공동 작업의 세부 정보 탭에서 찾을 수 있습니다. 이렇게 하면이 구성원 AWS Clean Rooms 이이 공동 작업에서 분석을 실행할 때만가 역할을 수임할 수 있습니다.

    • 버킷 - S3 버킷의 이름과 위치입니다.

    • optionalPrefix - 결과를 특정 S3 접두사에 저장하려는 경우의 선택적 접두사입니다.

    • s3BucketOwnerAccountId - S3 버킷 소유자의 AWS 계정 ID입니다.

  5. 계속해서 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 역할을 생성합니다.

결과를 수신할 서비스 역할 생성

참고

결과 수신만 가능한 구성원인 경우(콘솔에서 사용자의 멤버 자격결과 받기로만 표시됨) 다음 절차를 따르세요.

쿼리와 결과 수신이 모두 가능한 구성원인 경우(콘솔에서 사용자의 멤버 자격쿼리결과 받기 모두 해당) 이 절차를 건너뛸 수 있습니다.

결과만 수신할 수 있는 공동 작업 구성원의 경우는 서비스 역할을 AWS Clean Rooms 사용하여 공동 작업에서 쿼리된 데이터의 결과를 지정된 S3 버킷에 기록합니다.

이 서비스 역할을 만드는 방법은 다음 두 가지입니다.

  • 서비스 역할을 생성하는 데 필요한 IAM 권한이 있는 경우 AWS Clean Rooms 콘솔을 사용하여 서비스 역할을 생성합니다.

  • iam:CreateRole, iam:CreatePolicyiam:AttachRolePolicy 권한이 없거나 IAM 역할을 수동으로 생성하려는 경우 다음 중 하나를 수행합니다.

    • 다음 절차에 따라 사용자 지정 신뢰 정책을 사용하여 서비스 역할을 생성합니다.

    • 다음 절차에 따라 서비스 역할을 생성하도록 관리자에게 요청합니다.

참고

사용자 또는 IAM 관리자는 콘솔을 사용하여 AWS Clean Rooms 서비스 역할을 생성하는 데 필요한 권한이 없는 경우에만이 절차를 따라야 합니다.

사용자 지정 신뢰 정책을 사용하여 결과를 수신할 서비스 역할을 생성하려면
  1. 사용자 지정 신뢰 정책을 사용하여 역할을 생성합니다. 자세한 내용은 AWS Identity and Access Management 사용 설명서사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차를 참조하세요.

  2. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 사용자 지정 신뢰 정책을 사용합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIfExternalIdMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "sts:ExternalId": "arn:aws:*:region:*:dbuser:*/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa*" } } }, { "Sid": "AllowIfSourceArnMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:us-east-1:555555555555:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa" ] } } } ] }
  3. 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 다음 권한 정책을 사용합니다.

    참고

    다음 예제 정책은 AWS Glue 메타데이터와 해당 Amazon S3 데이터를 읽는 데 필요한 권한을 지원합니다. 하지만 S3 데이터를 설정한 방법에 따라 이 정책을 수정해야 할 수도 있습니다.

    AWS Glue 리소스와 기본 Amazon S3 리소스는 AWS Clean Rooms 공동 작업 AWS 리전 과 동일한에 있어야 합니다.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket_name" ], "Condition": { "StringEquals": { "aws:ResourceAccount":"accountId" } } }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket_name/optional_key_prefix/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount":"accountId" } } } ] }
  4. 자리 표시자를 자신의 정보로 바꿉니다.

    • 리전 – AWS 리전의 이름. 예를 들어 us-east-1입니다.

    • a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa — 쿼리할 수 있는 구성원의 멤버십 ID입니다. 멤버십 ID는 공동 작업의 세부 정보 탭에서 찾을 수 있습니다. 이렇게 하면이 구성원 AWS Clean Rooms 이이 공동 작업에서 분석을 실행할 때만가 역할을 수임할 수 있습니다.

    • arn:aws:cleanrooms:us-east-1:555555555555:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa — 쿼리할 수 있는 구성원의 단일 멤버십 ARN입니다. 멤버십 ARN은 공동 작업의 세부 정보 탭에서 찾을 수 있습니다. 이렇게 하면이 구성원 AWS Clean Rooms 이이 공동 작업에서 분석을 실행할 때만가 역할을 수임할 수 있습니다.

    • bucket_name – S3 버킷의 Amazon 리소스 이름(ARN). Amazon 리소스 이름(ARN)은 Amazon S3에 있는 버킷의 속성 탭에서 찾을 수 있습니다.

    • accountId - S3 버킷이 위치한 AWS 계정 ID입니다.

      bucket_name/optional_key_prefixAmazon S3의 결과 대상의 Amazon 리소스 이름(ARN)입니다. Amazon S3 Amazon 리소스 이름(ARN)은 Amazon S3에 있는 버킷의 속성 탭에서 찾을 수 있습니다.

  5. 계속해서 사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔) 절차에 따라 역할을 생성합니다.