本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 AWS Clean Rooms ML 设置服务角色
创建服务角色以读取训练数据
AWS Clean Rooms 使用服务角色读取训练数据。如果您拥有必要的IAM权限,则可以使用控制台创建此角色。如果您没有CreateRole
权限,请要求您的管理员创建服务角色。
创建服务角色以训练数据集
-
使用您的管理员帐户登录IAM控制台 (https://console.aws.amazon.com/iam/
)。 -
在访问管理下,选择策略。
-
选择 Create policy (创建策略)。
-
在策略编辑器中,选择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
*" } } } ] } -
选择下一步。
-
对于查看并创建,输入策略名称和描述,然后查看摘要。
-
选择创建策略。
您已经为创建了策略 AWS Clean Rooms。
-
在 Access management(访问管理)下,请选择 Roles(角色)。
通过使用角色,您可以创建短期凭证,建议这样做以提高安全性。您也可以选择用户来创建长期凭证。
-
选择 Create role(创建角色)。
-
在创建角色向导中,对于可信实体类型,选择自定义信任策略。
-
将以下自定义信任策略复制并粘贴到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,因此在此处指定了通配符。 -
选择下一步,在添加权限下面,输入您刚刚创建的策略的名称。(您可能需要重新加载页面。)
-
选中您创建的策略旁边的复选框,然后选择下一步。
-
对于命名、查看和创建,输入角色名称和描述。
注意
角色名称必须与授予可以查询和接收结果的成员和成员角色的
passRole
权限中的模式相匹配。-
查看选择受信任的实体,并在必要时进行编辑。
-
在添加权限中查看权限,并在必要时进行编辑。
-
查看标签,并在必要时添加标签。
-
选择 Create role(创建角色)。
-
-
的服务角色 AWS Clean Rooms 已创建。
创建服务角色以写入相似细分
AWS Clean Rooms 使用服务角色将相似的区段写入存储桶。如果您拥有必要的IAM权限,则可以使用控制台创建此角色。如果您没有CreateRole
权限,请要求您的管理员创建服务角色。
创建服务角色以写入相似细分
-
使用您的管理员帐户登录IAM控制台 (https://console.aws.amazon.com/iam/
)。 -
在访问管理下,选择策略。
-
选择 Create policy (创建策略)。
-
在策略编辑器中,选择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
*" } } } ] } -
选择下一步。
-
对于查看并创建,输入策略名称和描述,然后查看摘要。
-
选择创建策略。
您已经为创建了策略 AWS Clean Rooms。
-
在 Access management(访问管理)下,请选择 Roles(角色)。
通过使用角色,您可以创建短期凭证,建议这样做以提高安全性。您也可以选择用户来创建长期凭证。
-
选择 Create role(创建角色)。
-
在创建角色向导中,对于可信实体类型,选择自定义信任策略。
-
将以下自定义信任策略复制并粘贴到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,因此在此处指定了通配符。 -
选择下一步。
-
选中您创建的策略旁边的复选框,然后选择下一步。
-
对于命名、查看和创建,输入角色名称和描述。
注意
角色名称必须与授予可以查询和接收结果的成员和成员角色的
passRole
权限中的模式相匹配。-
查看选择受信任的实体,并在必要时进行编辑。
-
在添加权限中查看权限,并在必要时进行编辑。
-
查看标签,并在必要时添加标签。
-
选择 Create role(创建角色)。
-
-
的服务角色 AWS Clean Rooms 已创建。
创建服务角色以读取种子数据
AWS Clean Rooms 使用服务角色读取种子数据。如果您拥有必要的IAM权限,则可以使用控制台创建此角色。如果您没有CreateRole
权限,请要求您的管理员创建服务角色。
创建服务角色以读取存储在 Amazon S3 存储桶中的种子数据。
-
使用您的管理员帐户登录IAM控制台 (https://console.aws.amazon.com/iam/
)。 -
在访问管理下,选择策略。
-
选择 Create policy (创建策略)。
-
在策略编辑器中,选择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
*" } } } ] } -
选择下一步。
-
对于查看并创建,输入策略名称和描述,然后查看摘要。
-
选择创建策略。
您已经为创建了策略 AWS Clean Rooms。
-
在 Access management(访问管理)下,请选择 Roles(角色)。
通过使用角色,您可以创建短期凭证,建议这样做以提高安全性。您也可以选择用户来创建长期凭证。
-
选择 Create role(创建角色)。
-
在创建角色向导中,对于可信实体类型,选择自定义信任策略。
-
将以下自定义信任策略复制并粘贴到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,因此在此处指定了通配符。 -
选择下一步。
-
选中您创建的策略旁边的复选框,然后选择下一步。
-
对于命名、查看和创建,输入角色名称和描述。
注意
角色名称必须与授予可以查询和接收结果的成员和成员角色的
passRole
权限中的模式相匹配。-
查看选择受信任的实体,并在必要时进行编辑。
-
在添加权限中查看权限,并在必要时进行编辑。
-
查看标签,并在必要时添加标签。
-
选择 Create role(创建角色)。
-
-
的服务角色 AWS Clean Rooms 已创建。