AWS S3 Control

2021/07/26 - AWS S3 Control - 3 updated api methods

Changes  S3 Access Point aliases can be used anywhere you use S3 bucket names to access data in S3

CreateAccessPoint (updated) Link ¶
Changes (response)
{'Alias': '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 .

Note

S3 on Outposts only supports VPC-style access points.

For more information, see Accessing Amazon S3 on Outposts using virtual private cloud (VPC) only 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 and 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 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
    }
)
type AccountId

string

param AccountId

[REQUIRED]

The account ID for the owner of the bucket for which you want to create an access point.

type Name

string

param Name

[REQUIRED]

The name you want to assign to this access point.

type Bucket

string

param Bucket

[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.

type VpcConfiguration

dict

param VpcConfiguration

If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).

Note

This is required for creating an access point for Amazon S3 on Outposts buckets.

  • VpcId (string) -- [REQUIRED]

    If this field is specified, this access point will only allow connections from the specified VPC ID.

type PublicAccessBlockConfiguration

dict

param PublicAccessBlockConfiguration

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:

    • PUT Bucket acl and PUT Object acl 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 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 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 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 is not supported for Amazon S3 on Outposts.

rtype

dict

returns

Response Syntax

{
    'AccessPointArn': 'string',
    'Alias': 'string'
}

Response Structure

  • (dict) --

    • AccessPointArn (string) --

      The ARN of the access point.

      Note

      This is only supported by Amazon S3 on Outposts.

    • Alias (string) --

      The name or alias of the access point.

GetAccessPoint (updated) Link ¶
Changes (response)
{'AccessPointArn': 'string',
 'Alias': 'string',
 'Endpoints': {'string': '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 and 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 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'
)
type AccountId

string

param AccountId

[REQUIRED]

The account ID for the account that owns the specified access point.

type Name

string

param Name

[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.

rtype

dict

returns

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'
    }
}

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.

      Note

      This element is empty if this access point is an Amazon S3 on Outposts access point that is used by other Amazon Web Services.

      • 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 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:

        • PUT Bucket acl and PUT Object acl 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 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 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 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 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) --

ListAccessPoints (updated) Link ¶
Changes (response)
{'AccessPointList': {'Alias': 'string'}}

Returns a list of the access points currently 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 and 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 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
)
type AccountId

string

param AccountId

[REQUIRED]

The account ID for owner of the bucket whose access points you want to list.

type Bucket

string

param Bucket

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.

type NextToken

string

param NextToken

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.

type MaxResults

integer

param MaxResults

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.

rtype

dict

returns

Response Syntax

{
    'AccessPointList': [
        {
            'Name': 'string',
            'NetworkOrigin': 'Internet'|'VPC',
            'VpcConfiguration': {
                'VpcId': 'string'
            },
            'Bucket': 'string',
            'AccessPointArn': 'string',
            'Alias': '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.

          Note

          This element is empty if this access point is an Amazon S3 on Outposts access point that is used by other Amazon Web Services.

          • 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.

    • 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.