PowerUserAccess

Last Modified

Mar 12, 2026

March 12, 2026 at 09:28 PM UTC

Version

v12

Total Versions

13

Created

Feb 12, 2026

Actions

12

Risk

Critical

Administrator access, or an unrestricted way to grant itself permissions or take over other identities. Treat it as admin. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

  • Critical

    Near-administrator access

    Allows every action except iam, organizations, account on every resource. Whatever it can reach, it can change, read or delete.

    • Statement 1: NotAction iam:*, organizations:*, account:*

    Use with caution: Keep it for administrator or break-glass roles protected by MFA. Never attach it to a workload, a CI pipeline or a vendor role.

  • High

    Can take over other users or roles

    Grants every action of 1 documented escalation path on any resource with no condition.

    Use with caution: Reserve it for identity administrators. Keep role trust policies narrow, since sts:AssumeRole on every role is only as safe as the roles that trust the account.

  • High

    Can change identities and their permissions

    Grants 46 permissions management actions on IAM, IAM Identity Center or Organizations, on any resource with no condition.

    sso-directory:addmembertogroupsso-directory:createaliassso-directory:creategroupsso-directory:createusersso-directory:deletegroupsso-directory:deleteusersso-directory:disableusersso-directory:enableusersso-directory:removememberfromgroupsso-directory:updategroupsso-directory:updatepasswordsso-directory:updateuserand 34 more

    Use with caution: Grant it only to identity administrators, and protect your admin roles and SCPs with a permissions boundary or an SCP of their own.

  • High

    Can launch resources that run as a more privileged role

    Grants every action of 1 documented escalation path on any resource with no condition.

    • cloudformation-005cloudformation:CreateChangeSet + cloudformation:ExecuteChangeSetunrestricted

    Use with caution: Make sure no highly privileged role trusts the service involved, and restrict iam:PassRole in your own policies or boundary to named roles with iam:PassedToService.

  • High

    Can take over existing resources that run as another role

    Grants every action of 23 documented escalation paths on any resource with no condition.

    • apprunner-002apprunner:UpdateServiceunrestricted
    • batch-002batch:SubmitJobunrestricted
    • bedrock-002bedrock-agentcore:StartCodeInterpreterSession + bedrock-agentcore:InvokeCodeInterpreterunrestricted
    • bedrock-004bedrock-agentcore:InvokeAgentRuntimeCommandunrestricted
    • bedrock-007bedrock-agentcore:StartBrowserSession + bedrock-agentcore:ConnectBrowserAutomationStreamunrestricted
    • cloudformation-002cloudformation:UpdateStackunrestricted
    • codebuild-002codebuild:StartBuildunrestricted
    • codebuild-003codebuild:StartBuildBatchunrestricted
    15 more paths
    • codedeploy-001codedeploy:CreateDeploymentunrestricted
    • ec2-002ec2:ModifyInstanceAttribute + ec2:StopInstances + ec2:StartInstancesunrestricted
    • ec2-004ec2:CreateLaunchTemplateVersion + ec2:ModifyLaunchTemplateunrestricted
    • ec2-005ec2:CreateLaunchTemplateVersion + ec2:ModifyLaunchTemplateunrestricted
    • ec2instanceconnect-003ec2-instance-connect:SendSSHPublicKeyunrestricted
    • ecs-006ecs:ExecuteCommand + ecs:DescribeTasksunrestricted
    • glue-002glue:UpdateDevEndpointunrestricted
    • lambda-003lambda:UpdateFunctionCodeunrestricted
    • lambda-004lambda:UpdateFunctionCode + lambda:InvokeFunctionunrestricted
    • lambda-005lambda:UpdateFunctionCode + lambda:AddPermissionunrestricted
    • sagemaker-004sagemaker:CreatePresignedNotebookInstanceUrlunrestricted
    • sagemaker-005sagemaker:CreateNotebookInstanceLifecycleConfig + sagemaker:StopNotebookInstance + sagemaker:UpdateNotebookInstance + sagemaker:StartNotebookInstanceunrestricted
    • ssm-001ssm:StartSessionunrestricted
    • ssm-002ssm:SendCommandunrestricted
    • stepfunctions-002states:UpdateStateMachine + states:StartExecutionunrestricted

    Use with caution: List the roles attached to the functions, instances, pipelines or notebooks it can modify: the holder effectively has them too.

  • High

    Can switch off security monitoring

    Can stop a CloudTrail trail, delete a CloudTrail trail, redirect or narrow a CloudTrail trail, change which events CloudTrail records, delete GuardDuty, suspend GuardDuty, disable Security Hub, stop AWS Config recording, delete the AWS Config recorder, delete an IAM Access Analyzer, disable Macie, disable Inspector, delete a Detective behavior graph, delete VPC flow logs, delete CloudWatch log groups, which is how an intruder hides.

    cloudtrail:StopLogging (via NotAction iam:*, organizations:*, account:*)cloudtrail:DeleteTrail (via NotAction iam:*, organizations:*, account:*)cloudtrail:UpdateTrail (via NotAction iam:*, organizations:*, account:*)cloudtrail:PutEventSelectors (via NotAction iam:*, organizations:*, account:*)guardduty:DeleteDetector (via NotAction iam:*, organizations:*, account:*)guardduty:UpdateDetector (via NotAction iam:*, organizations:*, account:*)securityhub:DisableSecurityHub (via NotAction iam:*, organizations:*, account:*)config:StopConfigurationRecorder (via NotAction iam:*, organizations:*, account:*)config:DeleteConfigurationRecorder (via NotAction iam:*, organizations:*, account:*)access-analyzer:DeleteAnalyzer (via NotAction iam:*, organizations:*, account:*)macie2:DisableMacie (via NotAction iam:*, organizations:*, account:*)inspector2:Disable (via NotAction iam:*, organizations:*, account:*)detective:DeleteGraph (via NotAction iam:*, organizations:*, account:*)ec2:DeleteFlowLogs (via NotAction iam:*, organizations:*, account:*)logs:DeleteLogGroup (via NotAction iam:*, organizations:*, account:*)

    Use with caution: Deny these actions with an SCP for everyone outside a break-glass role, so no single policy can blind you.

  • High

    Can read secrets

    Reads Secrets Manager secret values; Secrets Manager secret values in bulk; Parameter Store values, SecureString included where the KMS key allows it; data encrypted with any KMS key whose key policy allows it; Lambda environment variables, where credentials often live; Glue connection passwords, on any resource with no condition.

    secretsmanager:GetSecretValue (via NotAction iam:*, organizations:*, account:*)secretsmanager:BatchGetSecretValue (via NotAction iam:*, organizations:*, account:*)ssm:GetParameter (via NotAction iam:*, organizations:*, account:*)ssm:GetParameters (via NotAction iam:*, organizations:*, account:*)ssm:GetParametersByPath (via NotAction iam:*, organizations:*, account:*)kms:Decrypt (via NotAction iam:*, organizations:*, account:*)lambda:GetFunctionConfiguration (via NotAction iam:*, organizations:*, account:*)glue:GetConnection (via NotAction iam:*, organizations:*, account:*)

    Use with caution: Where the holder needs only some secrets, write your own policy scoped to their ARNs or tags, and limit decryption in the KMS key policies.

  • Medium

    Can rewrite resource policies and sharing

    Grants 251 permissions management actions across 75 services (acm-pca, apigateway, appsync, arc-region-switch, aws-marketplace, backup, ...) on any resource, enough to share resources outside the account.

    acm-pca:createpermissionacm-pca:deletepermissionacm-pca:deletepolicyacm-pca:putpolicyapigateway:createaccessassociationapigateway:deleteportalproductsharingpolicyapigateway:putportalproductsharingpolicyapigateway:setwebaclapigateway:updatedomainnamemanagementpolicyapigateway:updatedomainnamepolicyapigateway:updaterestapipolicyappsync:setwebacland 239 more

    Use with caution: Turn on IAM Access Analyzer external access findings, and keep account-level guards like S3 Block Public Access enabled.

  • Medium

    Can read data in every bucket or table

    Reads any object in any S3 bucket; any DynamoDB table; any Aurora database through the Data API. Read-only is not the same as harmless when the data is the asset.

    s3:GetObject (via NotAction iam:*, organizations:*, account:*)dynamodb:Scan (via NotAction iam:*, organizations:*, account:*)dynamodb:GetItem (via NotAction iam:*, organizations:*, account:*)rds-data:ExecuteStatement (via NotAction iam:*, organizations:*, account:*)

    Use with caution: Read access to data is still access to data. For people who only need to see configuration, ViewOnlyAccess carries none of these signals.

IAM Access Analyzer (1)

  • Warning / CREATE_SLR_WITH_STAR_IN_RESOURCE

    Using the iam:CreateServiceLinkedRole action with wildcards (*) in the resource can allow creation of unintended service-linked roles. We recommend that you specify resource ARNs instead. AWS docs

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "NotAction": [
            "iam:*",
            "organizations:*",
            "account:*"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "account:GetAccountInformation",
            "account:GetGovCloudAccountInformation",
            "account:GetPrimaryEmail",
            "account:ListRegions",
            "iam:CreateServiceLinkedRole",
            "iam:DeleteServiceLinkedRole",
            "iam:ListRoles",
            "organizations:DescribeEffectivePolicy",
            "organizations:DescribeOrganization"
          ],
          "Resource": "*"
        }
      ]
    },
    "VersionId": "v12",
    "IsDefaultVersion": true,
    "CreateDate": "2026-02-12T17:59:14+00:00"
  }
}

Version History (18 recorded)

Raw history
v12updated

scope changed, no action added or removed

e8b4738

PowerUserAccess - Policy Version v12

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2026

199039c

PowerUserAccess - Policy Version v10

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2026

ed21e91

PowerUserAccess - Policy Version v8

No recorded action delta - this version predates the change index. View the raw diff.

Feb 4, 2026

fc0d27a

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Apr 29, 2025

ee8ab75

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 18, 2024

aafbae9

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Aug 19, 2024

2bbefa3

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

May 13, 2024

1b36617

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Feb 22, 2024

527a8f1

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Feb 22, 2024

b9a1ab8

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Jul 6, 2023

73faa9e

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 16, 2019

49aa1d0

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 16, 2019

71619cf

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 16, 2019

8279033

`2019-08-29`

No recorded action delta - this version predates the change index. View the raw diff.

Aug 29, 2019

5016d52

I updated my CLI and it looks like it reordered everything and changed the white-space, so everything looks changed, but is not

No recorded action delta - this version predates the change index. View the raw diff.

Jul 12, 2019

9d2dff1

Update 2019.03.21

No recorded action delta - this version predates the change index. View the raw diff.

Mar 22, 2019

af5aff5

First commit

No recorded action delta - this version predates the change index. View the raw diff.

Feb 10, 2019

ad4c2e8