对 Local Zones 中的目录存储桶进行身份验证和授权
Local Zones 中的目录存储桶同时支持 AWS Identity and Access Management(IAM)授权和基于会话的授权。有关目录存储桶的身份验证和授权的更多信息,请参阅对请求进行身份验证和授权。
资源
目录存储桶的 Amazon 资源名称(ARN)包含 s3express
命名空间、AWS 父区域、AWS 账户 ID 和目录存储桶名称(包括可用区 ID)。要访问目录存储桶并对其执行操作,您必须使用以下 ARN 格式:
arn:aws:s3express:
region-code
:account-id
:bucket/bucket-base-name
--ZoneID
--x-s3
对于本地区域中的目录存储桶,可用区 ID 是本地区域的 ID。有关 Local Zones 中的目录存储桶的更多信息,请参阅Local Zones 中目录存储桶的概念。有关 ARN 的更多信息,请参阅《IAM 用户指南》中的 Amazon 资源名称(ARN)。有关资源的更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:Resource。
Local Zones 中目录存储桶的条件键
在 Local Zones 中,您可以在 IAM 策略中使用目录存储桶的条件键。此外,要在本地区域网络边界组周围创建数据边界,您可以使用条件键 s3express:AllAccessRestrictedToLocalZoneGroup
来拒绝来自组外部的所有请求。
以下条件键可用于进一步细化 IAM 策略语句适用的条件。有关目录存储桶支持的 API 操作、策略操作和条件键的完整列表,请参阅目录存储桶的策略操作。
注意
以下条件键仅适用于 Local Zones,在可用区和 AWS 区域中不受支持。
API 操作 | 策略操作 | 描述 | 条件键 | 描述 | 类型 |
---|---|---|---|---|---|
可用区端点 API 操作 |
s3express:CreateSession
|
授予权限以创建会话令牌,该令牌用于授予对所有可用区端点 API 操作的访问权限,例如 |
s3express:AllAccessRestrictedToLocalZoneGroup
|
筛选对存储桶的所有访问权限,除非请求源自此条件键中提供的 AWS 本地区域网络边界组。 值:本地区域网络边界组值 |
String
|
策略示例
要将对象访问仅限于您定义的数据驻留边界内的请求(具体而言为 Local Zones 组,即一组以同一个 AWS 区域为父级的 Local Zones),您可以设置以下任何策略:
-
服务控制策略(SCP)。有关 SCP 的信息,请参阅《AWS Organizations User Guide》中的 Service control policies (SCPs)。
-
适用于 IAM 角色的基于 IAM 身份的策略。
-
VPC 端点策略。有关 VPC 端点策略的更多信息,请参阅《AWS PrivateLink Guide》中的 Control access to VPC endpoints using endpoint policies。
-
S3 存储桶策略。
注意
条件键 s3express:AllAccessRestrictedToLocalZoneGroup
不支持从本地环境进行访问。要支持从本地环境进行访问,您必须将源 IP 添加到策略中。有关更多信息,请参阅《IAM 用户指南》中的 aws:SourceIp。
例 – SCP 策略
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Access-to-specific-LocalZones-only", "Effect": "Deny", "Action": [ "s3express:*", ], "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "s3express:AllAccessRestrictedToLocalZoneGroup": [ "
local-zone-network-border-group-value
" ] } } } ] }
例 – 基于 IAM 身份的策略(附加到 IAM 角色)
{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "s3express:CreateSession", "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "s3express:AllAccessRestrictedToLocalZoneGroup": [ "
local-zone-network-border-group-value
" ] } } } }
例 – VPC 端点策略
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Access-to-specific-LocalZones-only", "Principal": "*", "Action": "s3express:CreateSession", "Effect": "Deny", "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "s3express:AllAccessRestrictedToLocalZoneGroup": [ "
local-zone-network-border-group-value
" ] } } } ] }
例 – 存储桶策略
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Access-to-specific-LocalZones-only", "Principal": "*", "Action": "s3express:CreateSession", "Effect": "Deny", "Resource": "*", "Condition": { "StringNotEqualsIfExists": { "s3express:AllAccessRestrictedToLocalZoneGroup": [ "
local-zone-network-border-group-value
" ] } } } ] }