origin_access_controls
Creates, updates, deletes or gets an origin_access_control resource or lists origin_access_controls in a region
Overview
| Name | origin_access_controls |
| Type | Resource |
| Description | Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin. This makes it possible to block public access to the origin, allowing viewers (users) to access the origin's content only through CloudFront. For more information about using a CloudFront origin access control, see [Restricting access to an origin](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-origin.html) in the *Amazon CloudFront Developer Guide*. |
| Id | awscc.cloudfront.origin_access_controls |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
id | string | |
origin_access_control_config | object | The origin access control. |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
id | string | |
region | string | AWS region. |
For more information, see AWS::CloudFront::OriginAccessControl.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | origin_access_controls | INSERT | OriginAccessControlConfig, region |
delete_resource | origin_access_controls | DELETE | Identifier, region |
update_resource | origin_access_controls | UPDATE | Identifier, PatchDocument, region |
list_resources | origin_access_controls_list_only | SELECT | region |
get_resource | origin_access_controls | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual origin_access_control.
SELECT
region,
id,
origin_access_control_config
FROM awscc.cloudfront.origin_access_controls
WHERE
region = 'us-east-1' AND
Identifier = '{{ id }}';
Lists all origin_access_controls in a region.
SELECT
region,
id
FROM awscc.cloudfront.origin_access_controls_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new origin_access_control resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.cloudfront.origin_access_controls (
OriginAccessControlConfig,
region
)
SELECT
'{{ origin_access_control_config }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.cloudfront.origin_access_controls (
OriginAccessControlConfig,
region
)
SELECT
'{{ origin_access_control_config }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: origin_access_control
props:
- name: origin_access_control_config
value:
description: '{{ description }}'
name: '{{ name }}'
origin_access_control_origin_type: '{{ origin_access_control_origin_type }}'
signing_behavior: '{{ signing_behavior }}'
signing_protocol: '{{ signing_protocol }}'
UPDATE example
Use the following StackQL query and manifest file to update a origin_access_control resource, using stack-deploy.
/*+ update */
UPDATE awscc.cloudfront.origin_access_controls
SET PatchDocument = string('{{ {
"OriginAccessControlConfig": origin_access_control_config
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ id }}';
DELETE example
/*+ delete */
DELETE FROM awscc.cloudfront.origin_access_controls
WHERE
Identifier = '{{ id }}' AND
region = 'us-east-1';
Permissions
To operate on the origin_access_controls resource, the following permissions are required:
- Create
- Delete
- List
- Read
- Update
cloudfront:CreateOriginAccessControl
cloudfront:DeleteOriginAccessControl,
cloudfront:GetOriginAccessControl
cloudfront:ListOriginAccessControls
cloudfront:GetOriginAccessControl
cloudfront:UpdateOriginAccessControl,
cloudfront:GetOriginAccessControl