Resource tag-sync tasks
An automatic tag-synchronization of application resources (a tag-sync task) is an application resource management strategy
that works by automatically adding and removing
The awsApplication tag from resources to manage their inclusion in an application.
When you create a tag-sync task in the application, you specify a tag key-value pair to sync to the application,
such as Project:Blue. The task then adds any resources
tagged with Project:Blue to the application by adding the awsApplication tag to those resources.
When you perform the following actions, AWS adds all resources tagged with the Project:Blue tag to the application
by applying the awsApplication tag to those resources:
-
Create an application using the existing tag key-value pair
Project:Blue. For more information about bulk-onboarding application resources by specifying an existing tag key-value pair at application creation, review Creating your first application in myApplications in the AWS Management Console Getting started guide. -
Create a tag-sync task in an existing application using the
Project:Bluetag.
After you configure the tag-sync task, it continuously manages the application's resources, adding or removing resources as they are tagged or untagged with the specified key-value pair.
When the task is active, if you tag a resource with the Project:Blue tag,
the tag-sync adds that resource to the application by applying the awsApplication tag to it.
When you remove the Project:Blue tag from a resource, the
tag-sync removes the resource from the application by removing the awsApplication tag.
Tag-sync task required permissions
Creating and managing application tag-sync tasks requires you to specify or create an IAM role that allows the tag-sync task to manage the application resources.
When configuring a tag-sync task, AWS recommends creating and using a new role to ensure the role includes the correct trust permissions.
With this option, AWS creates a role named tag-sync-role-region-uniqueID.
This role is comprised of the following permissions:
-
The
ResourceGroupsTaggingAPITagUntagSupportedResourcesAWS managed policy— Allows the tag-sync task to tag and untag resources. You can modify the role’s resource permissions based on your application needs by adding or removing a specific resource'sTagResourceandUntagResourcepermissions. For example, addamplify:TagResourceandamplify:UntagResourceto allow the tag-sync task to manage tags for AWS Amplify resources. -
A role trust policy— Allows AWS Resource Groups to assume the role and perform related tasks on your behalf.
-
An inline policy— Allows AWS Resource Groups to group and ungroup resources.
Important
To avoid disrupting the tag-sync task, do not delete this role or edit its trust or inline policies.
If you choose to use an existing IAM role, ensure it includes the following permissions:
-
Permissions to tag and untag application resources.
Option 1: Use AWS managed policies
Use both the AWS Resource Groups
ResourceGroupsTaggingAPITagUntagSupportedResourcesandResourceGroupsandTagEditorFullAccessAWS managed policies to grant the permissions required to tag and untag all of the resource types supported by Resource Groups Tagging API, with some exceptions. TheResourceGroupsandTagEditorFullAccesspolicy also grants the permissions required to retrieve all tagged, or previously tagged, resources through the Resource Groups Tagging API.Option 2: Manually add permissions to an existing policy
If you choose not to use AWS managed policies, you must manually configure your policy to include all of the permissions required to tag and untag your specific resources. For example, add the
sqs:TagQueuepermission if you have an Amazon SQS queue resource in your application. In addition to the resource-specific permissions, your policy must include the following Resource Groups Tagging API permissions:-
resource-groups:GroupResources -
resource-groups:UngroupResources -
tag:GetResources -
tag:TagResources -
tag:UntagResources
-
-
A trust policy attached that allows AWS Resource Groups to assume the role and perform these tasks on your behalf. The following is an example trust policy.
Create a tag-sync task
This section provides instructions to create a tag-sync task for resources in an existing application using either myApplications in the AWS Management Console or with the AWS API.