S3 Block Public Access
You can use the S3 Block Public Access feature to set buckets and users to help you manage public access to IBM Storage Ceph object storage S3 resources.
Using this feature, bucket policies, access point policies, and object permissions can be overridden to allow public access. By default, new buckets, access points, and objects do not allow public access.
BlockPublicPolicy
- This defines the setting to allow users to manage access point and bucket policies. This setting
does not allow the users to publicly share the bucket or the objects it contains. Existing access
point and bucket policies are not affected by enabling this setting. Setting this option to
TRUE
causes the S3:- To reject calls to PUT Bucket policy.
- To reject calls to PUT access point policy for all of the bucket's same-account access points.
Important: Apply this setting at the user level so that users cannot alter a specific bucket's block public access setting.Note: TheTRUE
setting only works if the specified policy allows public access. RestrictPublicBuckets
- This defines the setting to restrict access to a bucket or access point with public
policy.
The restriction applies to only AWS service principals and authorized users within the bucket owner's account and access point owner's account. This blocks cross-account access to the access point or bucket, except for the cases specified, while still allowing users within the account to manage the access points or buckets.
Enabling this setting does not affect existing access point or bucket policies. It only defines that Amazon S3 blocks public and cross-account access derived from any public access point or bucket policy, including non-public delegation to specific accounts.Note: Access control lists (ACLs) are not currently supported by IBM Storage Ceph.
*
) or an AWS Identity and Access Management
Policy Variable.- An AWS principal, user, role, or service principal
- A set of Classless Inter-Domain Routings (CIDRs), using
aws:SourceIp
aws:SourceArn
aws:SourceVpc
aws:SourceVpce
aws:SourceOwner
aws:SourceAccount
s3:x-amz-server-side-encryption-aws-kms-key-id
aws:userid
outside the patternARIOLEID:*
s3:DataAccessPointArn
Note: When used in a bucket policy, this value can contain a wildcard for the access point name without rendering the policy public, as long as the account ID is fixed.s3:DataAccessPointPointAccount
Example of a policy that is considered public
{
"Principal": "*",
"Resource": "*",
"Action": "s3:PutObject",
"Effect": "Allow",
"Condition": { "StringLike": {"aws:SourceVpc": "vpc-*"}}
}
To make a policy non-public, include any of the condition keys with a fixed value.
Example of a policy that is considered non-public
{
"Principal": "*",
"Resource": "*",
"Action": "s3:PutObject",
"Effect": "Allow",
"Condition": {"StringEquals": {"aws:SourceVpc": "vpc-91237329"}}
}