使用 IAM 对区域端点 API 操作进行授权
Amazon Identity and Access Management(IAM)是一项 Amazon Web Services 服务,有助于管理员安全地控制对 Amazon 资源的访问。IAM 管理员可控制哪些用户能够通过身份验证(登录)和获得授权(拥有权限),可以使用目录存储桶中的 Amazon S3 资源和执行 S3 Express One Zone 操作。使用 IAM 不会产生额外的费用。
默认情况下,用户没有目录存储桶的权限。要授予对目录存储桶的访问权限,您可以使用 IAM 创建用户、组或角色,然后将权限附加到这些身份。有关 IAM 的更多信息,请参阅《IAM 用户指南》中的安全最佳实践。
要提供访问权限,您可以通过以下方法为用户、组或角色添加权限:
-
Amazon IAM Identity Center 中的用户和组 – 创建权限集。按照《Amazon IAM Identity Center 用户指南》中创建权限集的说明进行操作。
-
通过身份提供商在 IAM 中管理的用户 – 创建身份联合验证角色。按照《IAM 用户指南》中为第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 角色和用户 – 创建您的用户可以代入的角色。请按照《IAM 用户指南》的创建向 IAM 用户委派权限的角色中的说明进行操作。
有关为 S3 Express One Zone 设置 IAM 的更多信息,请参阅以下主题。
主体
创建基于资源的策略以授予对存储桶的访问权限时,您必须使用 Principal
元素来指定可请求对该资源执行某个操作或运算的人员或应用程序。对于目录存储桶策略,您可以使用以下主体:
-
Amazon 账户
-
IAM 用户
-
IAM 角色
-
联合用户
有关更多信息,请参阅 IAM 用户指南中的 Principal。
资源
目录存储桶的 Amazon 资源名称(ARN)包含 s3express
命名空间、Amazon Web Services 区域、Amazon 账户 ID 和目录存储桶名称,其中包括 Amazon 可用区 ID(可用区或本地区域 ID)。
要访问目录存储桶并对其执行操作,您必须使用以下 ARN 格式:
arn:aws:s3express:
region
:account-id
:bucket/base-bucket-name
--zone-id
--x-s3
要访问目录存储桶的接入点并对其执行操作,必须使用以下 ARN 格式:
arn:aws::s3express:
region
:account-id
:accesspoint/accesspoint-basename
--zone-id
--xa-s3
有关更多信息,请参阅《IAM 用户指南》中的 Amazon Resource Names (ARNs)。有关资源的更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:Resource。
目录存储桶的操作
在基于 IAM 身份的策略或基于资源的策略中,您可以定义要允许或拒绝的 S3 操作。这些操作对应于特定的 API 操作。使用目录存储桶,您必须使用 S3 Express One Zone 命名空间来授予权限,称为 s3express
。
当您支持 s3express:CreateSession
权限时,CreateSession
API 操作将为所有可用区端点 API(对象级)操作检索临时会话令牌。这些会话令牌返回用于所有其它可用区端点 API 操作的凭证。因此,您不需要使用 IAM 策略授予对可用区 API 操作的访问权限。相反,CreateSession
启用对所有对象级操作的访问权限。有关可用区 API 操作和权限的列表,请参阅对请求进行身份验证和授权。
要了解有关 CreateSession
API 操作的更多信息,请参阅《Amazon Simple Storage Service API 参考》中的 CreateSession。
您可以在 IAM 策略语句的 Action
元素中指定以下操作。可以使用策略授予在 Amazon 中执行操作的权限。当您在策略中使用一项操作时,通常会允许或拒绝使用具有相同名称的 API 操作。但在某些情况下,单个操作可控制对多个 API 操作的访问。对存储桶级操作的访问权限,只能在基于 IAM 身份的策略(用户或角色)中授予,不能在存储桶策略中授予。
有关如何配置接入点策略的更多信息,请参阅配置 IAM 策略以使用目录存储桶的接入点。
有关更多信息,请参阅 Actions, resources, and condition keys for Amazon S3 Express。