添加或编辑访问点策略 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

添加或编辑访问点策略

访问点具有不同的权限和网络控制,Amazon S3 on Outposts 将它们应用于通过该访问点发出的任何请求。每个访问点强制实施自定义访问点策略,该策略与附加到底层存储桶的存储桶策略结合使用。有关更多信息,请参阅访问点

以下主题说明了如何使用 Amazon Web Services Management Console、Amazon Command Line Interface (Amazon CLI) 和Amazon SDK for Java 添加或编辑您的 S3 on Outposts 访问点策略。

  1. 通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在左侧导航窗格中,选择 Outposts buckets(Outposts 存储桶)。

  3. 选择要为其编辑访问点策略的 Outposts 存储桶。

  4. 选择 Outposts 访问点选项卡。

  5. Outposts access points(Outposts 访问点)部分中,选择要编辑其策略的访问点,然后选择 Edit policy(编辑策略)。

  6. Outposts access point policy(Outposts 访问点策略)部分中添加或编辑策略。有关更多信息,请参阅对 S3 on Outposts 设置 Amazon Identity and Access Management

以下 Amazon CLI 示例在 Outposts 访问点上放置策略。

  1. 将以下访问点策略保存到 JSON 文件中。在本示例中,文件命名为 appolicy1.json。将 user input placeholders 替换为您自己的信息。

    { "Version":"2012-10-17", "Id":"exampleAccessPointPolicy", "Statement":[ { "Sid":"st1", "Effect":"Allow", "Principal":{ "AWS":"123456789012" }, "Action":"s3-outposts:*", "Resource":"arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point } ] }
  2. 将 JSON 文件作为 put-access-point-policy CLI 命令的一部分提交。将 user input placeholders 替换为您自己的信息。

    aws s3control put-access-point-policy --account-id 123456789012 --name arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point --policy file://appolicy1.json

以下 SDK for Java 示例在 Outposts 接入点上放置策略。

import com.amazonaws.services.s3control.model.*; public void putAccessPointPolicy(String accessPointArn) { String policy = "{\"Version\":\"2012-10-17\",\"Id\":\"testAccessPointPolicy\",\"Statement\":[{\"Sid\":\"st1\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"" + AccountId + "\"},\"Action\":\"s3-outposts:*\",\"Resource\":\"" + accessPointArn + "\"}]}"; PutAccessPointPolicyRequest reqPutAccessPointPolicy = new PutAccessPointPolicyRequest() .withAccountId(AccountId) .withName(accessPointArn) .withPolicy(policy); PutAccessPointPolicyResult respPutAccessPointPolicy = s3ControlClient.putAccessPointPolicy(reqPutAccessPointPolicy); System.out.printf("PutAccessPointPolicy Response: %s%n", respPutAccessPointPolicy.toString()); printWriter.printf("PutAccessPointPolicy Response: %s%n", respPutAccessPointPolicy.toString()); }