AmazonRedshiftServiceLinkedRolePolicy - AWS Managed Policy

AmazonRedshiftServiceLinkedRolePolicy

Description: Allows Amazon Redshift to call AWS services on your behalf

AmazonRedshiftServiceLinkedRolePolicy is an AWS managed policy.

Using this policy

This policy is attached to a service-linked role that allows the service to perform actions on your behalf. You cannot attach this policy to your users, groups, or roles.

Policy details

  • Type: Service-linked role policy

  • Creation time: September 18, 2017, 19:19 UTC

  • Edited time: November 20, 2024, 18:06 UTC

  • ARN: arn:aws:iam::aws:policy/aws-service-role/AmazonRedshiftServiceLinkedRolePolicy

Policy version

Policy version: v14 (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" : "Ec2VpcPermissions", "Effect" : "Allow", "Action" : [ "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAddresses", "ec2:AssociateAddress", "ec2:DisassociateAddress", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateVpcEndpoint", "ec2:DeleteVpcEndpoints", "ec2:DescribeVpcEndpoints", "ec2:ModifyVpcEndpoint" ], "Resource" : "*" }, { "Sid" : "PublicAccessCreateEip", "Effect" : "Allow", "Action" : [ "ec2:AllocateAddress" ], "Resource" : [ "arn:aws:ec2:*:*:elastic-ip/*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/Redshift" : "true" } } }, { "Sid" : "PublicAccessReleaseEip", "Effect" : "Allow", "Action" : [ "ec2:ReleaseAddress" ], "Resource" : [ "arn:aws:ec2:*:*:elastic-ip/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/Redshift" : "true" } } }, { "Sid" : "EnableCreationAndManagementOfRedshiftCloudwatchLogGroups", "Effect" : "Allow", "Action" : [ "logs:CreateLogGroup", "logs:PutRetentionPolicy" ], "Resource" : [ "arn:aws:logs:*:*:log-group:/aws/redshift/*" ] }, { "Sid" : "EnableCreationAndManagementOfRedshiftCloudwatchLogStreams", "Effect" : "Allow", "Action" : [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "logs:GetLogEvents" ], "Resource" : [ "arn:aws:logs:*:*:log-group:/aws/redshift/*:log-stream:*" ] }, { "Sid" : "CreateSecurityGroupWithTags", "Effect" : "Allow", "Action" : [ "ec2:CreateSecurityGroup" ], "Resource" : [ "arn:aws:ec2:*:*:security-group/*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/Redshift" : "true" } } }, { "Sid" : "SecurityGroupPermissions", "Effect" : "Allow", "Action" : [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "ec2:ModifySecurityGroupRules", "ec2:DeleteSecurityGroup" ], "Resource" : [ "arn:aws:ec2:*:*:security-group/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/Redshift" : "true" } } }, { "Sid" : "CreateSecurityGroup", "Effect" : "Allow", "Action" : [ "ec2:CreateSecurityGroup" ], "Resource" : [ "arn:aws:ec2:*:*:vpc/*" ] }, { "Sid" : "CreateTagsOnResources", "Effect" : "Allow", "Action" : "ec2:CreateTags", "Resource" : [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:route-table/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:internet-gateway/*", "arn:aws:ec2:*:*:elastic-ip/*" ], "Condition" : { "StringEquals" : { "ec2:CreateAction" : [ "CreateVpc", "CreateSecurityGroup", "CreateSubnet", "CreateInternetGateway", "CreateRouteTable", "AllocateAddress" ] } } }, { "Sid" : "VPCPermissions", "Effect" : "Allow", "Action" : [ "ec2:DescribeVpcAttribute", "ec2:DescribeSecurityGroups", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroupRules", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkAcls", "ec2:DescribeRouteTables" ], "Resource" : "*" }, { "Sid" : "CloudWatch", "Effect" : "Allow", "Action" : [ "cloudwatch:PutMetricData" ], "Resource" : "*", "Condition" : { "StringEquals" : { "cloudwatch:namespace" : [ "AWS/Redshift-Serverless", "AWS/Redshift" ] } } }, { "Sid" : "SecretManager", "Effect" : "Allow", "Action" : [ "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecret", "secretsmanager:UpdateSecretVersionStage", "secretsmanager:RotateSecret" ], "Resource" : [ "arn:aws:secretsmanager:*:*:secret:redshift!*" ], "Condition" : { "StringEquals" : { "secretsmanager:ResourceTag/aws:secretsmanager:owningService" : "redshift", "aws:ResourceAccount" : "${aws:PrincipalAccount}" } } }, { "Sid" : "SecretsManagerRandomPassword", "Effect" : "Allow", "Action" : [ "secretsmanager:GetRandomPassword" ], "Resource" : "*" }, { "Sid" : "IPV6Permissions", "Effect" : "Allow", "Action" : [ "ec2:AssignIpv6Addresses", "ec2:UnassignIpv6Addresses" ], "Resource" : [ "arn:aws:ec2:*:*:network-interface/*" ] }, { "Sid" : "ServiceQuotasToCheckCustomerLimits", "Effect" : "Allow", "Action" : [ "servicequotas:GetServiceQuota" ], "Resource" : [ "arn:aws:servicequotas:*:*:ec2/L-0263D0A3", "arn:aws:servicequotas:*:*:vpc/L-29B6F2EB" ] }, { "Sid" : "DiscoverRedshiftCatalogs", "Effect" : "Allow", "Action" : [ "glue:GetCatalog", "glue:GetCatalogs" ], "Resource" : [ "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:catalog/*" ], "Condition" : { "Bool" : { "glue:EnabledForRedshiftAutoDiscovery" : "true" } } } ] }

Learn more