Skip to main content
IAM Policy Map

AWSServiceCatalogAppRegistryFullAccess

OperatorAWS managedActiveReviewedShow on mapCompare

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.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
CloudFormation4 of 1041 List, 2 Tagging, 1 Write; 3 restricted, 3 conditionalcloudformation:DescribeStacks, cloudformation:TagResource, cloudformation:UntagResource, cloudformation:UpdateStack
IAM1 of 1901 Write; 1 restricted, 1 conditionaliam:CreateServiceLinkedRole
Resource Groups9 of 293 Read, 2 Tagging, 4 Write; 9 restricted, 9 conditionalresource-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 Catalog24 of 1175 List, 5 Read, 2 Tagging, 12 Write; 3 restricted, 0 conditionalservicecatalog: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 Tagging1 of 91 Read; 1 restricted, 1 conditionaltag: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.

Same service

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

Download 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/AWSServiceCatalogAppRegistryFullAccess

CloudFormation

Resources:
  ExampleRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument: {}  # replace with your trust policy
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AWSServiceCatalogAppRegistryFullAccess

Terraform

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