本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置对 Amazon S3 存储桶的访问权限
有多个 Amazon Bedrock 功能需要访问存储在 Amazon S3 存储桶中的数据。要访问该数据,您必须配置以下权限:
| 使用案例 | Permissions |
|---|---|
| 从 S3 存储桶中检索数据的权限 | s3:GetObject s3:ListBucket |
| 将数据写入 S3 存储桶的权限 | s3:PutObject |
| 对加密 S3 存储桶的 KMS 密钥进行解密的权限 | kms:Decrypt kms: DescribeKey |
需要将上述权限附加到哪些身份或资源取决于以下因素:
以下内容介绍如何确定访问 S3 数据所必需的权限需要附加到什么位置:
-
IAM 身份权限
-
如果您可以在控制台中自动创建服务角色,系统将为该服务角色配置权限,因此您无需自行配置。
-
如果您更喜欢使用自定义服务角色,或者需要访问权限的身份不是服务角色,请参阅将权限附加到 IAM 身份以允许其访问 Amazon S3 存储桶,了解如何创建具有适当权限的基于身份的策略。
-
-
基于资源的权限
-
如果该身份需要访问同一账户中的 S3 数据,则无需将 S3 存储桶策略附加到包含该数据的存储桶。
-
如果该身份需要访问其他账户中的 S3 数据,请参阅将存储桶策略附加到 Amazon S3 存储桶以允许其他账户访问它,了解如何创建具有适当权限的 S3 存储桶策略。
重要
在中自动创建服务角色会为该角色AWS 管理控制台附加适当的基于身份的权限,但是如果需要访问 S3 存储桶策略的身份不同,则仍必须配置 S3 存储桶策略。AWS 账户
-
有关更多信息,请参阅以下链接:
-
要详细了解如何控制对 Amazon S3 中数据的访问权限,请参阅 Amazon S3 中的访问控制。
-
要了解有关 Amazon S3 权限的更多信息,请参阅 Amazon S3 定义的操作。
-
要了解有关AWS KMS权限的更多信息,请参阅由定义的操作AWS Key Management Service。
继续阅读与您的使用案例相关的主题:
将权限附加到 IAM 身份以允许其访问 Amazon S3 存储桶
此主题提供了附加到 IAM 身份的策略的模板。该策略包含以下语句,这些语句定义的权限用于向 IAM 身份授予对 S3 存储桶的访问权限:
-
从 S3 存储桶中检索数据的权限。此语句还包含一个使用
s3:prefix条件键的条件,用来限制对存储桶中特定文件夹的访问。有关此条件的更多信息,请参阅示例 2:获取存储桶中具有特定前缀的对象列表中的用户策略部分。 -
(如果您需要向 S3 位置写入数据)向 S3 存储桶写入数据的权限。此语句还包括一个使用
aws:ResourceAccount条件键来限制对特定用户发送的请求的访问的条件AWS 账户。 -
(如果使用 KMS 密钥加密了 S3 存储桶)描述和解密加密 S3 存储桶的 KMS 密钥的权限。
注意
如果您的 S3 存储桶启用了版本控制,则您使用此功能上传的每个对象版本可能都具有自己的加密密钥。您负责跟踪哪个加密密钥用于哪个对象版本。
添加、修改和删除以下策略中的语句、资源和条件,并${values}根据需要进行替换:
根据您的使用案例修改策略后,将其附加到需要访问 S3 存储桶的服务角色(或 IAM 身份)。要了解如何将权限附加到 IAM 策略,请参阅添加和删除 IAM 身份权限。
将存储桶策略附加到 Amazon S3 存储桶以允许其他账户访问它
本主题提供了一个模板,该模板对应的基于资源的策略可附加到 S3 存储桶,来允许 IAM 身份访问存储桶中的数据。策略包含以下语句,这些语句定义了该身份访问存储桶的权限:
-
从 S3 存储桶中检索数据的权限。
-
(如果您需要向 S3 位置写入数据)向 S3 存储桶写入数据的权限。
-
(如果使用 KMS 密钥加密了 S3 存储桶)描述和解密加密 S3 存储桶的 KMS 密钥的权限。
注意
如果您的 S3 存储桶启用了版本控制,则您使用此功能上传的每个对象版本可能都具有自己的加密密钥。您负责跟踪哪个加密密钥用于哪个对象版本。
这些权限与将权限附加到 IAM 身份以允许其访问 Amazon S3 存储桶中所述的基于身份的权限类似。但是,每个语句还要求您在 Principal 字段中指定要为其授予资源权限的身份。在 Principal 字段中指定身份(对于 Amazon Bedrock 中的大多数功能,这都是服务角色)。添加、修改和删除以下策略中的语句、资源和条件,并${values}根据需要进行替换:
根据您的使用案例修改策略后,将其附加到 S3 存储桶。要了解如何将策略附加到 S3 存储桶,请参阅使用 Amazon S3 控制台添加存储桶策略。
(高级安全选项)在语句中包含条件以实现更精细的访问
为了更好地控制可以访问您的资源的身份,您可以在策略语句中包含条件。本主题中的策略提供使用以下条件键的示例:
-
s3:prefix:S3 条件键,用于限制对 S3 存储桶中特定文件夹的访问。有关此条件键的更多信息,请参阅示例 2:获取存储桶中具有特定前缀的对象列表中的用户策略部分。 -
aws:ResourceAccount— 一个全局条件密钥,用于限制对来自特定AWS 账户用户的请求的访问。
以下策略限制对 S3 存储桶中my-folder文件夹的读取权限,并amzn-s3-demo-bucket将 S3 存储桶的写入权限限制为来自的请求,ID AWS 账户 为:amzn-s3-demo-destination-bucket111122223333
要了解有关条件和条件键的更多信息,请参阅以下链接:
-
要了解条件,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:Condition。
-
要了解特定于 S3 的条件键,请参阅《服务授权参考》中的 Amazon S3 的条件键。
-
要了解跨使用的全局条件键AWS 服务,请参阅AWS全局条件上下文键。