View a markdown version of this page

AmazonEBSCSIDriverEKSClusterScopedPolicy - AWS Managed Policy

AmazonEBSCSIDriverEKSClusterScopedPolicy

Description: IAM Policy that allows the CSI driver service account to make calls to related services such as EC2 on your behalf. This policy restricts the Amazon EBS CSI driver to only managing EBS volumes and snapshots that belong to a specific EKS cluster. It requires the resource tag ebs.csi.aws.com/cluster-name to match the eks-cluster-name tag on the IAM principal, preventing cross-cluster access when multiple clusters share the same AWS account. Attach and detach operations on instances are restricted to instances tagged with either the eks:cluster-name tag (set automatically by EKS on managed node groups) or the ebs.csi.aws.com/cluster-name tag (for manually tagged instances).

AmazonEBSCSIDriverEKSClusterScopedPolicy is an AWS managed policy.

Using this policy

You can attach AmazonEBSCSIDriverEKSClusterScopedPolicy to your users, groups, and roles.

Policy details

  • Type: AWS managed policy

  • Creation time: April 16, 2026, 17:27 UTC

  • Edited time: April 16, 2026, 17:27 UTC

  • ARN: arn:aws:iam::aws:policy/AmazonEBSCSIDriverEKSClusterScopedPolicy

Policy version

Policy version: v1 (default)

The policy's default version is the version that defines the permissions for the policy. When a user or role with the policy makes a request to access an AWS resource, AWS checks the default version of the policy to determine whether to allow the request.

JSON policy document

{ "Version" : "2012-10-17", "Statement" : [ { "Sid" : "ReadOnlyDescribeOperations", "Effect" : "Allow", "Action" : [ "ec2:DescribeAvailabilityZones", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeSnapshots", "ec2:DescribeVolumes", "ec2:DescribeVolumesModifications", "ec2:DescribeVolumeStatus" ], "Resource" : "*" }, { "Sid" : "CreateAndCopyVolumesWithClusterTag", "Effect" : "Allow", "Action" : [ "ec2:CreateVolume", "ec2:CopyVolumes" ], "Resource" : "arn:aws:ec2:*:*:volume/*", "Condition" : { "StringEquals" : { "aws:RequestTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "CopyClusterVolumes", "Effect" : "Allow", "Action" : [ "ec2:CopyVolumes" ], "Resource" : "arn:aws:ec2:*:*:volume/vol-*", "Condition" : { "StringEquals" : { "ec2:ResourceTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "CreateSnapshotsWithClusterTag", "Effect" : "Allow", "Action" : [ "ec2:CreateSnapshot" ], "Resource" : "arn:aws:ec2:*:*:snapshot/*", "Condition" : { "StringEquals" : { "aws:RequestTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "CreateSnapshotsFromClusterVolumes", "Effect" : "Allow", "Action" : [ "ec2:CreateSnapshot" ], "Resource" : "arn:aws:ec2:*:*:volume/*", "Condition" : { "StringEquals" : { "ec2:ResourceTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "ManageClusterVolumes", "Effect" : "Allow", "Action" : [ "ec2:ModifyVolume", "ec2:AttachVolume", "ec2:DetachVolume", "ec2:DeleteVolume" ], "Resource" : "arn:aws:ec2:*:*:volume/*", "Condition" : { "StringEquals" : { "ec2:ResourceTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "CreateVolumesFromAndEnableFSROnClusterSnapshots", "Effect" : "Allow", "Action" : [ "ec2:CreateVolume", "ec2:EnableFastSnapshotRestores" ], "Resource" : "arn:aws:ec2:*:*:snapshot/*", "Condition" : { "StringEquals" : { "ec2:ResourceTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "AttachDetachVolumesToClusterInstance", "Effect" : "Allow", "Action" : [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource" : "arn:aws:ec2:*:*:instance/*", "Condition" : { "StringEquals" : { "ec2:ResourceTag/eks:cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "AttachDetachVolumesToManuallyTaggedInstance", "Effect" : "Allow", "Action" : [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource" : "arn:aws:ec2:*:*:instance/*", "Condition" : { "StringEquals" : { "ec2:ResourceTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "DeleteAndLockClusterSnapshots", "Effect" : "Allow", "Action" : [ "ec2:DeleteSnapshot", "ec2:LockSnapshot" ], "Resource" : "arn:aws:ec2:*:*:snapshot/*", "Condition" : { "StringEquals" : { "ec2:ResourceTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" } } }, { "Sid" : "TagResourcesOnCreation", "Effect" : "Allow", "Action" : [ "ec2:CreateTags" ], "Resource" : [ "arn:aws:ec2:*:*:volume/*", "arn:aws:ec2:*:*:snapshot/*" ], "Condition" : { "StringEquals" : { "ec2:CreateAction" : [ "CreateVolume", "CreateSnapshot", "CopyVolumes" ] } } }, { "Sid" : "ModifyTagsOnClusterVolumes", "Effect" : "Allow", "Action" : [ "ec2:CreateTags", "ec2:DeleteTags" ], "Resource" : "arn:aws:ec2:*:*:volume/*", "Condition" : { "StringEquals" : { "ec2:ResourceTag/ebs.csi.aws.com/cluster-name" : "${aws:PrincipalTag/eks-cluster-name}" }, "Null" : { "aws:TagKeys" : "false" }, "ForAllValues:StringNotEquals" : { "aws:TagKeys" : [ "ebs.csi.aws.com/cluster", "ebs.csi.aws.com/cluster-name", "kubernetes.io/created-for/pvc/name" ] } } } ] }

Learn more