对 S3 on Outposts 设置 Amazon Identity and Access Management - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

对 S3 on Outposts 设置 Amazon Identity and Access Management

Amazon Identity and Access Management (IAM) 是一项 Amazon 服务,管理员可以使用它安全地控制对 Amazon Outposts 资源的访问。要允许 IAM 用户管理 Amazon Outposts 资源,您可以创建一个 IAM 策略,明确授予他们权限。然后,将此策略附加到需要这些权限的 IAM 用户或组。有关更多信息,请参阅《Amazon Outposts 用户指南》中的适用于 Amazon Outposts 的 Identity and Access Management

Amazon S3 on Outposts 同时支持存储桶和访问点策略。S3 on Outposts 策略使用与 S3 不同的 IAM 操作命名空间(s3-outposts:*s3:*),以便为您提供对存储在 Outpost 上的数据的不同控制。

对 Amazon Web Services 区域 中的 S3 on Outposts 控制 API 发出的请求以及对 Outpost 上的对象 API 终端节点发出的请求将使用 IAM 进行身份验证并针对 s3-outposts:* IAM 命名空间进行授权。

配置您的 IAM 用户并针对 s3-outposts:* IAM 命名空间对其进行授权。除了 IAM 用户策略之外,在 Outpost 访问点上配置的访问点策略和存储桶策略控制对象 API 请求的授权。有关 S3 on Outposts 权限的完整列表,请参阅《服务授权参考》中的 Amazon S3 on Outposts 的操作、资源和条件键

注意
  • S3 on Outposts 不支持访问控制列表 (ACL)。

  • S3 on Outposts 默认将存储桶拥有者作为对象所有者,以帮助确保存储桶的拥有者不会被阻止访问或删除对象。

  • S3 on Outposts 始终启用“S3 阻止公有访问”,以帮助确保对象从不会具有公有访问权限。

  • S3 on Outposts 使用 IAM 操作命名空间 s3-outposts:<ACTION>。有关更多信息,请参阅《服务授权参考》中的 S3 on Outposts 的操作、资源和条件键

有关为 S3 on Outposts 设置 IAM 的更多信息,请参阅以下主题。

S3 on Outposts 的 ARN

S3 on Outposts 的 Amazon Resource Name (ARN) 除了包含 Amazon Web Services 区域、Amazon Web Services 账户 ID 和资源名称外,还包含 Outpost ID。您必须使用此 ARN 格式访问 Outposts 存储桶和对象并对它们执行操作。

Amazon S3 on Outposts ARN ARN 格式 示例
存储桶 ARN arn:<partition>:s3-outposts:<region>:​<account_id>:​outpost/<outpost_id>/bucket/<bucket_name> arn:aws:s3-outposts:us-west-2:123456789012:​outpost/op-01ac5d28a6a232904/bucket/DOC-EXAMPLE-BUCKET1
访问点 ARN arn:<partition>:s3-outposts:<region>:​<account_id>:​outpost/<outpost_id>/accesspoint/<accesspoint_name> arn:aws:s3-outposts:us-west-2:123456789012:​outpost/op-01ac5d28a6a232904/accesspoint/access-point-name
对象 ARN arn:<partition>:s3-outposts:<region>:​<account_id>:​outpost/<outpost_id>/bucket/<bucket_name>/object/<object_key> arn:aws:s3-outposts:us-west-2:123456789012:​outpost/op-01ac5d28a6a232904/bucket/DOC-EXAMPLE-BUCKET1/object/myobject
S3 on Outposts AP 对象 ARN(在策略中使用) arn:<partition>:s3-outposts:<region>:​<account_id>:​outpost/<outpost_id>/accesspoint/<accesspoint_name>/object/<object_key> arn:aws:s3-outposts:us-west-2:123456789012:​outpost/op-01ac5d28a6a232904/accesspoint/access-point-name/object/myobject
S3 on Outposts ARN arn:<partition>:s3-outposts:<region>:​<account_id>:​outpost/<outpost_id> arn:aws:s3-outposts:us-west-2:123456789012:​outpost/op-01ac5d28a6a232904

S3 on Outposts 终端节点的权限

对于使用客户拥有的 IP 地址池(CoIP 池)访问类型的终端节点,您还必须具有从 CoIP 池分配和关联 IP 地址的权限。

S3 on Outposts 需要 IAM 中它自己的权限,来管理 S3 on Outposts 终端节点操作。

S3 on Outposts 终端节点相关的 IAM 权限
操作 IAM 权限
CreateEndpoint

s3-outposts:CreateEndpoint

ec2:CreateNetworkInterface

ec2:DescribeNetworkInterfaces

ec2:DescribeVpcs

ec2:DescribeSecurityGroups

ec2:DescribeSubnets

ec2:CreateTags

对于使用本地客户拥有的 IP 地址池(CoIP 池)访问类型的终端节点,将需要以下额外权限:

s3-outposts:CreateEndpoint

ec2:DescribeCoipPools

ec2:GetCoipPoolUsage

ec2:AllocateAddress

ec2:AssociateAddress

ec2:DescribeAddresses

ec2:DescribeLocalGatewayRouteTableVpcAssociations

DeleteEndpoint

s3-outposts:DeleteEndpoint

ec2:DeleteNetworkInterface

ec2:DescribeNetworkInterfaces

对于使用本地客户拥有的 IP 地址池(CoIP 池)访问类型的终端节点,将需要以下额外权限:

s3-outposts:DeleteEndpoint

ec2:DisassociateAddress

ec2:DescribeAddresses

ec2:ReleaseAddress

ListEndpoints

s3-outposts:ListEndpoints

注意

您可以使用 IAM 策略中的资源标签来管理权限。

对于使用 Amazon Resource Access Manager 访问 S3 on Outposts 的共享账户,用户无法在共享子网上创建自己的端点。如果共享账户中的用户想管理自己的端点,则共享账户必须在 Outpost 上创建自己的子网。