Skip to main content
IAM Policy Map

AmazonKeyspacesFullAccess

AdminAWS managedActiveReviewedShow on mapCompare

Summary

Provides full access to Amazon Keyspaces. The Amazon Keyspaces (for Apache Cassandra) Developer Guide says it grants administrative permissions that allow administrators unrestricted access to Amazon Keyspaces.

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

Identity

ARN
arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess
Default version
v8
Created
Last edited
Services
application-autoscaling, cassandra, cloudwatch, ec2, iam, kms

Control-plane actions (37)

By access level: 4 List, 9 Read, 4 Tagging, 20 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Application Auto Scaling10 of 144 Read, 6 Write; 0 restricted, 0 conditionalapplication-autoscaling:DeleteScalingPolicy, application-autoscaling:DeleteScheduledAction, application-autoscaling:DeregisterScalableTarget, application-autoscaling:DescribeScalableTargets, application-autoscaling:DescribeScalingActivities, application-autoscaling:DescribeScalingPolicies, application-autoscaling:DescribeScheduledActions, application-autoscaling:PutScalingPolicy, application-autoscaling:PutScheduledAction, application-autoscaling:RegisterScalableTarget
KeyspacesAll 19 actions (see the Keyspaces page)1 List, 3 Read, 4 Tagging, 11 Write; 0 restricted, 0 conditionalcassandra:*
CloudWatch3 of 1601 Read, 2 Write; 0 restricted, 0 conditionalcloudwatch:DeleteAlarms, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm
EC22 of 8342 List; 0 restricted, 0 conditionalec2:DescribeNetworkInterfaces, ec2:DescribeVpcEndpoints
IAM1 of 1901 Write; 1 restricted, 1 conditionaliam:CreateServiceLinkedRole
KMS2 of 581 List, 1 Read; 0 restricted, 0 conditionalkms:DescribeKey, kms:ListAliases
Application Auto Scaling: 10 actions
  • application-autoscaling:DeleteScalingPolicy (Write)
  • application-autoscaling:DeleteScheduledAction (Write)
  • application-autoscaling:DeregisterScalableTarget (Write)
  • application-autoscaling:DescribeScalableTargets (Read)
  • application-autoscaling:DescribeScalingActivities (Read)
  • application-autoscaling:DescribeScalingPolicies (Read)
  • application-autoscaling:DescribeScheduledActions (Read)
  • application-autoscaling:PutScalingPolicy (Write)
  • application-autoscaling:PutScheduledAction (Write)
  • application-autoscaling:RegisterScalableTarget (Write)
CloudWatch: 3 actions
  • cloudwatch:DeleteAlarms (Write)
  • cloudwatch:DescribeAlarms (Read)
  • cloudwatch:PutMetricAlarm (Write)
EC2: 2 actions
  • ec2:DescribeNetworkInterfaces (List)
  • ec2:DescribeVpcEndpoints (List)
IAM: 1 actions
  • iam:CreateServiceLinkedRole (Write)
KMS: 2 actions
  • kms:DescribeKey (Read)
  • kms:ListAliases (List)

Data-plane actions (3)

By access level: 3 Read.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
KeyspacesAll 2 actions (see the Keyspaces page)2 Read; 0 restricted, 0 conditionalcassandra:*
CloudWatch1 of 51 Read; 0 restricted, 0 conditionalcloudwatch:GetMetricData
CloudWatch: 1 actions
  • cloudwatch:GetMetricData (Read)

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: application-autoscaling (6 of 6), cassandra (11 of 11).
  • 7 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 first statement allows cassandra:* on Resource "*". Other statements allow application-autoscaling scaling policy, scheduled action and scalable target actions plus kms:DescribeKey and kms:ListAliases, CloudWatch alarm actions (DeleteAlarms, DescribeAlarms, GetMetricData, PutMetricAlarm), and ec2:DescribeNetworkInterfaces and ec2:DescribeVpcEndpoints. iam:CreateServiceLinkedRole is allowed on three named roles with matching iam:AWSServiceName conditions: AWSServiceRoleForApplicationAutoScaling_CassandraTable, AWSServiceRoleForKeyspacesReplication and AWSServiceRoleForAmazonKeyspacesCDC.

Use cases

  • Give administrators unrestricted access to Amazon Keyspaces, including managing automatic scaling policies for tables and creating the service-linked roles that CDC streams, automatic scaling and multi-Region replication use.

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.
  • AWS managed policies might not grant least-privilege permissions for your specific use cases because they are available to all AWS customers. The Amazon Keyspaces (for Apache Cassandra) Developer Guide recommends reducing permissions further with customer managed policies specific to your use cases.

Security considerations

  • cassandra:* allows every Amazon Keyspaces action on all resources. The Developer Guide describes this as unrestricted access to Amazon Keyspaces.
  • The policy also lets principals create and delete CloudWatch alarms and scaling policies, and create the three Keyspaces-related service-linked roles.
  • 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 IAM identities. The reference page says users, groups and roles, and links to guidance on creating a permission set using AWS managed policies in IAM Identity Center. The Developer Guide aims it at administrators.

Same service

Same domain

Frequently asked questions

When should I attach AmazonKeyspacesFullAccess?
The Amazon Keyspaces (for Apache Cassandra) Developer Guide says it grants administrative permissions for unrestricted access to Amazon Keyspaces, so attach it to administrators who need that. If a narrower scope is enough, AWS recommends customer managed policies specific to your use cases.
What does AmazonKeyspacesFullAccess grant?
It allows cassandra:* on all resources, Application Auto Scaling actions to create, view and delete scaling policies and scheduled actions for tables, CloudWatch alarm and metric-data actions, kms:DescribeKey and kms:ListAliases, read-only EC2 VPC endpoint and network interface lookups, and creating the service-linked roles for automatic scaling, multi-Region replication and CDC streams.
What are the security risks of AmazonKeyspacesFullAccess?
cassandra:* allows every Amazon Keyspaces action on all resources, which the Developer Guide describes as unrestricted access. AWS managed policies might not grant least-privilege permissions for your use case, and AWS updates to the policy affect every identity it is attached to.

Policy JSON

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CassandraFullAccess",
      "Effect": "Allow",
      "Action": [
        "cassandra:*"
      ],
      "Resource": "*"
    },
    {
      "Sid": "ApplicationAutoscalingFullAccess",
      "Effect": "Allow",
      "Action": [
        "application-autoscaling:DeleteScalingPolicy",
        "application-autoscaling:DeleteScheduledAction",
        "application-autoscaling:DeregisterScalableTarget",
        "application-autoscaling:DescribeScalableTargets",
        "application-autoscaling:DescribeScalingActivities",
        "application-autoscaling:DescribeScalingPolicies",
        "application-autoscaling:DescribeScheduledActions",
        "application-autoscaling:PutScheduledAction",
        "application-autoscaling:PutScalingPolicy",
        "application-autoscaling:RegisterScalableTarget",
        "kms:DescribeKey",
        "kms:ListAliases"
      ],
      "Resource": "*"
    },
    {
      "Sid": "CloudwatchAlarmsFullAccess",
      "Effect": "Allow",
      "Action": [
        "cloudwatch:DeleteAlarms",
        "cloudwatch:DescribeAlarms",
        "cloudwatch:GetMetricData",
        "cloudwatch:PutMetricAlarm"
      ],
      "Resource": "*"
    },
    {
      "Sid": "ApplicationAutoscalingServiceLinkedRole",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/cassandra.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_CassandraTable",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "cassandra.application-autoscaling.amazonaws.com"
        }
      }
    },
    {
      "Sid": "KeyspacesReplicationServiceLinkedRole",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/replication.cassandra.amazonaws.com/AWSServiceRoleForKeyspacesReplication",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "replication.cassandra.amazonaws.com"
        }
      }
    },
    {
      "Sid": "KeyspacesCDCServiceLinkedRole",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/cassandra-streams.amazonaws.com/AWSServiceRoleForAmazonKeyspacesCDC",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "cassandra-streams.amazonaws.com"
        }
      }
    },
    {
      "Sid": "Ec2VpcReadAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeNetworkInterfaces",
        "ec2:DescribeVpcEndpoints"
      ],
      "Resource": "*"
    }
  ]
}

Version history

Current version v8, 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/AmazonKeyspacesFullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonKeyspacesFullAccess

CloudFormation

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

Terraform

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

CDK (TypeScript)

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

Sources