添加或编辑访问点策略
访问点具有不同的权限和网络控制,Amazon S3 on Outposts 将它们应用于通过该访问点发出的任何请求。每个接入点强制实施自定义接入点策略,该策略与附加到底层存储桶的存储桶策略结合使用。有关更多信息,请参阅 接入点。
以下主题说明了如何使用 AWS Management Console、AWS Command Line Interface (AWS CLI) 和AWS SDK for Java 添加或编辑您的 S3 on Outposts 访问点策略。
通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择 Outposts buckets(Outposts 存储桶)。
-
选择要为其编辑访问点策略的 Outposts 存储桶。
-
选择 Outposts 访问点选项卡。
-
在 Outposts access points(Outposts 访问点)部分中,选择要编辑其策略的访问点,然后选择 Edit policy(编辑策略)。
-
在 Outposts access point policy(Outposts 访问点策略)部分中添加或编辑策略。有关更多信息,请参阅 使用 S3 on Outposts 设置 IAM。
以下 AWS CLI 示例在 Outposts 访问点上放置策略。
-
将以下访问点策略保存到 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
} ] } -
将 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()); }