Configuring permissions for Systems Manager Application Manager - AWS Systems Manager

Configuring permissions for Systems Manager Application Manager

You can use all features of Application Manager, a capability of AWS Systems Manager, if your AWS Identity and Access Management (IAM) entity (such as a user, group, or role) has access to the API operations listed in this topic. The API operations are separated into two tables to help you understand the different functions they perform.

The following table lists the API operations that Systems Manager calls if you choose a resource in Application Manager because you want to view the resource details. For example, if Application Manager lists an Amazon EC2 Auto Scaling group, and if you choose that group to view its details, then Systems Manager calls the autoscaling:DescribeAutoScalingGroups API operations. If you don't have any Auto Scaling groups in your account, this API operation isn't called from Application Manager.

Resource details only
acm:DescribeCertificate acm:ListTagsForCertificate autoscaling:DescribeAutoScalingGroups cloudfront:GetDistribution cloudfront:ListTagsForResource cloudtrail:DescribeTrails cloudtrail:ListTags cloudtrail:LookupEvents codebuild:BatchGetProjects codepipeline:GetPipeline codepipeline:ListTagsForResource dynamodb:DescribeTable dynamodb:ListTagsOfResource ec2:DescribeAddresses ec2:DescribeCustomerGateways ec2:DescribeHosts ec2:DescribeInternetGateways ec2:DescribeNetworkAcls ec2:DescribeNetworkInterfaces ec2:DescribeRouteTables ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVolumes ec2:DescribeVpcs ec2:DescribeVpnConnections ec2:DescribeVpnGateways elasticbeanstalk:DescribeApplications elasticbeanstalk:ListTagsForResource elasticloadbalancing:DescribeInstanceHealth elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancers elasticloadbalancing:DescribeTags iam:GetGroup iam:GetPolicy iam:GetRole iam:GetUser lambda:GetFunction rds:DescribeDBClusters rds:DescribeDBInstances rds:DescribeDBSecurityGroups rds:DescribeDBSnapshots rds:DescribeDBSubnetGroups rds:DescribeEventSubscriptions rds:ListTagsForResource redshift:DescribeClusterParameters redshift:DescribeClusterSecurityGroups redshift:DescribeClusterSnapshots redshift:DescribeClusterSubnetGroups redshift:DescribeClusters s3:GetBucketTagging

The following table lists the API operations that Systems Manager uses to make changes to applications and resources listed in Application Manager or to view operations information for a selected application or resource.

Application actions and details
applicationinsights:CreateApplication applicationinsights:DescribeApplication applicationinsights:ListProblems ce:GetCostAndUsage ce:GetTags ce:ListCostAllocationTags ce:UpdateCostAllocationTagsStatus cloudformation:CreateStack cloudformation:DeleteStack cloudformation:DescribeStackDriftDetectionStatus cloudformation:DescribeStackEvents cloudformation:DescribeStacks cloudformation:DetectStackDrift cloudformation:GetTemplate cloudformation:GetTemplateSummary cloudformation:ListStacks cloudformation:UpdateStack cloudwatch:DescribeAlarms cloudwatch:DescribeInsightRules cloudwatch:DisableAlarmActions cloudwatch:EnableAlarmActions cloudwatch:GetMetricData cloudwatch:ListTagsForResource cloudwatch:PutMetricAlarm config:DescribeComplianceByConfigRule config:DescribeComplianceByResource config:DescribeConfigRules config:DescribeRemediationConfigurations config:GetComplianceDetailsByConfigRule config:GetComplianceDetailsByResource config:GetResourceConfigHistory config:ListDiscoveredResources config:PutRemediationConfigurations config:SelectResourceConfig config:StartConfigRulesEvaluation config:StartRemediationExecution ec2:DescribeInstances ecs:DescribeCapacityProviders ecs:DescribeClusters ecs:DescribeContainerInstances ecs:ListClusters ecs:ListContainerInstances ecs:TagResource eks:DescribeCluster eks:DescribeFargateProfile eks:DescribeNodegroup eks:ListClusters eks:ListFargateProfiles eks:ListNodegroups eks:TagResource iam:CreateServiceLinkedRole iam:ListRoles logs:DescribeLogGroups resource-groups:CreateGroup resource-groups:DeleteGroup resource-groups:GetGroup resource-groups:GetGroupQuery resource-groups:GetTags resource-groups:ListGroupResources resource-groups:ListGroups resource-groups:Tag resource-groups:Untag resource-groups:UpdateGroup s3:ListAllMyBuckets s3:ListBucket s3:ListBucketVersions servicecatalog:GetApplication servicecatalog:ListApplications sns:CreateTopic sns:ListSubscriptionsByTopic sns:ListTopics sns:Subscribe ssm:AddTagsToResource ssm:CreateDocument ssm:CreateOpsMetadata ssm:DeleteDocument ssm:DeleteOpsMetadata ssm:DescribeAssociation ssm:DescribeAutomationExecutions ssm:DescribeDocument ssm:DescribeDocumentPermission ssm:GetDocument ssm:GetInventory ssm:GetOpsMetadata ssm:GetOpsSummary ssm:GetServiceSetting ssm:ListAssociations ssm:ListComplianceItems ssm:ListDocuments ssm:ListDocumentVersions ssm:ListOpsMetadata ssm:ListResourceComplianceSummaries ssm:ListTagsForResource ssm:ModifyDocumentPermission ssm:RemoveTagsFromResource ssm:StartAssociationsOnce ssm:StartAutomationExecution ssm:UpdateDocument ssm:UpdateDocumentDefaultVersion ssm:UpdateOpsItem ssm:UpdateOpsMetadata ssm:UpdateServiceSetting tag:GetTagKeys tag:GetTagValues tag:TagResources tag:UntagResources

Configuring permissions

To configure Application Manager permissions for an IAM entity (such as a user, group, or role), create an IAM policy using the following example. This policy example includes all API operations used by Application Manager.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "acm:DescribeCertificate", "acm:ListTagsForCertificate", "applicationinsights:CreateApplication", "applicationinsights:DescribeApplication", "applicationinsights:ListProblems", "autoscaling:DescribeAutoScalingGroups", "ce:GetCostAndUsage", "ce:GetTags", "ce:ListCostAllocationTags", "ce:UpdateCostAllocationTagsStatus", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackDriftDetectionStatus", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:DetectStackDrift", "cloudformation:GetTemplate", "cloudformation:GetTemplateSummary", "cloudformation:ListStacks", "cloudformation:ListStackResources", "cloudformation:UpdateStack", "cloudfront:GetDistribution", "cloudfront:ListTagsForResource", "cloudtrail:DescribeTrails", "cloudtrail:ListTags", "cloudtrail:LookupEvents", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeInsightRules", "cloudwatch:DisableAlarmActions", "cloudwatch:EnableAlarmActions", "cloudwatch:GetMetricData", "cloudwatch:ListTagsForResource", "cloudwatch:PutMetricAlarm", "codebuild:BatchGetProjects", "codepipeline:GetPipeline", "codepipeline:ListTagsForResource", "config:DescribeComplianceByConfigRule", "config:DescribeComplianceByResource", "config:DescribeConfigRules", "config:DescribeRemediationConfigurations", "config:GetComplianceDetailsByConfigRule", "config:GetComplianceDetailsByResource", "config:GetResourceConfigHistory", "config:ListDiscoveredResources", "config:PutRemediationConfigurations", "config:SelectResourceConfig", "config:StartConfigRulesEvaluation", "config:StartRemediationExecution", "dynamodb:DescribeTable", "dynamodb:ListTagsOfResource", "ec2:DescribeAddresses", "ec2:DescribeCustomerGateways", "ec2:DescribeHosts", "ec2:DescribeInstances", "ec2:DescribeInternetGateways", "ec2:DescribeNetworkAcls", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVolumes", "ec2:DescribeVpcs", "ec2:DescribeVpnConnections", "ec2:DescribeVpnGateways", "ecs:DescribeCapacityProviders", "ecs:DescribeClusters", "ecs:DescribeContainerInstances", "ecs:ListClusters", "ecs:ListContainerInstances", "ecs:TagResource", "eks:DescribeCluster", "eks:DescribeFargateProfile", "eks:DescribeNodegroup", "eks:ListClusters", "eks:ListFargateProfiles", "eks:ListNodegroups", "eks:TagResource", "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:ListTagsForResource", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTags", "iam:CreateServiceLinkedRole", "iam:GetGroup", "iam:GetPolicy", "iam:GetRole", "iam:GetUser", "iam:ListRoles", "lambda:GetFunction", "logs:DescribeLogGroups", "rds:DescribeDBClusters", "rds:DescribeDBInstances", "rds:DescribeDBSecurityGroups", "rds:DescribeDBSnapshots", "rds:DescribeDBSubnetGroups", "rds:DescribeEventSubscriptions", "rds:ListTagsForResource", "redshift:DescribeClusterParameters", "redshift:DescribeClusters", "redshift:DescribeClusterSecurityGroups", "redshift:DescribeClusterSnapshots", "redshift:DescribeClusterSubnetGroups", "resource-groups:CreateGroup", "resource-groups:DeleteGroup", "resource-groups:GetGroup", "resource-groups:GetGroupQuery", "resource-groups:GetTags", "resource-groups:ListGroupResources", "resource-groups:ListGroups", "resource-groups:Tag", "resource-groups:Untag", "resource-groups:UpdateGroup", "s3:GetBucketTagging", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:ListBucketVersions", "servicecatalog:GetApplication", "servicecatalog:ListApplications", "sns:CreateTopic", "sns:ListSubscriptionsByTopic", "sns:ListTopics", "sns:Subscribe", "ssm:AddTagsToResource", "ssm:CreateDocument", "ssm:CreateOpsMetadata", "ssm:DeleteDocument", "ssm:DeleteOpsMetadata", "ssm:DescribeAssociation", "ssm:DescribeAutomationExecutions", "ssm:DescribeDocument", "ssm:DescribeDocumentPermission", "ssm:GetDocument", "ssm:GetInventory", "ssm:GetOpsMetadata", "ssm:GetOpsSummary", "ssm:GetServiceSetting", "ssm:ListAssociations", "ssm:ListComplianceItems", "ssm:ListDocuments", "ssm:ListDocumentVersions", "ssm:ListOpsMetadata", "ssm:ListResourceComplianceSummaries", "ssm:ListTagsForResource", "ssm:ModifyDocumentPermission", "ssm:RemoveTagsFromResource", "ssm:StartAssociationsOnce", "ssm:StartAutomationExecution", "ssm:UpdateDocument", "ssm:UpdateDocumentDefaultVersion", "ssm:UpdateOpsMetadata", "ssm:UpdateOpsItem", "ssm:UpdateServiceSetting", "tag:GetResources", "tag:GetTagKeys", "tag:GetTagValues", "tag:TagResources", "tag:UntagResources" ], "Resource": "*" } ] }
Note

You can restrict a user's ability to make changes to applications and resources in Application Manager by removing the following API operations from the IAM permissions policy attached to their user, group, or role. Removing these actions creates a read-only experience in Application Manager. The following are all of the APIs that allow users to make changes to the application or any other related resources.

applicationinsights:CreateApplication ce:UpdateCostAllocationTagsStatus cloudformation:CreateStack cloudformation:DeleteStack cloudformation:UpdateStack cloudwatch:DisableAlarmActions cloudwatch:EnableAlarmActions cloudwatch:PutMetricAlarm config:PutRemediationConfigurations config:StartConfigRulesEvaluation config:StartRemediationExecution ecs:TagResource eks:TagResource iam:CreateServiceLinkedRole resource-groups:CreateGroup resource-groups:DeleteGroup resource-groups:Tag resource-groups:Untag resource-groups:UpdateGroup sns:CreateTopic sns:Subscribe ssm:AddTagsToResource ssm:CreateDocument ssm:CreateOpsMetadata ssm:DeleteDocument ssm:DeleteOpsMetadata ssm:ModifyDocumentPermission ssm:RemoveTagsFromResource ssm:StartAssociationsOnce ssm:StartAutomationExecution ssm:UpdateDocument ssm:UpdateDocumentDefaultVersion ssm:UpdateOpsMetadata ssm:UpdateOpsItem ssm:UpdateServiceSetting tag:TagResources tag:UntagResources

For information about creating and editing IAM policies, see Creating IAM Policies in the IAM User Guide. For information about how to assign this policy to an IAM entity (such as a user, group, or role), see Adding and removing IAM identity permissions.