Updated on 2026-08-03 GMT+08:00

Configuring BPA for a Bucket

Function

This API creates or modifies the public access block configuration of an OBS bucket by enabling or disabling the feature.

If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see API Reference.

Restrictions

  • To configure BPA for a bucket, you must be the bucket owner or have the required permission (obs:bucket:PutBucketPublicAccessBlock in IAM or PutBucketPublicAccessBlock in a bucket policy). For details, see Introduction to OBS Access Control, IAM Custom Policies, and Creating a Custom Bucket Policy.
  • The mapping between OBS regions and endpoints must comply with what is listed in Regions and Endpoints.
  • If public access block is enabled, existing public access permissions are ignored and new public access permissions cannot be configured. If public access block is disabled, existing public access permissions continue to apply and new public access permissions can be configured.
  • By default, BPA is disabled for new POSIX buckets but is enabled for new object buckets.

Method

Request Parameters

Table 1 List of request parameters

Parameter

Type

Mandatory (Yes/No)

Description

bucketName

String

Yes

Definition:

Bucket name

Restrictions:

  • A bucket name must be unique across all accounts and regions.
  • A bucket name:
    • Must be 3 to 63 characters long and start with a digit or letter. Lowercase letters, digits, hyphens (-), and periods (.) are allowed.
    • Cannot be formatted as an IP address.
    • Cannot start or end with a hyphen (-) or period (.)
    • Cannot contain two consecutive periods (..), for example, my..bucket.
    • Cannot contain periods (.) and hyphens (-) adjacent to each other, for example, my-.bucket or my.-bucket.
  • If you repeatedly create buckets with the same name in the same region, no error will be reported and the bucket attributes comply with those set in the first creation request.

Default value:

None

BlockPublicAcls

Boolean

No

Definition:

Whether to block public ACLs. If this parameter is set to True, objects cannot be uploaded when the request includes a public ACL. Requests for modifying bucket or object ACLs fail if the requests include public ACLs.

Default value:

False

IgnorePublicAcls

Boolea

No

Definition:

Whether to ignore public ACLs. If this parameter is set to True, the public ACL does not take effect during the OpenAPI permissions check.

Default value:

False

BlockPublicPolicy

Boolea

No

Definition:

Whether to block the public policy. If this parameter is set to True, OBS rejects calls to modify bucket policies if the specified bucket policy allows public access.

Default value:

False

RestrictPublicBuckets

Boolean

No

Definition:

Whether to restrict account access. If this parameter is set to True, only cloud service accounts and this account can access the bucket if a public bucket policy is found during the OpenAPI permissions check.

Default value:

False