resource_policies
Creates, updates, deletes or gets a resource_policy resource or lists resource_policies in a region
Overview
| Name | resource_policies |
| Type | Resource |
| Description | Resource Type definition for AWS::SecretsManager::ResourcePolicy |
| Id | awscc.secretsmanager.resource_policies |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
id | string | The Arn of the secret. |
secret_id | string | The ARN or name of the secret to attach the resource-based policy. |
resource_policy | object | A JSON-formatted string for an AWS resource-based policy. |
block_public_policy | boolean | Specifies whether to block resource-based policies that allow broad access to the secret. |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
id | string | The Arn of the secret. |
region | string | AWS region. |
For more information, see AWS::SecretsManager::ResourcePolicy.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | resource_policies | INSERT | ResourcePolicy, SecretId, region |
delete_resource | resource_policies | DELETE | Identifier, region |
update_resource | resource_policies | UPDATE | Identifier, PatchDocument, region |
list_resources | resource_policies_list_only | SELECT | region |
get_resource | resource_policies | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual resource_policy.
SELECT
region,
id,
secret_id,
resource_policy,
block_public_policy
FROM awscc.secretsmanager.resource_policies
WHERE
region = 'us-east-1' AND
Identifier = '{{ id }}';
Lists all resource_policies in a region.
SELECT
region,
id
FROM awscc.secretsmanager.resource_policies_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new resource_policy resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.secretsmanager.resource_policies (
SecretId,
ResourcePolicy,
region
)
SELECT
'{{ secret_id }}',
'{{ resource_policy }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.secretsmanager.resource_policies (
SecretId,
ResourcePolicy,
BlockPublicPolicy,
region
)
SELECT
'{{ secret_id }}',
'{{ resource_policy }}',
'{{ block_public_policy }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: resource_policy
props:
- name: secret_id
value: '{{ secret_id }}'
- name: resource_policy
value: {}
- name: block_public_policy
value: '{{ block_public_policy }}'
UPDATE example
Use the following StackQL query and manifest file to update a resource_policy resource, using stack-deploy.
/*+ update */
UPDATE awscc.secretsmanager.resource_policies
SET PatchDocument = string('{{ {
"ResourcePolicy": resource_policy,
"BlockPublicPolicy": block_public_policy
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ id }}';
DELETE example
/*+ delete */
DELETE FROM awscc.secretsmanager.resource_policies
WHERE
Identifier = '{{ id }}' AND
region = 'us-east-1';
Permissions
To operate on the resource_policies resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
secretsmanager:PutResourcePolicy,
secretsmanager:GetResourcePolicy
secretsmanager:GetResourcePolicy
secretsmanager:PutResourcePolicy,
secretsmanager:GetResourcePolicy
secretsmanager:DeleteResourcePolicy,
secretsmanager:GetResourcePolicy
secretsmanager:GetResourcePolicy,
secretsmanager:ListSecrets