2022/11/30 - AWS S3 Control - 3 updated api methods
Changes Amazon S3 now supports cross-account access points. S3 bucket owners can now allow trusted AWS accounts to create access points associated with their bucket.
{'BucketAccountId': 'string'}
Creates an access point and associates it with the specified bucket. For more information, see Managing Data Access with Amazon S3 Access Points in the Amazon S3 User Guide.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to CreateAccessPoint:
See also: AWS API Documentation
Request Syntax
client.create_access_point( AccountId='string', Name='string', Bucket='string', VpcConfiguration={ 'VpcId': 'string' }, PublicAccessBlockConfiguration={ 'BlockPublicAcls': True|False, 'IgnorePublicAcls': True|False, 'BlockPublicPolicy': True|False, 'RestrictPublicBuckets': True|False }, BucketAccountId='string' )
string
[REQUIRED]
The Amazon Web Services account ID for the account that owns the specified access point.
string
[REQUIRED]
The name you want to assign to this access point.
string
[REQUIRED]
The name of the bucket that you want to associate this access point with.
For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.
dict
If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).
VpcId (string) -- [REQUIRED]
If this field is specified, this access point will only allow connections from the specified VPC ID.
dict
The PublicAccessBlock configuration that you want to apply to the access point.
BlockPublicAcls (boolean) --
Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to TRUE causes the following behavior:
PutBucketAcl and PutObjectAcl calls fail if the specified ACL is public.
PUT Object calls fail if the request includes a public ACL.
PUT Bucket calls fail if the request includes a public ACL.
Enabling this setting doesn't affect existing policies or ACLs.
This property is not supported for Amazon S3 on Outposts.
IgnorePublicAcls (boolean) --
Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.
Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
This property is not supported for Amazon S3 on Outposts.
BlockPublicPolicy (boolean) --
Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.
Enabling this setting doesn't affect existing bucket policies.
This property is not supported for Amazon S3 on Outposts.
RestrictPublicBuckets (boolean) --
Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to TRUE restricts access to buckets with public policies to only Amazon Web Service principals and authorized users within this account.
Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
This property is not supported for Amazon S3 on Outposts.
string
The Amazon Web Services account ID associated with the S3 bucket associated with this access point.
dict
Response Syntax
{ 'AccessPointArn': 'string', 'Alias': 'string' }
Response Structure
(dict) --
AccessPointArn (string) --
The ARN of the access point.
Alias (string) --
The name or alias of the access point.
{'BucketAccountId': 'string'}
Returns configuration information about the specified access point.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to GetAccessPoint:
See also: AWS API Documentation
Request Syntax
client.get_access_point( AccountId='string', Name='string' )
string
[REQUIRED]
The Amazon Web Services account ID for the account that owns the specified access point.
string
[REQUIRED]
The name of the access point whose configuration information you want to retrieve.
For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the access point accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/accesspoint/<my-accesspoint-name>. For example, to access the access point reports-ap through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/accesspoint/reports-ap. The value must be URL encoded.
dict
Response Syntax
{ 'Name': 'string', 'Bucket': 'string', 'NetworkOrigin': 'Internet'|'VPC', 'VpcConfiguration': { 'VpcId': 'string' }, 'PublicAccessBlockConfiguration': { 'BlockPublicAcls': True|False, 'IgnorePublicAcls': True|False, 'BlockPublicPolicy': True|False, 'RestrictPublicBuckets': True|False }, 'CreationDate': datetime(2015, 1, 1), 'Alias': 'string', 'AccessPointArn': 'string', 'Endpoints': { 'string': 'string' }, 'BucketAccountId': 'string' }
Response Structure
(dict) --
Name (string) --
The name of the specified access point.
Bucket (string) --
The name of the bucket associated with the specified access point.
NetworkOrigin (string) --
Indicates whether this access point allows access from the public internet. If VpcConfiguration is specified for this access point, then NetworkOrigin is VPC, and the access point doesn't allow access from the public internet. Otherwise, NetworkOrigin is Internet, and the access point allows access from the public internet, subject to the access point and bucket access policies.
This will always be true for an Amazon S3 on Outposts access point
VpcConfiguration (dict) --
Contains the virtual private cloud (VPC) configuration for the specified access point.
VpcId (string) --
If this field is specified, this access point will only allow connections from the specified VPC ID.
PublicAccessBlockConfiguration (dict) --
The PublicAccessBlock configuration that you want to apply to this Amazon S3 account. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of "Public" in the Amazon S3 User Guide.
This data type is not supported for Amazon S3 on Outposts.
BlockPublicAcls (boolean) --
Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to TRUE causes the following behavior:
PutBucketAcl and PutObjectAcl calls fail if the specified ACL is public.
PUT Object calls fail if the request includes a public ACL.
PUT Bucket calls fail if the request includes a public ACL.
Enabling this setting doesn't affect existing policies or ACLs.
This property is not supported for Amazon S3 on Outposts.
IgnorePublicAcls (boolean) --
Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.
Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
This property is not supported for Amazon S3 on Outposts.
BlockPublicPolicy (boolean) --
Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.
Enabling this setting doesn't affect existing bucket policies.
This property is not supported for Amazon S3 on Outposts.
RestrictPublicBuckets (boolean) --
Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to TRUE restricts access to buckets with public policies to only Amazon Web Service principals and authorized users within this account.
Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
This property is not supported for Amazon S3 on Outposts.
CreationDate (datetime) --
The date and time when the specified access point was created.
Alias (string) --
The name or alias of the access point.
AccessPointArn (string) --
The ARN of the access point.
Endpoints (dict) --
The VPC endpoint for the access point.
(string) --
(string) --
BucketAccountId (string) --
The Amazon Web Services account ID associated with the S3 bucket associated with this access point.
{'AccessPointList': {'BucketAccountId': 'string'}}
Returns a list of the access points owned by the current account associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or the number specified in maxResults, whichever is less), the response will include a continuation token that you can use to list the additional access points.
All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples section.
The following actions are related to ListAccessPoints:
See also: AWS API Documentation
Request Syntax
client.list_access_points( AccountId='string', Bucket='string', NextToken='string', MaxResults=123 )
string
[REQUIRED]
The Amazon Web Services account ID for the account that owns the specified access points.
string
The name of the bucket whose associated access points you want to list.
For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.
For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/bucket/<my-bucket-name>. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.
string
A continuation token. If a previous call to ListAccessPoints returned a continuation token in the NextToken field, then providing that value here causes Amazon S3 to retrieve the next page of results.
integer
The maximum number of access points that you want to include in the list. If the specified bucket has more than this number of access points, then the response will include a continuation token in the NextToken field that you can use to retrieve the next page of access points.
dict
Response Syntax
{ 'AccessPointList': [ { 'Name': 'string', 'NetworkOrigin': 'Internet'|'VPC', 'VpcConfiguration': { 'VpcId': 'string' }, 'Bucket': 'string', 'AccessPointArn': 'string', 'Alias': 'string', 'BucketAccountId': 'string' }, ], 'NextToken': 'string' }
Response Structure
(dict) --
AccessPointList (list) --
Contains identification and configuration information for one or more access points associated with the specified bucket.
(dict) --
An access point used to access a bucket.
Name (string) --
The name of this access point.
NetworkOrigin (string) --
Indicates whether this access point allows access from the public internet. If VpcConfiguration is specified for this access point, then NetworkOrigin is VPC, and the access point doesn't allow access from the public internet. Otherwise, NetworkOrigin is Internet, and the access point allows access from the public internet, subject to the access point and bucket access policies.
VpcConfiguration (dict) --
The virtual private cloud (VPC) configuration for this access point, if one exists.
VpcId (string) --
If this field is specified, this access point will only allow connections from the specified VPC ID.
Bucket (string) --
The name of the bucket associated with this access point.
AccessPointArn (string) --
The ARN for the access point.
Alias (string) --
The name or alias of the access point.
BucketAccountId (string) --
The Amazon Web Services account ID associated with the S3 bucket associated with this access point.
NextToken (string) --
If the specified bucket has more access points than can be returned in one call to this API, this field contains a continuation token that you can provide in subsequent calls to this API to retrieve additional access points.