profiles
Creates, updates, deletes or gets a profile resource or lists profiles in a region
Overview
| Name | profiles |
| Type | Resource |
| Description | Definition of AWS::RolesAnywhere::Profile Resource Type |
| Id | awscc.rolesanywhere.profiles |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
duration_seconds | number | |
enabled | boolean | |
managed_policy_arns | array | |
name | string | |
profile_arn | string | |
profile_id | string | |
require_instance_properties | boolean | |
role_arns | array | |
session_policy | string | |
tags | array | |
attribute_mappings | array | |
accept_role_session_name | boolean | |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
profile_id | string | |
region | string | AWS region. |
For more information, see AWS::RolesAnywhere::Profile.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | profiles | INSERT | Name, RoleArns, region |
delete_resource | profiles | DELETE | Identifier, region |
update_resource | profiles | UPDATE | Identifier, PatchDocument, region |
list_resources | profiles_list_only | SELECT | region |
get_resource | profiles | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual profile.
SELECT
region,
duration_seconds,
enabled,
managed_policy_arns,
name,
profile_arn,
profile_id,
require_instance_properties,
role_arns,
session_policy,
tags,
attribute_mappings,
accept_role_session_name
FROM awscc.rolesanywhere.profiles
WHERE
region = 'us-east-1' AND
Identifier = '{{ profile_id }}';
Lists all profiles in a region.
SELECT
region,
profile_id
FROM awscc.rolesanywhere.profiles_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new profile resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.rolesanywhere.profiles (
Name,
RoleArns,
region
)
SELECT
'{{ name }}',
'{{ role_arns }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.rolesanywhere.profiles (
DurationSeconds,
Enabled,
ManagedPolicyArns,
Name,
RequireInstanceProperties,
RoleArns,
SessionPolicy,
Tags,
AttributeMappings,
AcceptRoleSessionName,
region
)
SELECT
'{{ duration_seconds }}',
'{{ enabled }}',
'{{ managed_policy_arns }}',
'{{ name }}',
'{{ require_instance_properties }}',
'{{ role_arns }}',
'{{ session_policy }}',
'{{ tags }}',
'{{ attribute_mappings }}',
'{{ accept_role_session_name }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: profile
props:
- name: duration_seconds
value: null
- name: enabled
value: '{{ enabled }}'
- name: managed_policy_arns
value:
- '{{ managed_policy_arns[0] }}'
- name: name
value: '{{ name }}'
- name: require_instance_properties
value: '{{ require_instance_properties }}'
- name: role_arns
value:
- '{{ role_arns[0] }}'
- name: session_policy
value: '{{ session_policy }}'
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
- name: attribute_mappings
value:
- mapping_rules:
- specifier: '{{ specifier }}'
certificate_field: '{{ certificate_field }}'
- name: accept_role_session_name
value: '{{ accept_role_session_name }}'
UPDATE example
Use the following StackQL query and manifest file to update a profile resource, using stack-deploy.
/*+ update */
UPDATE awscc.rolesanywhere.profiles
SET PatchDocument = string('{{ {
"DurationSeconds": duration_seconds,
"Enabled": enabled,
"ManagedPolicyArns": managed_policy_arns,
"Name": name,
"RoleArns": role_arns,
"SessionPolicy": session_policy,
"Tags": tags,
"AttributeMappings": attribute_mappings,
"AcceptRoleSessionName": accept_role_session_name
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ profile_id }}';
DELETE example
/*+ delete */
DELETE FROM awscc.rolesanywhere.profiles
WHERE
Identifier = '{{ profile_id }}' AND
region = 'us-east-1';
Permissions
To operate on the profiles resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
iam:GetRole,
iam:GetPolicy,
iam:PassRole,
rolesanywhere:CreateProfile,
rolesanywhere:TagResource,
rolesanywhere:PutAttributeMapping,
rolesanywhere:DeleteAttributeMapping
rolesanywhere:GetProfile,
rolesanywhere:ListTagsForResource
iam:GetRole,
iam:GetPolicy,
iam:PassRole,
rolesanywhere:GetProfile,
rolesanywhere:UpdateProfile,
rolesanywhere:EnableProfile,
rolesanywhere:DisableProfile,
rolesanywhere:TagResource,
rolesanywhere:UntagResource,
rolesanywhere:ListTagsForResource,
rolesanywhere:PutAttributeMapping,
rolesanywhere:DeleteAttributeMapping
rolesanywhere:DeleteProfile
rolesanywhere:ListProfiles,
rolesanywhere:ListTagsForResource