AmazonKeyspacesFullAccess
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.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Application Auto Scaling | 10 of 14 | 4 Read, 6 Write; 0 restricted, 0 conditional | application-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 |
| Keyspaces | All 19 actions (see the Keyspaces page) | 1 List, 3 Read, 4 Tagging, 11 Write; 0 restricted, 0 conditional | cassandra:* |
| CloudWatch | 3 of 160 | 1 Read, 2 Write; 0 restricted, 0 conditional | cloudwatch:DeleteAlarms, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm |
| EC2 | 2 of 834 | 2 List; 0 restricted, 0 conditional | ec2:DescribeNetworkInterfaces, ec2:DescribeVpcEndpoints |
| IAM | 1 of 190 | 1 Write; 1 restricted, 1 conditional | iam:CreateServiceLinkedRole |
| KMS | 2 of 58 | 1 List, 1 Read; 0 restricted, 0 conditional | kms: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.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Keyspaces | All 2 actions (see the Keyspaces page) | 2 Read; 0 restricted, 0 conditional | cassandra:* |
| CloudWatch | 1 of 5 | 1 Read; 0 restricted, 0 conditional | cloudwatch: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.
Related policies
Same service
- AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy
- AmazonAppStreamFullAccess
- AmazonAthenaServiceRolePolicy
- AmazonAuroraDSQLReadOnlyAccess
- AmazonChimeSDKMediaPipelinesServiceLinkedRolePolicy
- AmazonCloudWatchEvidentlyFullAccess
- AmazonCloudWatchRUMReadOnlyAccess
- AmazonCloudWatchRUMServiceRolePolicy
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
{
"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/AmazonKeyspacesFullAccessCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonKeyspacesFullAccessTerraform
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
- AmazonKeyspacesFullAccess (AWS Managed Policy Reference Guide) (retrieved ; supports summary, practicalScope, securityConsiderations, assignmentGuidance, faqs)
- AWS managed policies for Amazon Keyspaces (Amazon Keyspaces (for Apache Cassandra) Developer Guide) (retrieved ; supports summary, useCases, bestPractices, securityConsiderations, assignmentGuidance, faqs)
- AWS managed policies for job functions (IAM User Guide) (retrieved ; supports bestPractices, faqs)
- Managed policies and inline policies (IAM User Guide) (retrieved ; supports securityConsiderations, faqs)