为 AWS Clean Rooms ML 设置服务角色 - AWS Clean Rooms

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 AWS Clean Rooms ML 设置服务角色

创建服务角色以读取训练数据

AWS Clean Rooms 使用服务角色读取训练数据。如果您拥有必要的IAM权限,则可以使用控制台创建此角色。如果您没有CreateRole权限,请要求您的管理员创建服务角色。

创建服务角色以训练数据集
  1. 使用您的管理员帐户登录IAM控制台 (https://console.aws.amazon.com/iam/)。

  2. 访问管理下,选择策略

  3. 选择 Create policy (创建策略)

  4. 策略编辑器中,选择JSON选项卡,然后复制并粘贴以下策略。

    注意

    以下示例策略支持读取 AWS Glue 元数据及其相应的 Amazon S3 数据所需的权限。但是,您可能需要修改此策略,具体取决于您设置 S3 数据的方式。此政策不包括用于解密数据的密KMS钥。

    您的 AWS Glue 资源和底层 Amazon S3 资源必须与 AWS Clean Rooms 协作 AWS 区域 相同。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetPartitions", "glue:GetPartition", "glue:BatchGetPartition", "glue:GetUserDefinedFunctions" ], "Resource": [ "arn:aws:glue:region:accountId:database/databases", "arn:aws:glue:region:accountId:table/databases/tables", "arn:aws:glue:region:accountId:catalog", "arn:aws:glue:region:accountId:database/default" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase" ], "Resource": [ "arn:aws:glue:region:accountId:database/default" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::bucket" ], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "accountId" ] } } }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketFolders/*" ], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "accountId" ] } } } ] }

    如果您需要使用密KMS钥来解密数据,请将以下 AWS KMS 语句添加到之前的模板中:

    { "Effect": "Allow", "Action": [ "kms:Decrypt", ], "Resource": [ "arn:aws:kms:region:accountId:key/keyId" ], "Condition": { "ArnLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::bucketFolders*" } } } ] }
  5. 选择下一步

  6. 对于查看并创建,输入策略名称描述,然后查看摘要

  7. 选择创建策略

    您已经为创建了策略 AWS Clean Rooms。

  8. Access management(访问管理)下,请选择 Roles(角色)。

    通过使用角色,您可以创建短期凭证,建议这样做以提高安全性。您也可以选择用户来创建长期凭证。

  9. 选择 Create role(创建角色)。

  10. 创建角色向导中,对于可信实体类型,选择自定义信任策略

  11. 将以下自定义信任策略复制并粘贴到JSON编辑器中。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumeRole", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEqualsIfExists": { "aws:SourceAccount": ["accountId"] }, "StringLikeIfExists": { "aws:SourceArn": "arn:aws:cleanrooms-ml:region:account:training-dataset/*" } } } ] }

    永远SourceAccount是你的 AWS 账户。可以将 SourceArn 限制为特定的训练数据集,但仅在创建该数据集之后。由于您无法预先知道训练数据集ARN,因此在此处指定了通配符。

  12. 选择下一步,在添加权限下面,输入您刚刚创建的策略的名称。(您可能需要重新加载页面。)

  13. 选中您创建的策略旁边的复选框,然后选择下一步

  14. 对于命名、查看和创建,输入角色名称描述

    注意

    角色名称必须与授予可以查询和接收结果的成员和成员角色的 passRole 权限中的模式相匹配。

    1. 查看选择受信任的实体,并在必要时进行编辑。

    2. 添加权限中查看权限,并在必要时进行编辑。

    3. 查看标签,并在必要时添加标签。

    4. 选择 Create role(创建角色)。

  15. 的服务角色 AWS Clean Rooms 已创建。

创建服务角色以写入相似细分

AWS Clean Rooms 使用服务角色将相似的区段写入存储桶。如果您拥有必要的IAM权限,则可以使用控制台创建此角色。如果您没有CreateRole权限,请要求您的管理员创建服务角色。

创建服务角色以写入相似细分
  1. 使用您的管理员帐户登录IAM控制台 (https://console.aws.amazon.com/iam/)。

  2. 访问管理下,选择策略

  3. 选择 Create policy (创建策略)

  4. 策略编辑器中,选择JSON选项卡,然后复制并粘贴以下策略。

    注意

    以下示例策略支持读取 AWS Glue 元数据及其相应的 Amazon S3 数据所需的权限。但是,您可能需要修改此策略,具体取决于您设置 S3 数据的方式。此政策不包括用于解密数据的密KMS钥。

    您的 AWS Glue 资源和底层 Amazon S3 资源必须与 AWS Clean Rooms 协作 AWS 区域 相同。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::buckets" ], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "accountId" ] } } }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucketFolders/*" ], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "accountId" ] } } } ] }

    如果您需要使用KMS密钥来加密数据,请将以下 AWS KMS 语句添加到模板中:

    { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*", ], "Resource": [ "arn:aws:kms:region:accountId:key/keyId" ], "Condition": { "ArnLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::bucketFolders*" } } } ] }

    如果您需要使用KMS密钥来解密数据,请将以下 AWS KMS 语句添加到模板中:

    { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:region:accountId:key/keyId" ], "Condition": { "ArnLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::bucketFolders*" } } } ] }
  5. 选择下一步

  6. 对于查看并创建,输入策略名称描述,然后查看摘要

  7. 选择创建策略

    您已经为创建了策略 AWS Clean Rooms。

  8. Access management(访问管理)下,请选择 Roles(角色)。

    通过使用角色,您可以创建短期凭证,建议这样做以提高安全性。您也可以选择用户来创建长期凭证。

  9. 选择 Create role(创建角色)。

  10. 创建角色向导中,对于可信实体类型,选择自定义信任策略

  11. 将以下自定义信任策略复制并粘贴到JSON编辑器中。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumeRole", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEqualsIfExists": { "aws:SourceAccount": ["accountId"] }, "StringLikeIfExists": { "aws:SourceArn": "arn:aws:cleanrooms-ml:region:account:configured-audience-model/*" } } } ] }

    永远SourceAccount是你的 AWS 账户。可以将 SourceArn 限制为特定的训练数据集,但仅在创建该数据集之后。由于您无法预先知道训练数据集ARN,因此在此处指定了通配符。

  12. 选择下一步

  13. 选中您创建的策略旁边的复选框,然后选择下一步

  14. 对于命名、查看和创建,输入角色名称描述

    注意

    角色名称必须与授予可以查询和接收结果的成员和成员角色的 passRole 权限中的模式相匹配。

    1. 查看选择受信任的实体,并在必要时进行编辑。

    2. 添加权限中查看权限,并在必要时进行编辑。

    3. 查看标签,并在必要时添加标签。

    4. 选择 Create role(创建角色)。

  15. 的服务角色 AWS Clean Rooms 已创建。

创建服务角色以读取种子数据

AWS Clean Rooms 使用服务角色读取种子数据。如果您拥有必要的IAM权限,则可以使用控制台创建此角色。如果您没有CreateRole权限,请要求您的管理员创建服务角色。

创建服务角色以读取存储在 Amazon S3 存储桶中的种子数据。
  1. 使用您的管理员帐户登录IAM控制台 (https://console.aws.amazon.com/iam/)。

  2. 访问管理下,选择策略

  3. 选择 Create policy (创建策略)

  4. 策略编辑器中,选择JSON选项卡,然后复制并粘贴以下策略之一。

    注意

    以下示例策略支持读取 AWS Glue 元数据及其相应的 Amazon S3 数据所需的权限。但是,您可能需要修改此策略,具体取决于您设置 S3 数据的方式。此政策不包括用于解密数据的密KMS钥。

    您的 AWS Glue 资源和底层 Amazon S3 资源必须与 AWS Clean Rooms 协作 AWS 区域 相同。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", ], "Resource": [ "arn:aws:s3:::buckets" ], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "accountId" ] } } }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketFolders/*" ], "Condition":{ "StringEquals":{ "s3:ResourceAccount":[ "accountId" ] } } } ] }
    注意

    以下示例策略支持读取SQL查询结果并将其用作输入数据所需的权限。但是,您可能需要根据查询的结构修改此策略。此政策不包括用于解密数据的密KMS钥。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCleanRoomsStartQuery", "Effect": "Allow", "Action": [ "cleanrooms:GetCollaborationAnalysisTemplate", "cleanrooms:GetSchema", "cleanrooms:StartProtectedQuery" ], "Resource": "*" }, { "Sid": "AllowCleanRoomsGetAndUpdateQuery", "Effect": "Allow", "Action": [ "cleanrooms:GetProtectedQuery", "cleanrooms:UpdateProtectedQuery" ], "Resource": [ "arn:aws:cleanrooms:{{region}}:{{queryRunnerAccountId}}:membership/{{queryRunnerMembershipId}}" ] } ] }

    如果您需要使用KMS密钥来解密数据,请将以下 AWS KMS 语句添加到模板中:

    { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:region:accountId:key/keyId" ], "Condition": { "ArnLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::bucketFolders*" } } } ] }
  5. 选择下一步

  6. 对于查看并创建,输入策略名称描述,然后查看摘要

  7. 选择创建策略

    您已经为创建了策略 AWS Clean Rooms。

  8. Access management(访问管理)下,请选择 Roles(角色)。

    通过使用角色,您可以创建短期凭证,建议这样做以提高安全性。您也可以选择用户来创建长期凭证。

  9. 选择 Create role(创建角色)。

  10. 创建角色向导中,对于可信实体类型,选择自定义信任策略

  11. 将以下自定义信任策略复制并粘贴到JSON编辑器中。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumeRole", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEqualsIfExists": { "aws:SourceAccount": ["accountId"] }, "StringLikeIfExists": { "aws:SourceArn": "arn:aws:cleanrooms-ml:region:account:audience-generation-job/*" } } } ] }

    永远SourceAccount是你的 AWS 账户。可以将 SourceArn 限制为特定的训练数据集,但仅在创建该数据集之后。由于您无法预先知道训练数据集ARN,因此在此处指定了通配符。

  12. 选择下一步

  13. 选中您创建的策略旁边的复选框,然后选择下一步

  14. 对于命名、查看和创建,输入角色名称描述

    注意

    角色名称必须与授予可以查询和接收结果的成员和成员角色的 passRole 权限中的模式相匹配。

    1. 查看选择受信任的实体,并在必要时进行编辑。

    2. 添加权限中查看权限,并在必要时进行编辑。

    3. 查看标签,并在必要时添加标签。

    4. 选择 Create role(创建角色)。

  15. 的服务角色 AWS Clean Rooms 已创建。