{ "version":"2.0", "metadata":{ "apiVersion":"2018-08-20", "endpointPrefix":"s3-control", "protocol":"rest-xml", "serviceFullName":"AWS S3 Control", "serviceId":"S3 Control", "signatureVersion":"s3v4", "signingName":"s3", "uid":"s3control-2018-08-20" }, "operations":{ "DeletePublicAccessBlock":{ "name":"DeletePublicAccessBlock", "http":{ "method":"DELETE", "requestUri":"/v20180820/configuration/publicAccessBlock" }, "input":{"shape":"DeletePublicAccessBlockRequest"}, "documentation":"

Removes the Public Access Block configuration for an Amazon Web Services account.

" }, "GetPublicAccessBlock":{ "name":"GetPublicAccessBlock", "http":{ "method":"GET", "requestUri":"/v20180820/configuration/publicAccessBlock" }, "input":{"shape":"GetPublicAccessBlockRequest"}, "output":{"shape":"GetPublicAccessBlockOutput"}, "errors":[ {"shape":"NoSuchPublicAccessBlockConfiguration"} ], "documentation":"

Retrieves the Public Access Block configuration for an Amazon Web Services account.

" }, "PutPublicAccessBlock":{ "name":"PutPublicAccessBlock", "http":{ "method":"PUT", "requestUri":"/v20180820/configuration/publicAccessBlock" }, "input":{"shape":"PutPublicAccessBlockRequest"}, "documentation":"

Creates or modifies the Public Access Block configuration for an Amazon Web Services account.

" } }, "shapes":{ "AccountId":{"type":"string"}, "DeletePublicAccessBlockRequest":{ "type":"structure", "required":["AccountId"], "members":{ "AccountId":{ "shape":"AccountId", "documentation":"

The Account ID for the Amazon Web Services account whose Public Access Block configuration you want to remove.

", "location":"header", "locationName":"x-amz-account-id" } } }, "GetPublicAccessBlockOutput":{ "type":"structure", "members":{ "PublicAccessBlockConfiguration":{ "shape":"PublicAccessBlockConfiguration", "documentation":"

The Public Access Block configuration currently in effect for this Amazon Web Services account.

" } }, "payload":"PublicAccessBlockConfiguration" }, "GetPublicAccessBlockRequest":{ "type":"structure", "required":["AccountId"], "members":{ "AccountId":{ "shape":"AccountId", "documentation":"

The Account ID for the Amazon Web Services account whose Public Access Block configuration you want to retrieve.

", "location":"header", "locationName":"x-amz-account-id" } } }, "NoSuchPublicAccessBlockConfiguration":{ "type":"structure", "members":{ "Message":{"shape":"NoSuchPublicAccessBlockConfigurationMessage"} }, "documentation":"

This exception is thrown if a GetPublicAccessBlock request is made against an account that does not have a PublicAccessBlockConfiguration set.

", "error":{"httpStatusCode":404}, "exception":true }, "NoSuchPublicAccessBlockConfigurationMessage":{"type":"string"}, "PublicAccessBlockConfiguration":{ "type":"structure", "members":{ "BlockPublicAcls":{ "shape":"Setting", "documentation":"

Specifies whether Amazon S3 should block public ACLs for buckets in this account. Setting this element to TRUE causes the following behavior:

Note that enabling this setting doesn't affect existing policies or ACLs.

", "locationName":"BlockPublicAcls" }, "IgnorePublicAcls":{ "shape":"Setting", "documentation":"

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.

Note that enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.

", "locationName":"IgnorePublicAcls" }, "BlockPublicPolicy":{ "shape":"Setting", "documentation":"

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.

Note that enabling this setting doesn't affect existing bucket policies.

", "locationName":"BlockPublicPolicy" }, "RestrictPublicBuckets":{ "shape":"Setting", "documentation":"

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. If this element is set to TRUE, then only the bucket owner and AWS Services can access buckets with public policies.

Note that 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.

", "locationName":"RestrictPublicBuckets" } }, "documentation":"

The container element for all Public Access Block configuration options. You can enable the configuration options in any combination.

Amazon S3 considers a bucket policy public unless at least one of the following conditions is true:

  1. The policy limits access to a set of CIDRs using aws:SourceIp. For more information on CIDR, see http://www.rfc-editor.org/rfc/rfc4632.txt

  2. The policy grants permissions, not including any \"bad actions,\" to one of the following:

\"Bad actions\" are those that could expose the data inside a bucket to reads or writes by the public. These actions are s3:Get*, s3:List*, s3:AbortMultipartUpload, s3:Delete*, s3:Put*, and s3:RestoreObject.

The star notation for bad actions indicates that all matching operations are considered bad actions. For example, because s3:Get* is a bad action, s3:GetObject, s3:GetObjectVersion, and s3:GetObjectAcl are all bad actions.

" }, "PutPublicAccessBlockRequest":{ "type":"structure", "required":[ "PublicAccessBlockConfiguration", "AccountId" ], "members":{ "PublicAccessBlockConfiguration":{ "shape":"PublicAccessBlockConfiguration", "documentation":"

The Public Access Block configuration that you want to apply to this Amazon Web Services account.

", "locationName":"PublicAccessBlockConfiguration", "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} }, "AccountId":{ "shape":"AccountId", "documentation":"

The Account ID for the Amazon Web Services account whose Public Access Block configuration you want to set.

", "location":"header", "locationName":"x-amz-account-id" } }, "payload":"PublicAccessBlockConfiguration" }, "Setting":{"type":"boolean"} }, "documentation":"

AWS S3 Control provides access to Amazon S3 control plane operations.

" }