access_points
Creates, updates, deletes or gets an access_point resource or lists access_points in a region
Overview
| Name | access_points |
| Type | Resource |
| Description | The AWS::S3Express::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. |
| Id | awscc.s3express.access_points |
Fields
| Name | Datatype | Description |
|---|---|---|
name | string | The name you want to assign to this Access Point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name. For directory buckets, the access point name must consist of a base name that you provide and suffix that includes the ZoneID (AWS Availability Zone or Local Zone) of your bucket location, followed by --xa-s3. |
bucket | string | The name of the bucket that you want to associate this Access Point with. |
bucket_account_id | string | The AWS account ID associated with the S3 bucket associated with this access point. |
vpc_configuration | object | If you include this field, Amazon S3 restricts access to this Access Point to requests from the specified Virtual Private Cloud (VPC). |
public_access_block_configuration | object | The PublicAccessBlock configuration that you want to apply to this Access Point. |
scope | object | For directory buckets, you can filter access control to specific prefixes, API operations, or a combination of both. |
policy | object | The Access Point Policy you want to apply to this access point. |
network_origin | 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. |
arn | string | The Amazon Resource Name (ARN) of the specified accesspoint. |
tags | array | |
region | string | AWS region. |
For more information, see AWS::S3Express::AccessPoint.
Methods
| Name | Accessible by | Required Params |
|---|---|---|
create_resource | INSERT | Bucket, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT examples
Gets all properties from an individual access_point.
SELECT
region,
name,
bucket,
bucket_account_id,
vpc_configuration,
public_access_block_configuration,
scope,
policy,
network_origin,
arn,
tags
FROM awscc.s3express.access_points
WHERE region = 'us-east-1' AND data__Identifier = '<Name>';
INSERT example
Use the following StackQL query and manifest file to create a new access_point resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.s3express.access_points (
Bucket,
region
)
SELECT
'{{ Bucket }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.s3express.access_points (
Name,
Bucket,
BucketAccountId,
VpcConfiguration,
PublicAccessBlockConfiguration,
Scope,
Policy,
Tags,
region
)
SELECT
'{{ Name }}',
'{{ Bucket }}',
'{{ BucketAccountId }}',
'{{ VpcConfiguration }}',
'{{ PublicAccessBlockConfiguration }}',
'{{ Scope }}',
'{{ Policy }}',
'{{ Tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: access_point
props:
- name: Name
value: '{{ Name }}'
- name: Bucket
value: '{{ Bucket }}'
- name: BucketAccountId
value: '{{ BucketAccountId }}'
- name: VpcConfiguration
value:
VpcId: '{{ VpcId }}'
- name: PublicAccessBlockConfiguration
value:
BlockPublicAcls: '{{ BlockPublicAcls }}'
IgnorePublicAcls: '{{ IgnorePublicAcls }}'
BlockPublicPolicy: '{{ BlockPublicPolicy }}'
RestrictPublicBuckets: '{{ RestrictPublicBuckets }}'
- name: Scope
value:
Prefixes:
- '{{ Prefixes[0] }}'
Permissions:
- '{{ Permissions[0] }}'
- name: Policy
value: {}
- name: Tags
value:
- Key: '{{ Key }}'
Value: '{{ Value }}'
DELETE example
/*+ delete */
DELETE FROM awscc.s3express.access_points
WHERE data__Identifier = '<Name>'
AND region = 'us-east-1';
Permissions
To operate on the access_points resource, the following permissions are required:
Create
s3express:CreateAccessPoint,
s3express:PutAccessPointPolicy,
s3express:GetAccessPoint,
s3express:PutAccessPointScope,
s3express:GetAccessPointScope,
s3express:TagResource
Read
s3express:GetAccessPoint,
s3express:GetAccessPointPolicy,
s3express:GetAccessPointScope,
s3express:ListTagsForResource
Update
s3express:PutAccessPointPolicy,
s3express:DeleteAccessPointPolicy,
s3express:PutAccessPointScope,
s3express:DeleteAccessPointScope,
s3express:TagResource,
s3express:UntagResource,
s3express:GetAccessPoint,
s3express:GetAccessPointPolicy,
s3express:GetAccessPointScope,
s3express:ListTagsForResource
Delete
s3express:DeleteAccessPointPolicy,
s3express:DeleteAccessPoint,
s3express:DeleteAccessPointScope
List
s3express:ListAccessPointsForDirectoryBuckets