添加或编辑访问点策略 - Amazon S3 on Outposts

添加或编辑访问点策略

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

以下主题说明了如何使用 AWS Management Console、AWS Command Line Interface (AWS CLI) 和AWS 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 设置 IAM

以下 AWS 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()); }