Skip to main content
IAM Policy Map

AmazonAuroraDSQLConsoleFullAccess

AdminAWS managedActiveReviewedShow on mapCompare

Summary

Provides console full administrative access to Aurora DSQL. The Aurora DSQL User Guide says principals with it can create, delete and update Aurora DSQL clusters, including multi-Region clusters, and manage cluster inline policies through the AWS Management Console.

Permissions imported from the AWS Managed Policy Reference Guide; other sections reviewed against the listed AWS sources.

Identity

ARN
arn:aws:iam::aws:policy/AmazonAuroraDSQLConsoleFullAccess
Default version
v16
Created
Last edited
Services
access-analyzer, cloudwatch, dsql, ec2, iam, kinesis, kms, tag

Control-plane actions (45)

By access level: 5 List, 12 Read, 2 Tagging, 26 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Access Analyzer1 of 371 Read; 0 restricted, 0 conditionalaccess-analyzer:ValidatePolicy
Aurora DSQLAll 30 actions (see the Aurora DSQL page)2 List, 7 Read, 2 Tagging, 19 Write; 0 restricted, 0 conditionaldsql:AddPeerCluster, dsql:CreateCluster, dsql:CreateStream, dsql:DbConnect, dsql:DbConnectAdmin, dsql:DeleteCluster, dsql:DeleteClusterPolicy, dsql:DeleteStream, dsql:GetBackupJob, dsql:GetCluster, dsql:GetClusterPolicy, dsql:GetRestoreJob and 18 more
EC21 of 8341 List; 0 restricted, 0 conditionalec2:DescribeVpcEndpoints
IAM2 of 1902 Write; 2 restricted, 2 conditionaliam:CreateServiceLinkedRole, iam:PassRole
Kinesis2 of 421 List, 1 Read; 0 restricted, 0 conditionalkinesis:DescribeStreamSummary, kinesis:ListStreams
KMS7 of 581 List, 1 Read, 5 Write; 5 restricted, 5 conditionalkms:Decrypt, kms:DescribeKey, kms:Encrypt, kms:GenerateDataKey, kms:ListAliases, kms:ReEncryptFrom, kms:ReEncryptTo
Resource Group Tagging2 of 92 Read; 0 restricted, 0 conditionaltag:GetTagKeys, tag:GetTagValues
Access Analyzer: 1 actions
  • access-analyzer:ValidatePolicy (Read)
EC2: 1 actions
  • ec2:DescribeVpcEndpoints (List)
IAM: 2 actions
  • iam:CreateServiceLinkedRole (Write)
  • iam:PassRole (Write)
Kinesis: 2 actions
  • kinesis:DescribeStreamSummary (Read)
  • kinesis:ListStreams (List)
KMS: 7 actions
  • kms:Decrypt (Write)
  • kms:DescribeKey (Read)
  • kms:Encrypt (Write)
  • kms:GenerateDataKey (Write)
  • kms:ListAliases (List)
  • kms:ReEncryptFrom (Write)
  • kms:ReEncryptTo (Write)
Resource Group Tagging: 2 actions
  • tag:GetTagKeys (Read)
  • tag:GetTagValues (Read)

Data-plane actions (2)

By access level: 1 List, 1 Read.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
CloudWatch2 of 51 List, 1 Read; 0 restricted, 0 conditionalcloudwatch:GetMetricData, cloudwatch:ListMetrics
CloudWatch: 2 actions
  • cloudwatch:GetMetricData (Read)
  • cloudwatch:ListMetrics (List)

Excluded and conditional actions

No patterns are excluded by NotAction or Deny statements.

Resource scope and attachment

Resource scope across granted actions: all-resources.

Can be attached: Yes, to users, groups and roles.

Why this tier

  • Grants at least 80% of the write and permissions-management actions of: dsql (19 of 19).
  • Grants iam:PassRole, but only for scoped roles or under conditions (for example iam:PassedToService).
  • 8 granted write or permissions-management actions have no data-plane classification from AWS, so the data-plane rule cannot assess them.

Guidance

Practical scope

The DsqlAllPermissions statement allows dsql actions on Resource "*", including dsql:CreateCluster, dsql:UpdateCluster, dsql:DeleteCluster, dsql:DbConnectAdmin, dsql:DbConnect, dsql:PutClusterPolicy, dsql:DeleteClusterPolicy, the backup and restore job actions, the stream actions and dsql:InjectError. DsqlConsolePermissions allows access-analyzer:ValidatePolicy, tag:GetTagKeys, tag:GetTagValues, cloudwatch:GetMetricData, cloudwatch:ListMetrics, ec2:DescribeVpcEndpoints, kms:ListAliases, kms:DescribeKey, kinesis:DescribeStreamSummary and kinesis:ListStreams. KMSCryptographicPermissions allows kms:Decrypt, kms:Encrypt, kms:GenerateDataKey, kms:ReEncryptTo and kms:ReEncryptFrom when kms:ViaService matches dsql.*.amazonaws.com and the encryption context keys include aws:dsql:ClusterId. It also allows iam:CreateServiceLinkedRole when iam:AWSServiceName is dsql.amazonaws.com, and iam:PassRole when iam:PassedToService is dsql.amazonaws.com.

Use cases

  • Give an administrator full access to manage Aurora DSQL clusters in the AWS Management Console, including multi-Region clusters, cluster inline policies, and backup and restore operations.

Best practices

  • AWS managed policies might not grant least-privilege permissions for your use case. The service guide recommends reducing permissions further with customer managed policies specific to your use cases.

Security considerations

  • The Aurora DSQL User Guide says principals can connect to the database as any user, including the admin. The policy allows dsql:DbConnectAdmin and dsql:DbConnect on all resources.
  • The policy allows destructive actions on Resource "*", including dsql:DeleteCluster, dsql:DeleteClusterPolicy and dsql:DeleteStream.
  • The PassRoleForChangeStreams statement allows iam:PassRole on Resource "*" when iam:PassedToService is dsql.amazonaws.com. The IAM User Guide says to make sure a user cannot pass a role that has more permissions than you want the user to have.
  • 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 is intended for administrators who manage Aurora DSQL through the console.

Same service

Same domain

Frequently asked questions

When should I attach AmazonAuroraDSQLConsoleFullAccess?
The Aurora DSQL User Guide says you can attach it to your users, groups and roles. Attach it for administrators who need full administrative access to Aurora DSQL through the AWS Management Console, including creating, updating and deleting clusters.
What does AmazonAuroraDSQLConsoleFullAccess grant?
It allows dsql actions on all resources, covering clusters, cluster policies, tags, database connections, multi-Region properties, backup and restore jobs and streams. It also allows console support actions for CloudWatch metrics, tags, VPC endpoints and KMS, conditioned KMS cryptographic actions, creating the dsql.amazonaws.com service-linked role and passing roles to dsql.amazonaws.com.
What are the security risks of AmazonAuroraDSQLConsoleFullAccess?
Principals can connect to the database as any user, including the admin, and can delete clusters, cluster policies and streams on all resources. The policy allows iam:PassRole to dsql.amazonaws.com on any role. AWS managed policies might 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": "DsqlAllPermissions",
      "Effect": "Allow",
      "Action": [
        "dsql:PutClusterPolicy",
        "dsql:GetClusterPolicy",
        "dsql:DeleteClusterPolicy",
        "dsql:CreateCluster",
        "dsql:GetCluster",
        "dsql:UpdateCluster",
        "dsql:DeleteCluster",
        "dsql:ListClusters",
        "dsql:TagResource",
        "dsql:UntagResource",
        "dsql:ListTagsForResource",
        "dsql:DbConnectAdmin",
        "dsql:DbConnect",
        "dsql:PutMultiRegionProperties",
        "dsql:PutWitnessRegion",
        "dsql:AddPeerCluster",
        "dsql:RemovePeerCluster",
        "dsql:GetVpcEndpointServiceName",
        "dsql:StartBackupJob",
        "dsql:GetBackupJob",
        "dsql:StopBackupJob",
        "dsql:StartRestoreJob",
        "dsql:GetRestoreJob",
        "dsql:StopRestoreJob",
        "dsql:InjectError",
        "dsql:CreateStream",
        "dsql:DeleteStream",
        "dsql:GetStream",
        "dsql:ListStreams",
        "dsql:UpdateStream"
      ],
      "Resource": "*"
    },
    {
      "Sid": "DsqlConsolePermissions",
      "Effect": "Allow",
      "Action": [
        "access-analyzer:ValidatePolicy",
        "tag:GetTagKeys",
        "tag:GetTagValues",
        "cloudwatch:GetMetricData",
        "ec2:DescribeVpcEndpoints",
        "kms:ListAliases",
        "kms:DescribeKey",
        "cloudwatch:ListMetrics",
        "kinesis:DescribeStreamSummary",
        "kinesis:ListStreams"
      ],
      "Resource": "*"
    },
    {
      "Sid": "KMSCryptographicPermissions",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:Encrypt",
        "kms:GenerateDataKey",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom"
      ],
      "Resource": "*",
      "Condition": {
        "StringLike": {
          "kms:ViaService": [
            "dsql.*.amazonaws.com"
          ]
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:dsql:ClusterId"
        }
      }
    },
    {
      "Sid": "CreateDsqlServiceLinkedRole",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:AWSServiceName": "dsql.amazonaws.com"
        }
      }
    },
    {
      "Sid": "PassRoleForChangeStreams",
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "dsql.amazonaws.com"
        }
      }
    }
  ]
}

Version history

Current version v16, edited by AWS on 2026-05-13. 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/AmazonAuroraDSQLConsoleFullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonAuroraDSQLConsoleFullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonAuroraDSQLConsoleFullAccess

CloudFormation

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

Terraform

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

CDK (TypeScript)

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

Sources