AWSServiceCatalogAppRegistryFullAccess
Summary
Provides full access to Service Catalog App Registry capabilities, as the AWS Managed Policy Reference Guide describes it.
Permissions imported from the AWS Managed Policy Reference Guide; other sections reviewed against the listed AWS sources.
Identity
- ARN
arn:aws:iam::aws:policy/AWSServiceCatalogAppRegistryFullAccess- Default version
- v7
- Created
- Last edited
- Services
- cloudformation, iam, resource-groups, servicecatalog, tag
Control-plane actions (39)
By access level: 6 List, 9 Read, 6 Tagging, 18 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| CloudFormation | 4 of 104 | 1 List, 2 Tagging, 1 Write; 3 restricted, 3 conditional | cloudformation:DescribeStacks, cloudformation:TagResource, cloudformation:UntagResource, cloudformation:UpdateStack |
| IAM | 1 of 190 | 1 Write; 1 restricted, 1 conditional | iam:CreateServiceLinkedRole |
| Resource Groups | 9 of 29 | 3 Read, 2 Tagging, 4 Write; 9 restricted, 9 conditional | resource-groups:AssociateResource, resource-groups:CreateGroup, resource-groups:DeleteGroup, resource-groups:DisassociateResource, resource-groups:GetGroup, resource-groups:GetGroupConfiguration, resource-groups:GetTags, resource-groups:Tag, resource-groups:Untag |
| Service Catalog | 24 of 117 | 5 List, 5 Read, 2 Tagging, 12 Write; 3 restricted, 0 conditional | servicecatalog:AssociateAttributeGroup, servicecatalog:AssociateResource, servicecatalog:CreateApplication, servicecatalog:CreateAttributeGroup, servicecatalog:DeleteApplication, servicecatalog:DeleteAttributeGroup, servicecatalog:DisassociateAttributeGroup, servicecatalog:DisassociateResource, servicecatalog:GetApplication, servicecatalog:GetAssociatedResource, servicecatalog:GetAttributeGroup, servicecatalog:GetConfiguration and 12 more |
| Resource Group Tagging | 1 of 9 | 1 Read; 1 restricted, 1 conditional | tag:GetResources |
CloudFormation: 4 actions
- cloudformation:DescribeStacks (List)
- cloudformation:TagResource (Tagging)
- cloudformation:UntagResource (Tagging)
- cloudformation:UpdateStack (Write)
IAM: 1 actions
- iam:CreateServiceLinkedRole (Write)
Resource Groups: 9 actions
- resource-groups:AssociateResource (Write)
- resource-groups:CreateGroup (Write)
- resource-groups:DeleteGroup (Write)
- resource-groups:DisassociateResource (Write)
- resource-groups:GetGroup (Read)
- resource-groups:GetGroupConfiguration (Read)
- resource-groups:GetTags (Read)
- resource-groups:Tag (Tagging)
- resource-groups:Untag (Tagging)
Service Catalog: 24 actions
- servicecatalog:AssociateAttributeGroup (Write)
- servicecatalog:AssociateResource (Write)
- servicecatalog:CreateApplication (Write)
- servicecatalog:CreateAttributeGroup (Write)
- servicecatalog:DeleteApplication (Write)
- servicecatalog:DeleteAttributeGroup (Write)
- servicecatalog:DisassociateAttributeGroup (Write)
- servicecatalog:DisassociateResource (Write)
- servicecatalog:GetApplication (Read)
- servicecatalog:GetAssociatedResource (Read)
- servicecatalog:GetAttributeGroup (Read)
- servicecatalog:GetConfiguration (Read)
- servicecatalog:ListApplications (List)
- servicecatalog:ListAssociatedAttributeGroups (List)
- servicecatalog:ListAssociatedResources (List)
- servicecatalog:ListAttributeGroups (List)
- servicecatalog:ListAttributeGroupsForApplication (List)
- servicecatalog:ListTagsForResource (Read)
- servicecatalog:PutConfiguration (Write)
- servicecatalog:SyncResource (Write)
- servicecatalog:TagResource (Tagging)
- servicecatalog:UntagResource (Tagging)
- servicecatalog:UpdateApplication (Write)
- servicecatalog:UpdateAttributeGroup (Write)
Resource Group Tagging: 1 actions
- tag:GetResources (Read)
Data-plane actions (0)
By access level: none.
This policy grants no actions in this plane.
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: mixed.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants 24 write, tagging or permissions-management actions, short of full control of any service.
Guidance
Practical scope
Statements allow, on Resource "*", 21 servicecatalog actions for applications and attribute groups (for example servicecatalog:CreateApplication, DeleteApplication, CreateAttributeGroup, AssociateResource and PutConfiguration) plus cloudformation:DescribeStacks. servicecatalog:TagResource, UntagResource and ListTagsForResource apply to servicecatalog resources. cloudformation:UpdateStack, tag:GetResources, cloudformation:TagResource and cloudformation:UntagResource are allowed only when the call is made through servicecatalog-appregistry.amazonaws.com (the aws:CalledVia condition), and TagResource and UntagResource also require cloudformation:CreateAction to be UpdateStack. Nine resource-groups actions, including CreateGroup and DeleteGroup, apply to groups named AWS_* under the same CalledVia condition. iam:CreateServiceLinkedRole is allowed only for the AWSServiceRoleForAWSServiceCatalogAppRegistry role when the service name is servicecatalog-appregistry.amazonaws.com.
Use cases
- Create, update, delete and associate Service Catalog AppRegistry applications and attribute groups.
Best practices
- AWS managed policies don't grant least privilege permissions. The IAM User Guide suggests using IAM Access Analyzer to see which permissions principals actually use, then writing a custom policy or generating one with only the required permissions.
Security considerations
- The servicecatalog application and attribute group actions, including delete actions, apply to all resources.
- The CloudFormation and Resource Groups actions are limited by the aws:CalledVia condition, so they apply only to calls made through AppRegistry.
- You cannot change the permissions in an AWS managed policy. If AWS updates the policy, the update affects every user, group and role it is attached to.
Assignment guidance
You can attach this policy to your users, groups and roles. The reference page also links to guidance on creating a permission set using AWS managed policies in IAM Identity Center. It fits where full AppRegistry access is intended. Where a narrower scope is needed, AWS recommends customer managed policies specific to your use cases.
Related policies
Same service
- AdministratorAccess-AWSElasticBeanstalk
- AIDevOpsOrganizationsAccessPolicy
- AmazonDataZoneRedshiftGlueProvisioningPolicy
- AmazonLaunchWizard_Fullaccess
- AmazonSageMakerModelRegistryFullAccess
- AmazonSageMakerServiceCatalogProductsCodePipelineServiceRolePolicy
- AmazonSSMMaintenanceWindowRole
- AmazonSSMServiceRolePolicy
Same domain
Frequently asked questions
- When should I attach AWSServiceCatalogAppRegistryFullAccess?
- The reference page describes it as full access to Service Catalog App Registry capabilities, and says you can attach it to users, groups and roles. Attach it where that scope is intended.
- What does AWSServiceCatalogAppRegistryFullAccess grant?
- It allows servicecatalog actions for applications and attribute groups on all resources, tagging of servicecatalog resources, and, only when called through AppRegistry, CloudFormation update and tagging actions and Resource Groups actions on AWS_* groups. It also allows creating the AppRegistry service-linked role.
- What are the security risks of AWSServiceCatalogAppRegistryFullAccess?
- Application and attribute group changes, including deletes, apply to all resources. The CloudFormation and Resource Groups grants are limited to calls made through AppRegistry. AWS managed policies do not grant least privilege permissions, and an AWS update to the policy affects every identity it is attached to.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AppRegistryUpdateStackAndResourceGroupTagging",
"Effect": "Allow",
"Action": [
"cloudformation:UpdateStack",
"tag:GetResources"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": "servicecatalog-appregistry.amazonaws.com"
}
}
},
{
"Sid": "CloudFormationTagOnCreate",
"Effect": "Allow",
"Action": [
"cloudformation:TagResource",
"cloudformation:UntagResource"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": "servicecatalog-appregistry.amazonaws.com"
},
"StringEquals": {
"cloudformation:CreateAction": [
"UpdateStack"
]
}
}
},
{
"Sid": "AppRegistryResourceGroupsIntegration",
"Effect": "Allow",
"Action": [
"resource-groups:CreateGroup",
"resource-groups:DeleteGroup",
"resource-groups:GetGroup",
"resource-groups:GetTags",
"resource-groups:Tag",
"resource-groups:Untag",
"resource-groups:GetGroupConfiguration",
"resource-groups:AssociateResource",
"resource-groups:DisassociateResource"
],
"Resource": "arn:aws:resource-groups:*:*:group/AWS_*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": "servicecatalog-appregistry.amazonaws.com"
}
}
},
{
"Sid": "AppRegistryServiceLinkedRole",
"Effect": "Allow",
"Action": "iam:CreateServiceLinkedRole",
"Resource": "arn:aws:iam::*:role/aws-service-role/servicecatalog-appregistry.amazonaws.com/AWSServiceRoleForAWSServiceCatalogAppRegistry*",
"Condition": {
"StringEquals": {
"iam:AWSServiceName": "servicecatalog-appregistry.amazonaws.com"
}
}
},
{
"Sid": "AppRegistryOperations",
"Effect": "Allow",
"Action": [
"cloudformation:DescribeStacks",
"servicecatalog:CreateApplication",
"servicecatalog:GetApplication",
"servicecatalog:UpdateApplication",
"servicecatalog:DeleteApplication",
"servicecatalog:ListApplications",
"servicecatalog:AssociateResource",
"servicecatalog:DisassociateResource",
"servicecatalog:GetAssociatedResource",
"servicecatalog:ListAssociatedResources",
"servicecatalog:AssociateAttributeGroup",
"servicecatalog:DisassociateAttributeGroup",
"servicecatalog:ListAssociatedAttributeGroups",
"servicecatalog:CreateAttributeGroup",
"servicecatalog:UpdateAttributeGroup",
"servicecatalog:DeleteAttributeGroup",
"servicecatalog:GetAttributeGroup",
"servicecatalog:ListAttributeGroups",
"servicecatalog:SyncResource",
"servicecatalog:ListAttributeGroupsForApplication",
"servicecatalog:GetConfiguration",
"servicecatalog:PutConfiguration"
],
"Resource": "*"
},
{
"Sid": "AppRegistryResourceTagging",
"Effect": "Allow",
"Action": [
"servicecatalog:ListTagsForResource",
"servicecatalog:UntagResource",
"servicecatalog:TagResource"
],
"Resource": "arn:aws:servicecatalog:*:*:*"
}
]
}
Version history
Current version v7, edited by AWS on 2026-08-12. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.
Attach snippets
AWS CLI
aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogAppRegistryFullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogAppRegistryFullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AWSServiceCatalogAppRegistryFullAccessCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AWSServiceCatalogAppRegistryFullAccessTerraform
resource "aws_iam_role_policy_attachment" "awsservicecatalogappregistryfullaccess" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AWSServiceCatalogAppRegistryFullAccess"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AWSServiceCatalogAppRegistryFullAccess"),
);Sources
- AWSServiceCatalogAppRegistryFullAccess (AWS Managed Policy Reference Guide) (retrieved ; supports summary, practicalScope, useCases, securityConsiderations, assignmentGuidance, faqs)
- AWS managed policies for job functions (IAM User Guide) (retrieved ; supports bestPractices, faqs)
- Managed policies and inline policies (IAM User Guide) (retrieved ; supports securityConsiderations, faqs)