Skip to main content
IAM Policy Map

AWSCodeCommitPowerUser

AdminAWS managedActivePermissions reviewedShow on mapCompare

Summary

Provides full access to AWS CodeCommit repositories, but does not allow repository deletion.

Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.

Identity

ARN
arn:aws:iam::aws:policy/AWSCodeCommitPowerUser
Default version
v18
Created
Last edited
Services
chatbot, codecommit, codeguru-reviewer, codestar-connections, codestar-notifications, events, iam, lambda, sns

Control-plane actions (131)

By access level: 23 List, 43 Read, 2 Tagging, 63 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Chatbot2 of 392 Read; 0 restricted, 0 conditionalchatbot:DescribeSlackChannelConfigurations, chatbot:ListMicrosoftTeamsChannelConfigurations
CodeCommit85 of 918 List, 34 Read, 2 Tagging, 41 Write; 0 restricted, 0 conditionalcodecommit:AssociateApprovalRuleTemplateWithRepository, codecommit:BatchAssociateApprovalRuleTemplateWithRepositories, codecommit:BatchDescribe*, codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories, codecommit:BatchGet*, codecommit:Create*, codecommit:DeleteBranch, codecommit:DeleteFile, codecommit:Describe*, codecommit:DisassociateApprovalRuleTemplateFromRepository, codecommit:EvaluatePullRequestApprovalRules, codecommit:Get* and 11 more
CodeGuru Reviewer6 of 172 List, 2 Read, 2 Write; 0 restricted, 0 conditionalcodeguru-reviewer:AssociateRepository, codeguru-reviewer:DescribeCodeReview, codeguru-reviewer:DescribeRepositoryAssociation, codeguru-reviewer:DisassociateRepository, codeguru-reviewer:ListCodeReviews, codeguru-reviewer:ListRepositoryAssociations
CodeStar Connections2 of 381 List, 1 Read; 2 restricted, 0 conditionalcodestar-connections:GetConnection, codestar-connections:ListConnections
CodeStar Notifications9 of 134 List, 1 Read, 4 Write; 5 restricted, 5 conditionalcodestar-notifications:CreateNotificationRule, codestar-notifications:DescribeNotificationRule, codestar-notifications:ListEventTypes, codestar-notifications:ListNotificationRules, codestar-notifications:ListTagsforResource, codestar-notifications:ListTargets, codestar-notifications:Subscribe, codestar-notifications:Unsubscribe, codestar-notifications:UpdateNotificationRule
EventBridge8 of 711 List, 1 Read, 6 Write; 8 restricted, 0 conditionalevents:DeleteRule, events:DescribeRule, events:DisableRule, events:EnableRule, events:ListTargetsByRule, events:PutRule, events:PutTargets, events:RemoveTargets
IAM13 of 1904 List, 1 Read, 8 Write; 12 restricted, 1 conditionaliam:CreateServiceLinkedRole, iam:CreateServiceSpecificCredential, iam:DeleteSSHPublicKey, iam:DeleteServiceSpecificCredential, iam:GetSSHPublicKey, iam:ListAccessKeys, iam:ListSSHPublicKeys, iam:ListServiceSpecificCredentials, iam:ListUsers, iam:ResetServiceSpecificCredential, iam:UpdateSSHPublicKey, iam:UpdateServiceSpecificCredential and 1 more
Lambda1 of 1211 List; 0 restricted, 0 conditionallambda:ListFunctions
SNS5 of 402 List, 1 Read, 2 Write; 2 restricted, 0 conditionalsns:GetTopicAttributes, sns:ListSubscriptionsByTopic, sns:ListTopics, sns:Subscribe, sns:Unsubscribe
Chatbot: 2 actions
  • chatbot:DescribeSlackChannelConfigurations (Read)
  • chatbot:ListMicrosoftTeamsChannelConfigurations (Read)
CodeCommit: 85 actions
  • codecommit:AssociateApprovalRuleTemplateWithRepository (Write)
  • codecommit:BatchAssociateApprovalRuleTemplateWithRepositories (Write)
  • codecommit:BatchDescribeMergeConflicts (Read)
  • codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories (Write)
  • codecommit:BatchGetCommits (Read)
  • codecommit:BatchGetPullRequests (Read)
  • codecommit:BatchGetRepositories (Read)
  • codecommit:CreateApprovalRuleTemplate (Write)
  • codecommit:CreateBranch (Write)
  • codecommit:CreateCommit (Write)
  • codecommit:CreatePullRequest (Write)
  • codecommit:CreatePullRequestApprovalRule (Write)
  • codecommit:CreateRepository (Write)
  • codecommit:CreateUnreferencedMergeCommit (Write)
  • codecommit:DeleteBranch (Write)
  • codecommit:DeleteFile (Write)
  • codecommit:DescribeMergeConflicts (Read)
  • codecommit:DescribePullRequestEvents (Read)
  • codecommit:DisassociateApprovalRuleTemplateFromRepository (Write)
  • codecommit:EvaluatePullRequestApprovalRules (Read)
  • codecommit:GetApprovalRuleTemplate (Read)
  • codecommit:GetBlob (Read)
  • codecommit:GetBlobDifferences (Read)
  • codecommit:GetBranch (Read)
  • codecommit:GetComment (Read)
  • codecommit:GetCommentReactions (Read)
  • codecommit:GetCommentsForComparedCommit (Read)
  • codecommit:GetCommentsForPullRequest (Read)
  • codecommit:GetCommit (Read)
  • codecommit:GetCommitHistory (Read)
  • codecommit:GetCommitsFromMergeBase (Read)
  • codecommit:GetDifferences (Read)
  • codecommit:GetFile (Read)
  • codecommit:GetFolder (Read)
  • codecommit:GetMergeCommit (Read)
  • codecommit:GetMergeConflicts (Read)
  • codecommit:GetMergeOptions (Read)
  • codecommit:GetObjectIdentifier (Read)
  • codecommit:GetPullRequest (Read)
  • codecommit:GetPullRequestApprovalStates (Read)
  • codecommit:GetPullRequestOverrideState (Read)
  • codecommit:GetReferences (Read)
  • codecommit:GetRepository (Read)
  • codecommit:GetRepositoryTriggers (Read)
  • codecommit:GetTree (Read)
  • codecommit:GetUploadArchiveStatus (Read)
  • codecommit:GitPull (Read)
  • codecommit:GitPush (Write)
  • codecommit:ListApprovalRuleTemplates (List)
  • codecommit:ListAssociatedApprovalRuleTemplatesForRepository (List)
  • codecommit:ListBranches (List)
  • codecommit:ListFileCommitHistory (List)
  • codecommit:ListPullRequests (List)
  • codecommit:ListRepositories (List)
  • codecommit:ListRepositoriesForApprovalRuleTemplate (List)
  • codecommit:ListTagsForResource (List)
  • codecommit:MergeBranchesByFastForward (Write)
  • codecommit:MergeBranchesBySquash (Write)
  • codecommit:MergeBranchesByThreeWay (Write)
  • codecommit:MergePullRequestByFastForward (Write)
  • codecommit:MergePullRequestBySquash (Write)
  • codecommit:MergePullRequestByThreeWay (Write)
  • codecommit:OverridePullRequestApprovalRules (Write)
  • codecommit:PostCommentForComparedCommit (Write)
  • codecommit:PostCommentForPullRequest (Write)
  • codecommit:PostCommentReply (Write)
  • codecommit:PutCommentReaction (Write)
  • codecommit:PutFile (Write)
  • codecommit:PutRepositoryTriggers (Write)
  • codecommit:TagResource (Tagging)
  • codecommit:TestRepositoryTriggers (Write)
  • codecommit:UntagResource (Tagging)
  • codecommit:UpdateApprovalRuleTemplateContent (Write)
  • codecommit:UpdateApprovalRuleTemplateDescription (Write)
  • codecommit:UpdateApprovalRuleTemplateName (Write)
  • codecommit:UpdateComment (Write)
  • codecommit:UpdateDefaultBranch (Write)
  • codecommit:UpdatePullRequestApprovalRuleContent (Write)
  • codecommit:UpdatePullRequestApprovalState (Write)
  • codecommit:UpdatePullRequestDescription (Write)
  • codecommit:UpdatePullRequestStatus (Write)
  • codecommit:UpdatePullRequestTitle (Write)
  • codecommit:UpdateRepositoryDescription (Write)
  • codecommit:UpdateRepositoryEncryptionKey (Write)
  • codecommit:UpdateRepositoryName (Write)
CodeGuru Reviewer: 6 actions
  • codeguru-reviewer:AssociateRepository (Write)
  • codeguru-reviewer:DescribeCodeReview (Read)
  • codeguru-reviewer:DescribeRepositoryAssociation (Read)
  • codeguru-reviewer:DisassociateRepository (Write)
  • codeguru-reviewer:ListCodeReviews (List)
  • codeguru-reviewer:ListRepositoryAssociations (List)
CodeStar Connections: 2 actions
  • codestar-connections:GetConnection (Read)
  • codestar-connections:ListConnections (List)
CodeStar Notifications: 9 actions
  • codestar-notifications:CreateNotificationRule (Write)
  • codestar-notifications:DescribeNotificationRule (Read)
  • codestar-notifications:ListEventTypes (List)
  • codestar-notifications:ListNotificationRules (List)
  • codestar-notifications:ListTagsForResource (List)
  • codestar-notifications:ListTargets (List)
  • codestar-notifications:Subscribe (Write)
  • codestar-notifications:Unsubscribe (Write)
  • codestar-notifications:UpdateNotificationRule (Write)
EventBridge: 8 actions
  • events:DeleteRule (Write)
  • events:DescribeRule (Read)
  • events:DisableRule (Write)
  • events:EnableRule (Write)
  • events:ListTargetsByRule (List)
  • events:PutRule (Write)
  • events:PutTargets (Write)
  • events:RemoveTargets (Write)
IAM: 13 actions
  • iam:CreateServiceLinkedRole (Write)
  • iam:CreateServiceSpecificCredential (Write)
  • iam:DeleteSSHPublicKey (Write)
  • iam:DeleteServiceSpecificCredential (Write)
  • iam:GetSSHPublicKey (Read)
  • iam:ListAccessKeys (List)
  • iam:ListSSHPublicKeys (List)
  • iam:ListServiceSpecificCredentials (List)
  • iam:ListUsers (List)
  • iam:ResetServiceSpecificCredential (Write)
  • iam:UpdateSSHPublicKey (Write)
  • iam:UpdateServiceSpecificCredential (Write)
  • iam:UploadSSHPublicKey (Write)
Lambda: 1 actions
  • lambda:ListFunctions (List)
SNS: 5 actions
  • sns:GetTopicAttributes (Read)
  • sns:ListSubscriptionsByTopic (List)
  • sns:ListTopics (List)
  • sns:Subscribe (Write)
  • sns:Unsubscribe (Write)

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 at least 80% of the write and permissions-management actions of: codecommit (41 of 46).

Guidance

Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.

Same service

Same domain

Frequently asked questions

Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.

Policy JSON

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecommit:AssociateApprovalRuleTemplateWithRepository",
        "codecommit:BatchAssociateApprovalRuleTemplateWithRepositories",
        "codecommit:BatchDisassociateApprovalRuleTemplateFromRepositories",
        "codecommit:BatchGet*",
        "codecommit:BatchDescribe*",
        "codecommit:Create*",
        "codecommit:DeleteBranch",
        "codecommit:DeleteFile",
        "codecommit:Describe*",
        "codecommit:DisassociateApprovalRuleTemplateFromRepository",
        "codecommit:EvaluatePullRequestApprovalRules",
        "codecommit:Get*",
        "codecommit:List*",
        "codecommit:Merge*",
        "codecommit:OverridePullRequestApprovalRules",
        "codecommit:Put*",
        "codecommit:Post*",
        "codecommit:TagResource",
        "codecommit:Test*",
        "codecommit:UntagResource",
        "codecommit:Update*",
        "codecommit:GitPull",
        "codecommit:GitPush"
      ],
      "Resource": "*"
    },
    {
      "Sid": "CloudWatchEventsCodeCommitRulesAccess",
      "Effect": "Allow",
      "Action": [
        "events:DeleteRule",
        "events:DescribeRule",
        "events:DisableRule",
        "events:EnableRule",
        "events:PutRule",
        "events:PutTargets",
        "events:RemoveTargets",
        "events:ListTargetsByRule"
      ],
      "Resource": "arn:aws:events:*:*:rule/codecommit*"
    },
    {
      "Sid": "SNSTopicAndSubscriptionAccess",
      "Effect": "Allow",
      "Action": [
        "sns:Subscribe",
        "sns:Unsubscribe"
      ],
      "Resource": "arn:aws:sns:*:*:codecommit*"
    },
    {
      "Sid": "SNSTopicAndSubscriptionReadAccess",
      "Effect": "Allow",
      "Action": [
        "sns:ListTopics",
        "sns:ListSubscriptionsByTopic",
        "sns:GetTopicAttributes"
      ],
      "Resource": "*"
    },
    {
      "Sid": "LambdaReadOnlyListAccess",
      "Effect": "Allow",
      "Action": [
        "lambda:ListFunctions"
      ],
      "Resource": "*"
    },
    {
      "Sid": "IAMReadOnlyListAccess",
      "Effect": "Allow",
      "Action": [
        "iam:ListUsers"
      ],
      "Resource": "*"
    },
    {
      "Sid": "IAMReadOnlyConsoleAccess",
      "Effect": "Allow",
      "Action": [
        "iam:ListAccessKeys",
        "iam:ListSSHPublicKeys",
        "iam:ListServiceSpecificCredentials"
      ],
      "Resource": "arn:aws:iam::*:user/${aws:username}"
    },
    {
      "Sid": "IAMUserSSHKeys",
      "Effect": "Allow",
      "Action": [
        "iam:DeleteSSHPublicKey",
        "iam:GetSSHPublicKey",
        "iam:ListSSHPublicKeys",
        "iam:UpdateSSHPublicKey",
        "iam:UploadSSHPublicKey"
      ],
      "Resource": "arn:aws:iam::*:user/${aws:username}"
    },
    {
      "Sid": "IAMSelfManageServiceSpecificCredentials",
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceSpecificCredential",
        "iam:UpdateServiceSpecificCredential",
        "iam:DeleteServiceSpecificCredential",
        "iam:ResetServiceSpecificCredential"
      ],
      "Resource": "arn:aws:iam::*:user/${aws:username}"
    },
    {
      "Sid": "CodeStarNotificationsReadWriteAccess",
      "Effect": "Allow",
      "Action": [
        "codestar-notifications:CreateNotificationRule",
        "codestar-notifications:DescribeNotificationRule",
        "codestar-notifications:UpdateNotificationRule",
        "codestar-notifications:Subscribe",
        "codestar-notifications:Unsubscribe"
      ],
      "Resource": "*",
      "Condition": {
        "ArnLike": {
          "codestar-notifications:NotificationsForResource": "arn:aws:codecommit:*:*:*"
        }
      }
    },
    {
      "Sid": "CodeStarNotificationsListAccess",
      "Effect": "Allow",
      "Action": [
        "codestar-notifications:ListNotificationRules",
        "codestar-notifications:ListTargets",
        "codestar-notifications:ListTagsforResource",
        "codestar-notifications:ListEventTypes"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonCodeGuruReviewerFullAccess",
      "Effect": "Allow",
      "Action": [
        "codeguru-reviewer:AssociateRepository",
        "codeguru-reviewer:DescribeRepositoryAssociation",
        "codeguru-reviewer:ListRepositoryAssociations",
        "codeguru-reviewer:DisassociateRepository",
        "codeguru-reviewer:DescribeCodeReview",
        "codeguru-reviewer:ListCodeReviews"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AmazonCodeGuruReviewerSLRCreation",
      "Action": "iam:CreateServiceLinkedRole",
      "Effect": "Allow",
      "Resource": "arn:aws:iam::*:role/aws-service-role/codeguru-reviewer.amazonaws.com/AWSServiceRoleForAmazonCodeGuruReviewer",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "codeguru-reviewer.amazonaws.com"
        }
      }
    },
    {
      "Sid": "CloudWatchEventsManagedRules",
      "Effect": "Allow",
      "Action": [
        "events:PutRule",
        "events:PutTargets",
        "events:DeleteRule",
        "events:RemoveTargets"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "events:ManagedBy": "codeguru-reviewer.amazonaws.com"
        }
      }
    },
    {
      "Sid": "CodeStarNotificationsChatbotAccess",
      "Effect": "Allow",
      "Action": [
        "chatbot:DescribeSlackChannelConfigurations",
        "chatbot:ListMicrosoftTeamsChannelConfigurations"
      ],
      "Resource": "*"
    },
    {
      "Sid": "CodeStarConnectionsReadOnlyAccess",
      "Effect": "Allow",
      "Action": [
        "codestar-connections:ListConnections",
        "codestar-connections:GetConnection"
      ],
      "Resource": "arn:aws:codestar-connections:*:*:connection/*"
    }
  ]
}

Version history

Current version v18, edited by AWS on 2026-02-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/AWSCodeCommitPowerUser
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AWSCodeCommitPowerUser
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AWSCodeCommitPowerUser

CloudFormation

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

Terraform

resource "aws_iam_role_policy_attachment" "awscodecommitpoweruser" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/AWSCodeCommitPowerUser"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("AWSCodeCommitPowerUser"),
);

Sources

Pending editorial review. No editorial sources are listed yet.