本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Cross-account 访问用于自定义模型导入任务的 Amazon S3 存储桶
如果您要从不同的 Amazon S3 存储桶中导入模型 AWS 账户,则在导入自定义模型之前,您需要授予访问该存储桶的权限。请参阅导入自定义模型的先决条件。
注意
如果自定义模型导入任务是通过 Amazon Bedrock 控制台提交的,则会自动创建默认的导入执行角色。您必须编辑默认的导入执行角色策略,并将为指定的账户 ID 替换为aws:ResourceAccount存储桶拥有者的 AWS 账户 ID。
配置对 Amazon S3 存储桶的跨账户访问
按照以下步骤为自定义模型导入任务配置对 Amazon S3 存储桶的跨账户访问权限。
-
创建导入执行角色 — 在用户 AWS 账户 (将运行导入任务的账户)中,创建一个 Amazon Bedrock 可以担任的 IAM 角色。有关为自定义模型导入创建服务角色的更多信息,请参阅导入自定义模型的先决条件。
-
创建存储桶策略-在存储桶拥有者的账户中,创建存储桶策略,向用户账户中的导入执行角色授予访问权限。
以下示例存储桶策略(由存储桶拥有者创建并应用到存储桶
s3://amzn-s3-demo-bucket)向存储桶拥有者账户123456789123中的用户授予访问权限。 -
创建导入执行角色策略-在用户的导入执行角色中 AWS 账户,将允许访问跨账户存储桶的策略附加到导入执行角色。对于
aws:ResourceAccount,请指定存储桶所有者的账户 ID AWS 账户。用户账户中的以下示例导入执行角色策略,向存储桶拥有者的账户 ID
111222333444555提供对 Amazon S3 存储桶s3://amzn-s3-demo-bucket的访问权限。
配置对使用自定义加密的 Amazon S3 存储桶的跨账户访问权限 AWS KMS key
如果 Amazon S3 存储桶使用自定义 AWS Key Management Service (AWS KMS) 密钥加密,则需要执行其他步骤来授予导入执行角色解密密钥的权限。
-
创建导入执行角色 — 在用户的导入执行角色中 AWS 账户,创建 Amazon Bedrock 可以担任的 IAM 角色。有关更多信息,请参阅 导入自定义模型的先决条件。
-
创建存储桶策略-在存储桶拥有者的账户中,创建存储桶策略,向用户账户中的导入执行角色授予访问权限。
以下示例存储桶策略(由存储桶拥有者创建并应用到存储桶
s3://amzn-s3-demo-bucket)向存储桶拥有者账户123456789123中的用户授予访问权限。 -
更新 AWS KMS 密钥策略-在存储桶拥有者的账户中,将以下语句添加到 AWS KMS 密钥策略中,以允许用户的导入执行角色解密对象。
{ "Sid": "Allow use of the key by the destination account", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789123:role/ImportRole" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" } -
创建导入执行角色策略-在用户的导入执行角色中 AWS 账户,将策略附加到允许访问跨账户存储桶和 AWS KMS 密钥的导入执行角色。对于
aws:ResourceAccount,请指定存储桶所有者的账户 ID AWS 账户。以下示例导入执行角色策略提供对存储桶拥有者
s3://amzn-s3-demo-bucket在账户中的 Amazon S3 存储桶的访问权限,111222333444555以及 AWS KMS keyarn:aws:kms:。us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd