設定 的服務角色 AWS Clean Rooms - AWS Clean Rooms

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 的服務角色 AWS Clean Rooms

下列各節說明執行每個任務所需的角色。

建立管理員使用者

若要使用 AWS Clean Rooms,您需要為自己建立管理員使用者,並將管理員使用者新增至管理員群組。

若要建立管理員使用者,請選擇下列其中一個選項。

選擇一種管理管理員的方式 根據 您也可以
在 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:CreateRoleiam:CreatePolicyiam:AttachRolePolicy許可,或想要手動建立 IAM 角色,請執行下列其中一項操作:

    • 使用下列程序,使用自訂信任政策建立服務角色。

    • 請您的管理員使用下列程序建立服務角色。

注意

只有在您沒有使用 AWS Clean Rooms 主控台建立服務角色的必要許可時,您或您的 IAM 管理員才應該遵循此程序。

建立服務角色以使用自訂信任政策從 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 帳戶 IDs以支援由 AWS Clean Rooms 不同方管理資料目錄中繼資料和實際資料儲存的協同合作:

    • 111122223333 - 這是擁有 AWS Glue Data Catalog 資源 (資料庫、資料表和目錄) 的帳戶。第一個陳述式授予許可,以從此帳戶的 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:CreateRoleiam:CreatePolicyiam:AttachRolePolicy許可,或想要手動建立 IAM 角色,請執行下列其中一項操作:

    • 使用下列程序,使用自訂信任政策建立服務角色。

    • 請您的管理員使用下列程序建立服務角色。

注意

只有在您沒有使用 AWS Clean Rooms 主控台建立服務角色的必要許可時,您或您的 IAM 管理員才應該遵循此程序。

建立服務角色以使用自訂信任政策從 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 帳戶 IDs 以支援多方 AWS Clean Rooms 協同合作案例:

    • 111122223333 - 這是帳戶,其中包含負責執行查詢的成員資格 (「任務執行器」)。此成員資格會執行分析任務,且需要擔任此角色才能存取必要的資源。

    • 444455556666 - 這是擁有分析範本及其相關聯成員資格的帳戶 (「分析範本擁有者」)。此成員資格定義可以執行哪些查詢,也需要擔任此角色才能管理和執行分析。

    此組態在多方參與相同協作的 AWS Clean Rooms 協作中很常見,每個協作都有自己的 AWS 帳戶 和 成員資格。查詢執行器和分析範本擁有者都需要存取共用資源。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。

    • region – 的名稱 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. 將每個預留位置取代為您自己的資訊:

    • region – 的名稱 AWS 區域。例如 us-east-1

    • jobRunnerAccountId – S3 儲存貯體所在的 AWS 帳戶 ID。

    • jobRunnerMembershipId – 可查詢和執行任務之成員的成員 ID。您可以在協同合作的詳細資訊索引標籤中找到成員 ID。這可確保只有當此成員在此協同合作中執行分析時, AWS Clean Rooms 才會擔任該角色。

    • rrAccountId – S3 AWS 帳戶 儲存貯體所在的 ID。

    • rrMembershipId – 可接收結果之成員的成員 ID。您可以在協同合作的詳細資訊索引標籤中找到成員 ID。這可確保只有當此成員在此協同合作中執行分析時, AWS Clean Rooms 才會擔任該角色。

    • 儲存貯體 – S3 儲存貯體的名稱和位置。

    • optionalPrefix – 如果您想要將結果儲存在特定 S3 字首下,則為選用字首。

    • s3BucketOwnerAccountId – S3 儲存貯體擁有者的 AWS 帳戶 ID。

  5. 繼續遵循使用自訂信任政策 (主控台) 建立角色程序來建立角色。

建立服務角色以接收結果

注意

如果您是只能接收結果的成員 (在主控台中,您的成員能力只是接收結果),請遵循此程序。

如果您是可以同時查詢和接收結果的成員 (在 主控台中,您的成員能力同時是查詢接收結果),您可以略過此程序。

對於只能接收結果的協同合作成員, AWS Clean Rooms 會使用服務角色將協同合作中查詢資料的結果寫入指定的 S3 儲存貯體。

有兩種方法可以建立此服務角色:

  • 如果您有建立服務角色所需的 IAM 許可,請使用 AWS Clean Rooms 主控台來建立服務角色。

  • 如果您沒有 iam:CreateRoleiam:CreatePolicyiam:AttachRolePolicy許可,或想要手動建立 IAM 角色,請執行下列其中一項操作:

    • 使用下列程序,使用自訂信任政策建立服務角色。

    • 請您的管理員使用下列程序建立服務角色。

注意

只有在您沒有使用 AWS Clean Rooms 主控台建立服務角色的必要許可時,您或您的 IAM 管理員才應該遵循此程序。

使用自訂信任政策建立服務角色以接收結果
  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. 將每個預留位置取代為您自己的資訊:

    • region – 的名稱 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 Resource Name (ARN)。您可以在 Amazon S3 中儲存貯體的屬性索引標籤中找到 Amazon Resource Name (ARN) Amazon S3

    • accountId – S3 儲存貯體所在的 AWS 帳戶 ID。

      bucket_name/optional_key_prefixAmazon S3 中結果目的地的 Amazon Resource Name (ARN)。 Amazon S3 您可以在 Amazon S3 中儲存貯體的屬性索引標籤中找到 Amazon Resource Name (ARN) Amazon S3

  5. 繼續遵循使用自訂信任政策 (主控台) 建立角色程序來建立角色。