Uso de roles vinculados a servicios para Amazon Redshift
Amazon Redshift utiliza roles vinculados a servicios de AWS Identity and Access Management (IAM). Un rol vinculado a un servicio es un tipo único de rol de IAM que está conectado de forma directa a Amazon Redshift. Los roles vinculados a servicio están predefinidos por Amazon Redshift e incluyen todos los permisos que el servicio requiere para llamar a servicios de AWS en nombre de su clúster de Amazon Redshift.
Un rol vinculado a un servicio simplifica la configuración de Amazon Redshift porque ya no tendrá que agregar los permisos necesarios de forma manual. El rol está vinculado a los casos de uso de Amazon Redshift y tiene permisos predefinidos. Solo Amazon Redshift puede asumir el rol y solo el rol vinculado a un servicio puede usar la política de permisos predefinida. Amazon Redshift crea un rol vinculado a un servicio en su cuenta la primera vez que crea un clúster o un punto de conexión de VPC administrado por Redshift. Solo puede eliminar el rol vinculado al servicio después de eliminar todos los clústeres de Amazon Redshift o puntos de conexión de VPC administrados por Redshift de su cuenta. De esta forma, se protegen los recursos de Amazon Redshift, ya que evita que se puedan eliminar accidentalmente los permisos necesarios para obtener acceso a los recursos.
Amazon Redshift admite el uso de roles vinculados a servicios en todas las regiones en las que el servicio está disponible. Para obtener más información, consulte Puntos de conexión y regiones de AWS.
Para obtener información acerca de otros servicios que admiten roles vinculados a servicios, consulte Servicios de AWS que funcionan con IAM y busque los servicios que muestran Yes (Sí) en la columna Service Linked Role (Rol vinculado a servicio). Seleccione una opción Sí con un enlace para ver la documentación acerca del rol vinculado al servicio en cuestión.
Permisos de roles vinculados a servicios para Amazon Redshift
Amazon Redshift utiliza el rol vinculado al servicio denominado AWSServiceRoleForRedshift que permite que Amazon Redshift llame a los servicios de AWS en su nombre. Este rol vinculado a un servicio se adjunta a la siguiente política administrada: AmazonRedshiftServiceLinkedRolePolicy
. Para obtener actualizaciones de esta política, consulte Políticas administradas por AWS (predefinidas) para Amazon Redshift.
El rol vinculado a un servicio AWSServiceRoleForRedshift solo confía en que redshift.amazonaws.com
asuma el rol.
La política de permisos del rol vinculado al servicio de AWSServiceRoleForRedshift permite que Amazon Redshift realice las siguientes operaciones en todos los recursos relacionados:
-
ec2:DescribeVpcs
-
ec2:DescribeSubnets
-
ec2:DescribeNetworkInterfaces
-
ec2:DescribeAddress
-
ec2:AssociateAddress
-
ec2:DisassociateAddress
-
ec2:CreateNetworkInterface
-
ec2:DeleteNetworkInterface
-
ec2:ModifyNetworkInterfaceAttribute
-
ec2:CreateVpcEndpoint
-
ec2:DeleteVpcEndpoints
-
ec2:DescribeVpcEndpoints
-
ec2:ModifyVpcEndpoint
ec2:DescribeVpcAttribute
ec2:DescribeSecurityGroups
ec2:DescribeInternetGateways
ec2:DescribeSecurityGroupRules
ec2:DescribeAvailabilityZones
ec2:DescribeNetworkAcls
ec2:DescribeRouteTables
ec2:AssignIpv6Addresses
ec2:UnassignIpv6Addresses
Permisos para recursos de red
Los siguientes permisos permiten acciones en Amazon EC2 para crear y administrar reglas de grupo de seguridad. Estos grupos y reglas de seguridad están asociados específicamente a la etiqueta de recurso aws:RequestTag/Redshift
de Amazon Redshift. Esto limita el alcance de los permisos a recursos de Amazon Redshift específicos.
ec2:CreateSecurityGroup
ec2:AuthorizeSecurityGroupEgress
ec2:AuthorizeSecurityGroupIngress
ec2:RevokeSecurityGroupEgress
ec2:RevokeSecurityGroupIngress
ec2:ModifySecurityGroupRules
ec2:DeleteSecurityGroup
Permisos para cuotas de servicio
Los siguientes permisos permiten al intermediario obtener cuotas de servicio.
servicequotas:GetServiceQuota
En el siguiente fragmento de código JSON se muestra el ámbito de la acción y del recurso para las cuotas de servicio.
{ "Sid": "ServiceQuotasToCheckCustomerLimits", "Effect": "Allow", "Action": [ "servicequotas:GetServiceQuota" ], "Resource": [ "arn:aws:servicequotas:*:*:ec2/L-0263D0A3", "arn:aws:servicequotas:*:*:vpc/L-29B6F2EB" ] }
Los códigos de cuota son los siguientes:
L-0263D0A3: código de cuota para las IP elásticas de EC2-VPC.
L-29B6F2EB: código de cuota para los puntos de conexión de VPC por VPC.
Para más información, consulte Service Quotas de AWS.
Acciones para el registro de auditoría
Las acciones enumeradas con el prefijo logs
se refieren al registro de auditoría y a las características relacionadas. En concreto, la creación y la administración de grupos de registro y flujos de registro.
-
logs:CreateLogGroup
-
logs:PutRetentionPolicy
-
logs:CreateLogStream
-
logs:PutLogEvents
-
logs:DescribeLogStreams
-
logs:GetLogEvents
El siguiente JSON muestra las acciones y el alcance de los recursos, a Amazon Redshift, para el registro de auditoría.
[ { "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:*" ] } ]
Para obtener más información sobre los roles vinculados a servicios y su finalidad en AWS, consulte Uso de roles vinculados a servicios. Para obtener más información sobre acciones específicas y otros recursos de IAM para Amazon Redshift, consulte Acciones, recursos y claves de condición para Amazon Redshift.
Acciones para administrar las credenciales de administrador con AWS Secrets Manager
Las acciones que aparecen con el prefijo secretsmanager
están relacionadas con el uso de Amazon Redshift para administrar las credenciales de administrador. Estas acciones permiten que Amazon Redshift use AWS Secrets Manager para crear y administrar los secretos de sus credenciales de administrador.
El siguiente JSON muestra las acciones y el alcance de los recursos a Amazon Redshift para administrar las credenciales de administrador con AWS Secrets Manager.
[ { "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" } } }, { "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword" ], "Resource": "*" } ]
Acciones para registrar clústeres y espacios de nombres sin servidor en el AWS Glue Data Catalog
Las acciones enumeradas con el prefijo glue
se refieren al acceso a los catálogos del AWS Glue Data Catalog realizados al registrar clústeres aprovisionados o espacios de nombres sin servidor. Para obtener más información, vaya a (insertar el enlace aquí).
El siguiente JSON muestra las acciones y el alcance de los recursos, en Amazon Redshift, para acceder a los catálogos en el AWS Glue Data Catalog:
[ { "Effect": "Allow", "Action": [ "glue:GetCatalogs", "glue:GetCatalog" ], "Resource": [ "arn:aws:glue:
<AWS-Region>
:<AWS-account-ID>
:catalog/*" ] } ]
Para permitir a una entidad de IAM crear roles vinculados a servicios AWSServiceRoleForRedshift
{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::
<AWS-account-ID>
:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }
Para permitir a una entidad de IAM eliminar roles vinculados a servicios AWSServiceRoleForRedshift
Agregue la siguiente instrucción de política a los permisos para esa entidad de IAM:
{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::
<AWS-account-ID>
:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }
Si lo desea, también puede usar una política administrada por AWS para proporcionar acceso completo
Creación de un rol vinculado a un servicio para Amazon Redshift
No es necesario crear de forma manual el rol vinculado al servicio AWSServiceRoleForRedshift. Amazon Redshift crea el rol vinculado al servicio por usted. Si el rol vinculado al servicio AWSServiceRoleForRedshift se ha eliminado de la cuenta, Amazon Redshift crea el rol cuando se lanza un nuevo clúster de Amazon Redshift.
importante
Si utilizaba el servicio Amazon Redshift antes del 18 de septiembre de 2017, fecha en que comenzó a admitir los roles vinculados a servicios, entonces Amazon Redshift creó el rol AWSServiceRoleForRedshift en su cuenta. Para obtener más información, consulte Un nuevo rol ha aparecido en mi cuenta de IAM.
Edición de un rol vinculado a un servicio para Amazon Redshift
Amazon Redshift no permite editar el rol vinculado al servicio AWSServiceRoleForRedshift. Después de crear un rol vinculado a un servicio, no puede cambiarle el nombre, ya que varias entidades pueden hacer referencia a él. No obstante, puede editar la descripción del rol con la consola de IAM, la AWS Command Line Interface (AWS CLI) o la API de IAM. Para obtener más información, consulte Modificación de un rol en la Guía del usuario de IAM.
Eliminación de un rol vinculado a un servicio para Amazon Redshift
Si ya no necesita utilizar una característica o servicio que requiere un rol vinculado a un servicio, le recomendamos que elimine dicho rol. De esta forma no tiene una entidad no utilizada que no se monitoree ni mantenga de forma activa.
Antes de poder eliminar un rol vinculado a un servicio de una cuenta, necesita apagar y eliminar todos los clústeres de la cuenta. Para obtener más información, consulte Cierre y eliminación de un clúster.
Puede utilizar la consola de IAM, la AWS CLI o la API de IAM para eliminar un rol vinculado a un servicio. Para obtener más información, consulte Eliminación de un rol vinculado a un servicio en la Guía del usuario de IAM.