AWS S3 Control

2019/12/03 - AWS S3 Control - 8 new api methods

Changes  Amazon S3 Access Points is a new S3 feature that simplifies managing data access at scale for shared data sets on Amazon S3. Access Points provide a customizable way to access the objects in a bucket, with a unique hostname and access policy that enforces the specific permissions and network controls for any request made through the access point. This represents a new way of provisioning access to shared data sets.

ListAccessPoints (new) Link ¶

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 1000 access points (or the number specified in maxResults , whichever is less), then the response will include a continuation token that you can use to list the additional access points.

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

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'
        },
    ],
    '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.

    • NextToken (string) --

      If the specified bucket has more access points than can be returned in one call to this API, then this field contains a continuation token that you can provide in subsequent calls to this API to retrieve additional access points.

GetAccessPointPolicyStatus (new) Link ¶

Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide .

See also: AWS API Documentation

Request Syntax

client.get_access_point_policy_status(
    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 policy status you want to retrieve.

rtype

dict

returns

Response Syntax

{
    'PolicyStatus': {
        'IsPublic': True|False
    }
}

Response Structure

  • (dict) --

    • PolicyStatus (dict) --

      Indicates the current policy status of the specified access point.

      • IsPublic (boolean) --

GetAccessPointPolicy (new) Link ¶

Returns the access point policy associated with the specified access point.

See also: AWS API Documentation

Request Syntax

client.get_access_point_policy(
    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 policy you want to retrieve.

rtype

dict

returns

Response Syntax

{
    'Policy': 'string'
}

Response Structure

  • (dict) --

    • Policy (string) --

      The access point policy associated with the specified access point.

CreateAccessPoint (new) Link ¶

Creates an access point and associates it with the specified bucket.

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

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

  • 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 this Amazon S3 bucket. 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 Simple Storage Service Developer Guide.

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

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

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

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

returns

None

DeleteAccessPoint (new) Link ¶

Deletes the specified access point.

See also: AWS API Documentation

Request Syntax

client.delete_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 you want to delete.

returns

None

PutAccessPointPolicy (new) Link ¶

Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API replaces any existing policy associated with the specified access point.

See also: AWS API Documentation

Request Syntax

client.put_access_point_policy(
    AccountId='string',
    Name='string',
    Policy='string'
)
type AccountId

string

param AccountId

[REQUIRED]

The AWS account ID for owner of the bucket associated with the specified access point.

type Name

string

param Name

[REQUIRED]

The name of the access point that you want to associate with the specified policy.

type Policy

string

param Policy

[REQUIRED]

The policy that you want to apply to the specified access point. For more information about access point policies, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide .

returns

None

GetAccessPoint (new) Link ¶

Returns configuration information about the specified access point.

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.

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

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.

    • 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 bucket. 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 Simple Storage Service Developer Guide.

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

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

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

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

    • CreationDate (datetime) --

      The date and time when the specified access point was created.

DeleteAccessPointPolicy (new) Link ¶

Deletes the access point policy for the specified access point.

See also: AWS API Documentation

Request Syntax

client.delete_access_point_policy(
    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 policy you want to delete.

returns

None