Uso de políticas basadas en identidad (políticas de IAM) para Amazon Redshift - Amazon Redshift

Uso de políticas basadas en identidad (políticas de IAM) para Amazon Redshift

Este tema contiene ejemplos de políticas basadas en identidades, donde los administradores de cuentas pueden asociar políticas de permisos a identidades de IAM (es decir, a usuarios, grupos y funciones).

importante

Le recomendamos que consulte primero los temas de introducción en los que se explican los conceptos básicos y las opciones disponibles para administrar el acceso a sus recursos de Amazon Redshift. Para obtener más información, consulte Información general sobre la administración de los permisos de acceso a los recursos de Amazon Redshift.

A continuación se muestra un ejemplo de una política de permisos. La política le permite a un usuario crear, eliminar, modificar y reiniciar todos los clústeres y, luego, le deniega permiso para eliminar o modificar todo clúster cuyo identificador comience con production en Región de AWS us-west-2 y Cuenta de AWS 123456789012.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowClusterManagement", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"DenyDeleteModifyProtected", "Action": [ "redshift:DeleteCluster", "redshift:ModifyCluster" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:cluster:production*" ], "Effect": "Deny" } ] }

La política tiene dos instrucciones:

  • La primera instrucción concede permisos para que un usuario cree, elimine, modifique y reinicie clústeres. La instrucción especifica un carácter comodín (*) como el valor de Resource, por lo que la política se aplica a todos los recursos de Amazon Redshift que son propiedad de la cuenta raíz de AWS.

  • La segunda instrucción deniega el permiso para eliminar o modificar un clúster. La instrucción especifica un Amazon Resource Name (ARN, Nombre de recurso de Amazon) de clúster para el valor de Resource que incluye un carácter comodín (*). Como resultado, la instrucción se aplica a todos los clústeres de Amazon Redshift que son propiedad de la cuenta raíz de AWS en la que el identificador del clúster comienza por production.

Políticas administradas por AWS para Amazon Redshift

AWS aborda muchos casos de uso comunes dando políticas de IAM independientes creadas y administradas por AWS. Las políticas administradas conceden los permisos necesarios para casos de uso comunes, lo que le evita tener que investigar los permisos que se necesitan. Para obtener más información, consulte Políticas administradas por AWS en la Guía del usuario de IAM.

También puede crear sus propias políticas de IAM personalizadas para permitir las operaciones y los recursos de la API de Amazon Redshift. Puede asociar estas políticas personalizadas a los roles o grupos de IAM que requieran esos permisos.

En las siguientes secciones, se describen políticas administradas por AWS, que se pueden adjuntar a los usuarios de la cuenta y son específicas de Amazon Redshift.

AmazonRedshiftReadOnlyAccess

Concede acceso de solo lectura a todos los recursos de Amazon Redshift a una cuenta de AWS.

Puede encontrar la política AmazonRedShiftReadOnlyAccess en la consola de IAM y AmazonRedshiftReadOnlyAccess en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftFullAccess

Concede acceso completo a todos los recursos de Amazon Redshift a una cuenta de AWS. Además, esta política concede acceso total a todos los recursos de Amazon Redshift Serverless.

Puede encontrar la política AmazonRedshiftFullAccess en la consola de IAM y AmazonRedshiftFullAccess en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftQueryEditor

Concede acceso completo al editor de consultas en la consola de Amazon Redshift.

Puede encontrar la política AmazonRedshiftQueryEditor en la consola de IAM y AmazonRedshiftQueryEditor en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftDataFullAccess

Concede acceso completo a todos los recursos y las operaciones de la API de datos de Amazon Redshift a una cuenta de AWS.

Puede encontrar la política AmazonRedshiftDataFullAccess en la consola de IAM y AmazonRedshiftDataFullAccess en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftQueryEditorV2FullAccess

Concede acceso completo a todos los recursos y las operaciones del editor de consultas v2 de Amazon Redshift. Esta política también concede acceso a otros servicios requeridos.

Puede encontrar la política AmazonRedshiftQueryEditorV2FullAccess en la consola de IAM y AmazonRedshiftQueryEditorV2FullAccess en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftQueryEditorV2NoSharing

Permite trabajar con el editor de consultas v2 de Amazon Redshift sin compartir recursos. Esta política también concede acceso a otros servicios requeridos. La entidad principal que utiliza esta política no puede etiquetar sus recursos (como consultas) para compartirlos con otras entidades principales en la misma Cuenta de AWS.

Puede encontrar la política AmazonRedshiftQueryEditorV2NoSharing en la consola de IAM y AmazonRedshiftQueryEditorV2NoSharing en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftQueryEditorV2ReadSharing

Permite trabajar con el editor de consultas v2 de Amazon Redshift con uso compartido limitado de los recursos. Esta política también concede acceso a otros servicios requeridos. La entidad principal que utiliza esta política puede etiquetar sus recursos (como consultas) para compartirlos con otras entidades principales en la misma Cuenta de AWS. La entidad principal concedida puede leer los recursos compartidos con su equipo, pero no puede actualizarlos.

Puede encontrar la política AmazonRedshiftQueryEditorV2ReadSharing en la consola de IAM y AmazonRedshiftQueryEditorV2ReadSharing en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftQueryEditorV2ReadWriteSharing

Permite trabajar con el editor de consultas v2 de Amazon Redshift y compartir recursos. Esta política también concede acceso a otros servicios requeridos. La entidad principal que utiliza esta política puede etiquetar sus recursos (como consultas) para compartirlos con otras entidades principales en la misma Cuenta de AWS. La entidad principal concedida puede leer y actualizar los recursos compartidos con su equipo.

Puede encontrar la política AmazonRedshiftQueryEditorV2ReadWriteSharing en la consola de IAM y AmazonRedshiftQueryEditorV2ReadWriteSharing en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftServiceLinkedRolePolicy

No puede adjuntar AmazonRedshiftServiceLinkedRolePolicy a las entidades de IAM. Esta política se adjunta a un rol vinculado a servicio que permite a Amazon Redshift acceder a los recursos de la cuenta. Para obtener más información, consulte Uso de roles vinculados a servicios para Amazon Redshift.

Puede encontrar la política AmazonRedshiftServiceLinkedRolePolicy en la consola de IAM y AmazonRedshiftServiceLinkedRolePolicy en la Guía de referencia de las políticas administradas por AWS.

AmazonRedshiftAllCommandsFullAccess

Permite utilizar el rol de IAM creado desde la consola de Amazon Redshift y configurarlo como predeterminado para que el clúster ejecute los comandos COPY desde Amazon S3, UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION y CREATE MODEL. La política también concede permisos para ejecutar instrucciones SELECT para servicios relacionados, como Amazon S3, CloudWatch Logs, Amazon SageMaker o AWS Glue.

Puede encontrar la política AmazonRedshiftAllCommandsFullAccess en la consola de IAM y AmazonRedshiftAllCommandsFullAccess en la Guía de referencia de las políticas administradas por AWS.

También puede crear sus propias políticas de IAM personalizadas para permitir las operaciones y los recursos de la API de Amazon Redshift. Puede asociar estas políticas personalizadas a los roles o grupos de IAM que requieran esos permisos.

Actualizaciones de Amazon Redshift en las políticas administradas por AWS

Es posible consultar los detalles sobre las actualizaciones de las políticas administradas por AWS para Amazon Redshift debido a que este servicio comenzó a realizar un seguimiento de estos cambios. Para obtener alertas automáticas sobre cambios en esta página, suscríbase a la fuente RSS en la página de historial de documentos de Amazon Redshift.

Cambio Descripción Fecha

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Se agregó permiso para la acción servicequotas:GetServiceQuota a la política administrada. Esto da permiso para acceder a las cuotas o los límites.

8 de marzo de 2024

AmazonRedshiftQueryEditorV2FullAccess: actualización de una política actual

Se agregó permiso para las acciones redshift-serverless:ListNamespaces y redshift-serverless:ListWorkgroups a la política administrada. Al agregarlo, se concede permiso para enumerar los espacios de nombres sin servidor y grupos de trabajo sin servidor en el almacenamiento de datos de Amazon Redshift.

21 de febrero de 2024

AmazonRedshiftQueryEditorV2NoSharing: actualización de una política actual

Se agregó permiso para las acciones redshift-serverless:ListNamespaces y redshift-serverless:ListWorkgroups a la política administrada. Al agregarlo, se concede permiso para enumerar los espacios de nombres sin servidor y grupos de trabajo sin servidor en el almacenamiento de datos de Amazon Redshift.

21 de febrero de 2024

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

Se agregó permiso para las acciones redshift-serverless:ListNamespaces y redshift-serverless:ListWorkgroups a la política administrada. Al agregarlo, se concede permiso para enumerar los espacios de nombres sin servidor y grupos de trabajo sin servidor en el almacenamiento de datos de Amazon Redshift.

21 de febrero de 2024

AmazonRedshiftQueryEditorV2ReadWriteSharing: actualización de una política actual

Se agregó permiso para las acciones redshift-serverless:ListNamespaces y redshift-serverless:ListWorkgroups a la política administrada. Al agregarlo, se concede permiso para enumerar los espacios de nombres sin servidor y grupos de trabajo sin servidor en el almacenamiento de datos de Amazon Redshift.

21 de febrero de 2024

AmazonRedshiftReadOnlyAccess: actualización de una política actual

Se agregó permiso para la acción redshift:ListRecommendations a la política administrada. Esto concede permiso para publicar las recomendaciones de Amazon Redshift Advisor.

7 de febrero de 2024

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Se agregó permiso para las acciones ec2:AssignIpv6Addresses y ec2:UnassignIpv6Addresses a la política administrada. Al agregarlas, se otorga permiso para asignar y desasignar direcciones IP.

31 de octubre de 2023

AmazonRedshiftQueryEditorV2NoSharing: actualización de una política actual

Se agregó permiso para las acciones sqlworkbench:GetAutocompletionMetadata y sqlworkbench:GetAutocompletionResource a la política administrada. Al agregarlo, se concede permiso para generar y recuperar información de la base de datos para completar automáticamente SQL mientras se editan las consultas.

16 de agosto de 2023

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

Se agregó permiso para las acciones sqlworkbench:GetAutocompletionMetadata y sqlworkbench:GetAutocompletionResource a la política administrada. Al agregarlo, se concede permiso para generar y recuperar información de la base de datos para completar automáticamente SQL mientras se editan las consultas.

16 de agosto de 2023

AmazonRedshiftQueryEditorV2ReadWriteSharing: actualización de una política actual

Se agregó permiso para las acciones sqlworkbench:GetAutocompletionMetadata y sqlworkbench:GetAutocompletionResource a la política administrada. Al agregarlo, se concede permiso para generar y recuperar información de la base de datos para completar automáticamente SQL mientras se editan las consultas.

16 de agosto de 2023

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Los permisos para las acciones en AWS Secrets Manager para crear y administrar secretos se agregan a la política administrada. Los permisos añadidos son los siguientes:

  • secretsmanager:GetRandomPassword

  • secretsmanager:DescribeSecret

  • secretsmanager:PutSecretValue

  • secretsmanager:UpdateSecret

  • secretsmanager:UpdateSecretVersionStage

  • secretsmanager:RotateSecret

  • secretsmanager:DeleteSecret

14 de agosto de 2023

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Los permisos para las acciones de Amazon EC2 para crear y administrar grupos de seguridad y reglas de enrutamiento se eliminan de la política administrada. Estos permisos se referían a la creación de subredes y VPC. Los permisos eliminados son los siguientes:

  • ec2:AuthorizeSecurityGroupEgress

  • ec2:AuthorizeSecurityGroupIngress

  • ec2:UpdateSecurityGroupRuleDescriptionsEgress

  • ec2:ReplaceRouteTableAssociation

  • ec2:CreateRouteTable

  • ec2:AttachInternetGateway

  • ec2:UpdateSecurityGroupRuleDescriptionsIngress

  • ec2:AssociateRouteTable

  • ec2:RevokeSecurityGroupIngress

  • ec2:CreateRoute

  • ec2:CreateSecurityGroup

  • ec2:RevokeSecurityGroupEgress

  • ec2:ModifyVpcAttribute

  • ec2:CreateSubnet

  • ec2:CreateInternetGateway

  • ec2:CreateVpc

Estaban asociados con la etiqueta de recurso Purpose:RedshiftMigrateToVpc. La etiqueta limitaba el alcance de los permisos para tareas de migración de Amazon EC2 Classic a VPC de Amazon EC2. Para obtener más información sobre las etiquetas de recursos, consulte Control del acceso a los recursos de AWS mediante etiquetas.
8 de mayo de 2023

AmazonRedshiftDataFullAccess: actualización de una política actual

Se agregó permiso para la acción redshift:GetClusterCredentialsWithIAM a la política administrada. Al agregarlo, concede permiso para obtener credenciales temporales mejoradas para acceder a una base de datos de Amazon Redshift a través de la Cuenta de AWS especificada.

7 de abril de 2023

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Los permisos para las acciones de Amazon EC2 para la creación y la administración de reglas de grupos de seguridad se agregan a la política administrada. Estos grupos y reglas de seguridad están asociados específicamente a la etiqueta de recursos aws:RequestTag/Redshift de Amazon Redshift. Esto limita el alcance de los permisos a recursos de Amazon Redshift específicos.

6 de abril de 2023

AmazonRedshiftQueryEditorV2NoSharing: actualización de una política actual

Se agregó permiso para la acción sqlworkbench:GetSchemaInference a la política administrada. Al agregarlo, concede permiso para obtener las columnas y los tipos de datos deducidos a partir de un archivo.

21 de marzo de 2023

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

Se agregó permiso para la acción sqlworkbench:GetSchemaInference a la política administrada. Al agregarlo, concede permiso para obtener las columnas y los tipos de datos deducidos a partir de un archivo.

21 de marzo de 2023

AmazonRedshiftQueryEditorV2ReadWriteSharing: actualización de una política actual

Se agregó permiso para la acción sqlworkbench:GetSchemaInference a la política administrada. Al agregarlo, concede permiso para obtener las columnas y los tipos de datos deducidos a partir de un archivo.

21 de marzo de 2023

AmazonRedshiftQueryEditorV2NoSharing: actualización de una política actual

Se agregó permiso para la acción sqlworkbench:AssociateNotebookWithTab a la política administrada. Al agregarlo, se adjudica permiso para crear y actualizar pestañas enlazadas al bloc de notas del usuario.

2 de febrero de 2023

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

Se agregó permiso para la acción sqlworkbench:AssociateNotebookWithTab a la política administrada. Al agregarlo, se adjudica permiso para crear y actualizar pestañas enlazadas al bloc de notas del usuario o a un bloc de notas que se comparta con él.

2 de febrero de 2023

AmazonRedshiftQueryEditorV2ReadWriteSharing: actualización de una política actual

Se agregó permiso para la acción sqlworkbench:AssociateNotebookWithTab a la política administrada. Al agregarlo, se adjudica permiso para crear y actualizar pestañas enlazadas al bloc de notas del usuario o a un bloc de notas que se comparta con él.

2 de febrero de 2023

AmazonRedshiftQueryEditorV2NoSharing: actualización de una política actual

A fin de conceder permiso para utilizar cuadernos, Amazon Redshift agregó permiso para las siguientes acciones:

  • sqlworkbench:ListNotebooks

  • sqlworkbench:CreateNotebook

  • sqlworkbench:DuplicateNotebook

  • sqlworkbench:CreateNotebookFromVersion

  • sqlworkbench:ImportNotebook

  • sqlworkbench:GetNotebook

  • sqlworkbench:UpdateNotebook

  • sqlworkbench:DeleteNotebook

  • sqlworkbench:CreateNotebookCell

  • sqlworkbench:DeleteNotebookCell

  • sqlworkbench:UpdateNotebookCellContent

  • sqlworkbench:UpdateNotebookCellLayout

  • sqlworkbench:BatchGetNotebookCell

  • sqlworkbench:ListNotebookVersions

  • sqlworkbench:CreateNotebookVersion

  • sqlworkbench:GetNotebookVersion

  • sqlworkbench:DeleteNotebookVersion

  • sqlworkbench:RestoreNotebookVersion

  • sqlworkbench:ExportNotebook

17 de octubre de 2022

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

A fin de conceder permiso para utilizar cuadernos, Amazon Redshift agregó permiso para las siguientes acciones:

  • sqlworkbench:ListNotebooks

  • sqlworkbench:CreateNotebook

  • sqlworkbench:DuplicateNotebook

  • sqlworkbench:CreateNotebookFromVersion

  • sqlworkbench:ImportNotebook

  • sqlworkbench:GetNotebook

  • sqlworkbench:UpdateNotebook

  • sqlworkbench:DeleteNotebook

  • sqlworkbench:CreateNotebookCell

  • sqlworkbench:DeleteNotebookCell

  • sqlworkbench:UpdateNotebookCellContent

  • sqlworkbench:UpdateNotebookCellLayout

  • sqlworkbench:BatchGetNotebookCell

  • sqlworkbench:ListNotebookVersions

  • sqlworkbench:CreateNotebookVersion

  • sqlworkbench:GetNotebookVersion

  • sqlworkbench:DeleteNotebookVersion

  • sqlworkbench:RestoreNotebookVersion

  • sqlworkbench:ExportNotebook

17 de octubre de 2022

AmazonRedshiftQueryEditorV2ReadWriteSharing: actualización de una política actual

A fin de conceder permiso para utilizar cuadernos, Amazon Redshift agregó permiso para las siguientes acciones:

  • sqlworkbench:ListNotebooks

  • sqlworkbench:CreateNotebook

  • sqlworkbench:DuplicateNotebook

  • sqlworkbench:CreateNotebookFromVersion

  • sqlworkbench:ImportNotebook

  • sqlworkbench:GetNotebook

  • sqlworkbench:UpdateNotebook

  • sqlworkbench:DeleteNotebook

  • sqlworkbench:CreateNotebookCell

  • sqlworkbench:DeleteNotebookCell

  • sqlworkbench:UpdateNotebookCellContent

  • sqlworkbench:UpdateNotebookCellLayout

  • sqlworkbench:BatchGetNotebookCell

  • sqlworkbench:ListNotebookVersions

  • sqlworkbench:CreateNotebookVersion

  • sqlworkbench:GetNotebookVersion

  • sqlworkbench:DeleteNotebookVersion

  • sqlworkbench:RestoreNotebookVersion

  • sqlworkbench:ExportNotebook

17 de octubre de 2022

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Amazon Redshift agregó el espacio de nombres AWS/Redshift para permitir la publicación de métricas en CloudWatch.

7 de septiembre de 2022

AmazonRedshiftQueryEditorV2NoSharing: actualización de una política actual

Permiso de Amazon Redshift agregado a las acciones sqlworkbench:ListQueryExecutionHistory y sqlworkbench:GetQueryExecutionHistory. Esto otorga permiso para ver el historial de consultas.

30 de agosto de 2022

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

Permiso de Amazon Redshift agregado a las acciones sqlworkbench:ListQueryExecutionHistory y sqlworkbench:GetQueryExecutionHistory. Esto otorga permiso para ver el historial de consultas.

30 de agosto de 2022

AmazonRedshiftQueryEditorV2ReadWriteSharing: actualización de una política actual

Permiso de Amazon Redshift agregado a las acciones sqlworkbench:ListQueryExecutionHistory y sqlworkbench:GetQueryExecutionHistory. Esto otorga permiso para ver el historial de consultas.

30 de agosto de 2022

AmazonRedshiftFullAccess: actualización de una política actual

Los permisos para Amazon Redshift Serverless se agregan a la política administrada AmazonRedshiftFullAccess existente.

22 de julio de 2022

AmazonRedshiftDataFullAccess: actualización de una política actual

Amazon Redshift actualizó la condición de alcance predeterminada redshift-serverless:GetCredentials del permiso de etiqueta aws:ResourceTag/RedshiftDataFullAccess de StringEquals a StringLike para conceder acceso a recursos etiquetados con la clave de etiqueta RedshiftDataFullAccess y cualquier valor de etiqueta. 11 de julio de 2022

AmazonRedshiftDataFullAccess: actualización de una política actual

Amazon Redshift agregó permisos nuevos para permitir a redshift-serverless:GetCredentials obtener credenciales temporales de Amazon Redshift Serverless. 8 de julio de 2022

AmazonRedshiftQueryEditorV2NoSharing: actualización de una política actual

Permiso de Amazon Redshift agregado a la acción sqlworkbench:GetAccountSettings. Otorga permiso para obtener una configuración de cuenta.

15 de junio de 2022

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

Permiso de Amazon Redshift agregado a la acción sqlworkbench:GetAccountSettings. Otorga permiso para obtener una configuración de cuenta.

15 de junio de 2022

AmazonRedshiftQueryEditorV2ReadWriteSharing: actualización de una política actual

Permiso de Amazon Redshift agregado a la acción sqlworkbench:GetAccountSettings. Otorga permiso para obtener una configuración de cuenta.

15 de junio de 2022

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Para habilitar el acceso público a los nuevos puntos de conexión de Amazon Redshift Serverless, Amazon Redshift asigna y asocia direcciones IP elásticas a la interfaz de red elástica del punto de conexión de la VPC en la cuenta del cliente. Esto lo hace mediante los permisos proporcionados a través del rol vinculado al servicio. Para habilitar este caso de uso, se agregan acciones para asignar y liberar una dirección IP elástica al rol vinculado al servicio de Amazon Redshift Serverless.

26 de mayo de 2022

AmazonRedshiftQueryEditorV2FullAccess: actualización de una política actual

Permisos para la acción sqlworkbench:ListTaggedResources. Se dirige específicamente a los recursos del editor de consultas v2 de Amazon Redshift. Esta actualización de la política proporciona derecho a llamar a tag:GetResources solo a través del editor de consultas v2.

22 de febrero de 2022

AmazonRedshiftQueryEditorV2NoSharing: actualización de una política actual

Permisos para la acción sqlworkbench:ListTaggedResources. Se dirige específicamente a los recursos del editor de consultas v2 de Amazon Redshift. Esta actualización de la política proporciona derecho a llamar a tag:GetResources solo a través del editor de consultas v2.

22 de febrero de 2022

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

Permisos para la acción sqlworkbench:ListTaggedResources. Se dirige específicamente a los recursos del editor de consultas v2 de Amazon Redshift. Esta actualización de la política proporciona derecho a llamar a tag:GetResources solo a través del editor de consultas v2.

22 de febrero de 2022

AmazonRedshiftQueryEditorV2ReadWriteSharing: actualización de una política actual

Permisos para la acción sqlworkbench:ListTaggedResources. Se dirige específicamente a los recursos del editor de consultas v2 de Amazon Redshift. Esta actualización de la política proporciona derecho a llamar a tag:GetResources solo a través del editor de consultas v2.

22 de febrero de 2022

AmazonRedshiftQueryEditorV2ReadSharing: actualización de una política actual

Se agregó permiso para la acción sqlworkbench:AssociateQueryWithTab a la política administrada. Agregarlo permite que los clientes puedan crear pestañas del editor vinculadas a una consulta que se comparta con ellos.

22 de febrero de 2022

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Amazon Redshift agregó permisos para nuevas acciones para permitir la administración de los recursos de red y VPC de Amazon Redshift.

22 de noviembre de 2021

AmazonRedshiftAllCommandsFullAccess: política nueva

Amazon Redshift agregó una nueva política para permitir el uso del rol de IAM creado desde la consola de Amazon Redshift y configurarlo como predeterminado para que el clúster ejecute los comandos COPY desde Amazon S3, UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION, CREATE MODEL o CREATE LIBRARY.

18 de noviembre de 2021

AmazonRedshiftServiceLinkedRolePolicy: actualización de una política actual

Amazon Redshift agregó permisos para nuevas acciones para permitir la administración de grupos de registros de CloudWatch y flujos de registros de Amazon Redshift, incluida la exportación de registros de auditoría.

15 de noviembre de 2021

AmazonRedshiftFullAccess: actualización de una política actual

Amazon Redshift agregó nuevos permisos para permitir la explicabilidad del modelo, DynamoDB, Redshift Spectrum y federación de Amazon RDS. 07 de octubre de 2021

AmazonRedshiftQueryEditorV2FullAccess: política nueva

Amazon Redshift agregó una nueva política para permitir el acceso completo al editor de consultas v2 de Amazon Redshift.

24 de septiembre de 2021

AmazonRedshiftQueryEditorV2NoSharing: política nueva

Amazon Redshift agregó una nueva política para permitir el uso del editor de consultas v2 de Amazon Redshift sin compartir recursos.

24 de septiembre de 2021

AmazonRedshiftQueryEditorV2ReadSharing: política nueva

Amazon Redshift agregó una nueva política para permitir el uso compartido de lectura dentro del editor de consultas v2 de Amazon Redshift.

24 de septiembre de 2021

AmazonRedshiftQueryEditorV2ReadWriteSharing: política nueva

Amazon Redshift agregó una nueva política para permitir el uso compartido de lectura y actualización dentro del editor de consultas v2 de Amazon Redshift.

24 de septiembre de 2021

AmazonRedshiftFullAccess: actualización de una política actual

Amazon Redshift agregó permisos nuevos para permitir sagemaker:*Job*.

18 de agosto de 2021

AmazonRedshiftDataFullAccess: actualización de una política actual

Amazon Redshift agregó permisos nuevos para permitir AuthorizeDataShare.

12 de agosto de 2021

AmazonRedshiftDataFullAccess: actualización de una política actual

Amazon Redshift agregó permisos nuevos para permitir BatchExecuteStatement.

27 de julio de 2021

Amazon Redshift comenzó a realizar un seguimiento de los cambios

Amazon Redshift comenzó a realizar un seguimiento de los cambios de las políticas administradas por AWS.

27 de julio de 2021

Permisos necesarios para usar Redshift Spectrum

Amazon Redshift Spectrum requiere permisos para que otros servicios de AWS tengan acceso a los recursos. Para obtener más información acerca de los permisos en las políticas de IAM para Redshift Spectrum, consulte Políticas de IAM para Amazon Redshift Spectrum en la Guía para desarrolladores de bases de datos de Amazon Redshift.

Permisos necesarios para usar la consola de Amazon Redshift

Para que un usuario pueda trabajar con la consola de Amazon Redshift, ese usuario debe tener un conjunto mínimo de permisos que le permitan describir los recursos de Amazon Redshift para su cuenta de AWS. Estos permisos también deben permitir al usuario describir otra información relacionada, incluida información de red, Amazon CloudWatch, Amazon SNS, y seguridad de Amazon EC2.

Si crea una política de IAM que sea más restrictiva que el mínimo de permisos necesarios, la consola no funciona del modo esperado para los usuarios con esa política de IAM. Para asegurarse de que esos usuarios puedan seguir usando la consola de Amazon Redshift, adjunte también la política administrada AmazonRedshiftReadOnlyAccess al usuario. En Políticas administradas por AWS para Amazon Redshift, se muestra cómo hacer esto.

Para obtener información acerca de cómo conceder a un usuario acceso al editor de consultas en la consola de Amazon Redshift, consulte Permisos necesarios para usar el editor de consultas de la consola de Amazon Redshift.

No es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de Amazon Redshift.

Permisos necesarios para usar el editor de consultas de la consola de Amazon Redshift

Para que un usuario pueda trabajar con el editor de consultas de Amazon Redshift, ese usuario debe tener un conjunto mínimo de permisos para las operaciones de la API de datos de Amazon Redshift y Amazon Redshift. Para conectarse a una base de datos con un secreto, también debe tener permisos de Secrets Manager.

Para conceder a un usuario acceso al editor de consultas en la consola de Amazon Redshift, adjunte las políticas AmazonRedshiftQueryEditor y AmazonRedshiftReadOnlyAccess administradas por AWS. La política AmazonRedshiftQueryEditor otorga al usuario permiso para recuperar solo los resultados de sus propias instrucciones SQL. Es decir, las instrucciones enviadas por el mismo aws:userid, como se muestra en esta sección de la política AmazonRedshiftQueryEditor administrada por AWS.

{ "Sid":"DataAPIIAMStatementPermissionsRestriction", "Action": [ "redshift-data:GetStatementResult", "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:ListStatements" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } }

Para permitir que un usuario recupere los resultados de las instrucciones SQL de otras personas en el mismo rol de IAM, cree su propia política sin la condición de limitar el acceso al usuario actual. Limite también el acceso para cambiar una política a un administrador.

Permisos necesarios para usar del editor de consultas v2

Para que un usuario pueda trabajar con el editor de consultas v2 de Amazon Redshift, debe tener un conjunto mínimo de permisos para las operaciones del editor de consultas v2 de Amazon Redshift y otros servicios de AWS, tales como AWS Key Management Service, AWS Secrets Manager y servicio de etiquetado.

Para conceder a un usuario acceso completo al editor de consultas v2, adjunte la política AmazonRedshiftQueryEditorV2FullAccess administrada por AWS. La política AmazonRedshiftQueryEditorV2FullAccess permite al usuario compartir recursos del editor de consultas v2, como consultas con otros miembros del mismo equipo. Para obtener más información sobre cómo se controla el acceso a los recursos del editor de consultas v2, consulte la definición de la política administrada específica para el editor de consultas v2 en la consola de IAM.

Algunas políticas administradas por AWS del Editor de consultas de Amazon Redshift v2 usan etiquetas de AWS en las condiciones para delimitar el acceso a los recursos. En el editor de consultas v2, el uso compartido de consultas se basa en la clave de etiqueta y el valor "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}" en la política de IAM adjuntada a la entidad principal (el rol de IAM). Las entidades principales en la misma Cuenta de AWS con el mismo valor de etiqueta (por ejemplo, accounting-team), están en el mismo equipo en el editor de consultas v2. Solo se puede asociar a un equipo a la vez. Un usuario con permisos administrativos puede configurar equipos en la consola de IAM dando a todos los miembros del equipo el mismo valor para la etiqueta sqlworkbench-team. Si el valor de etiqueta de sqlworkbench-team se cambia para un usuario de IAM o un rol de IAM, puede haber un retraso hasta que el cambio se refleje en los recursos compartidos. Si se cambia el valor de etiqueta de un recurso (como una consulta), de nuevo podría haber un retraso hasta que se refleje el cambio. Los miembros del equipo también deben tener el permiso tag:GetResources para compartir recursos.

Ejemplo: Para agregar la etiqueta accounting-team de un rol de IAM
  1. Inicie sesión en AWS Management Console Management Console y abra la consola IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación de la consola, elija Roles (Roles) y, a continuación, elija el nombre de la entidad que desea editar.

  3. Elija la pestaña Tags (Etiquetas) y, a continuación, elija Add Tags (Agregar etiquetas).

  4. Agregar la clave de etiqueta sqlworkbench-team y el valor accounting-team.

  5. Elija Save changes (Guardar cambios).

    Ahora, cuando una entidad principal de IAM (con este rol de IAM adjunto) comparte una consulta con el equipo, otras entidades principales con el mismo valor de etiqueta accounting-team puede ver la consulta.

Para obtener más información sobre cómo adjuntar una etiqueta a una entidad principal, incluidos los roles de IAM y los usuarios de IAM, consulte Etiquetado de recursos de IAM en la Guía del usuario de IAM.

También puede configurar equipos en el nivel de la sesión mediante un proveedor de identidad (IdP). Esto permite que varios usuarios que utilizan el mismo rol de IAM tengan un equipo diferente. La política de confianza del rol de IAM debe permitir la operación sts:TagSession. Para obtener más información, consulte Permisos necesarios para agregar etiquetas de sesión en la Guía del usuario de IAM. Agregue el atributo de etiqueta de la entidad principal a la aserción SAML proporcionada por su IdP.

<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team"> <AttributeValue>accounting-team</AttributeValue> </Attribute>

Siga las instrucciones de su proveedor de identidad (IdP) para rellenar el atributo SAML con el contenido procedente de su directorio. Para obtener más información sobre los proveedores de identidad (IdP) y Amazon Redshift, consulte Uso de la autenticación de IAM para generar credenciales de usuario de base de datos y Proveedores de identidad y federación en la Guía del usuario de IAM.

sqlworkbench:CreateNotebookVersion concede permiso para obtener el contenido actual de las celdas de cuaderno y crear una versión de cuaderno en su cuenta. Es decir, en el momento de la creación de la versión, el contenido actual del cuaderno es el mismo que el de la versión. Más adelante, el contenido de las celdas de la versión se mantiene mientras se actualiza el cuaderno actual. sqlworkbench:GetNotebookVersion concede permiso para obtener una versión del cuaderno. Un usuario que no tiene el permiso sqlworkbench:BatchGetNotebookCell pero tiene los permisos sqlworkbench:CreateNotebookVersion y sqlworkbench:GetNotebookVersion en un cuaderno tiene acceso a las celdas del cuaderno en la versión. Este usuario sin el permiso sqlworkbench:BatchGetNotebookCell sigue pudiendo recuperar el contenido de las celdas de un cuaderno mediante la creación primero de una versión y, a continuación, con la obtención de esta versión creada.

Permisos necesarios para usar el programador de Amazon Redshift

Cuando utiliza el programador de Amazon Redshift, configura un rol de IAM con una relación de confianza con el programador de Amazon Redshift (scheduler.redshift.amazonaws.com) para permitir que programador asuma los permisos en su nombre. También adjunta una política (permisos) al rol para las operaciones de la API de Amazon Redshift que quiere programar.

En el siguiente ejemplo, se muestra el documento de la política en formato JSON para establecer una relación de confianza entre el programador de Amazon Redshift y Amazon Redshift.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "scheduler.redshift.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Para obtener más información acerca de las entidades de confianza, consulte Creación de un rol para delegar permisos a un servicio de AWS en la Guía del usuario de IAM.

También debe agregar permisos para las operaciones de Amazon Redshift que desee programar.

Para que el programador utilice la operación ResizeCluster, agregue un permiso similar al siguiente a su política de IAM. En función de su entorno, es posible que quiera crear una política más restrictiva.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:ResizeCluster", "Resource": "*" } ] }

Para consultar los pasos necesarios para crear un rol para el programador de Amazon Redshift, consulte Creación de un rol para un servicio de AWS (consola) en la Guía del usuario de IAM. Realice estas elecciones cuando cree un rol en la consola de IAM:

  • En Choose the service that will use this role (Elegir el servicio que utilizará este rol): elija Redshift.

  • En Select your use case (Seleccione su caso de uso): seleccione Redshift - Scheduler (Redshift - Programador).

  • Cree una política o adjúntela al rol que permita programar una operación de Amazon Redshift. Seleccione Create policy (Crear política) o modifique el rol para agregar una política. Introduzca la política JSON para la operación que se va a programar.

  • Después de crear el rol, edite la Trust relationship (Relación de confianza) del rol de IAM para incluir el servicio redshift.amazonaws.com.

El rol IAM que cree tiene entidades de confianza de scheduler.redshift.amazonaws.com y redshift.amazonaws.com. También tiene una política adjunta que permite una acción de la API de Amazon Redshift compatible; por ejemplo, "redshift:ResizeCluster".

Permisos necesarios para usar el programador de Amazon EventBridge

Cuando utiliza el programador de Amazon EventBridge, configura un rol de IAM con una relación de confianza con el programador de EventBridge (events.amazonaws.com) para permitir que el programador asuma los permisos en su nombre. También adjunta una política (permisos) al rol para las operaciones de la API de datos de Amazon Redshift que quiere programar y una política para las operaciones de Amazon EventBridge.

Utilice el programador de EventBridge cuando cree consultas programadas con el editor de consultas de Amazon Redshift en la consola.

Puede crear un rol de IAM para ejecutar consultas programadas en la consola de IAM. En este rol de IAM, adjunte AmazonEventBridgeFullAccess y AmazonRedshiftDataFullAccess.

En el siguiente ejemplo, se muestra el documento de la política en formato JSON para establecer una relación de confianza con el programador de EventBridge.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com", ] }, "Action": "sts:AssumeRole" } ] }

Para obtener más información acerca de las entidades de confianza, consulte Creación de un rol para delegar permisos a un servicio de AWS en la Guía del usuario de IAM.

Para consultar los pasos necesarios para crear un rol para el programador de EventBridge, consulte Creación de un rol para un servicio de AWS (consola) en la Guía del usuario de IAM. Realice estas elecciones cuando cree un rol en la consola de IAM:

  • En Choose the service that will use this role (Seleccionar el servicio que utilizará este rol), elija CloudWatch Events.

  • En Select your use case (Seleccione su caso de uso), elija CloudWatch Events.

  • Adjunte las siguientes políticas de permisos: AmazonEventBridgeFullAccess y AmazonRedshiftDataFullAccess.

El rol de IAM que crea tiene una entidad de confianza de events.amazonaws.com. También tiene una política adjunta que permite acciones de la API de datos de Amazon Redshift compatibles; por ejemplo, "redshift-data:*".

Permisos necesarios para usar machine learning (ML) de Amazon Redshift

A continuación, puede encontrar una descripción de los permisos necesarios para usar el machine learning (ML) de Amazon Redshift para diferentes casos de uso.

Para que los usuarios utilicen Amazon Redshift ML con Amazon SageMaker, cree un rol de IAM con una política más restrictiva que la predeterminada. Puede utilizar la siguiente política. Asimismo, puede modificarla para que se adapte a sus necesidades.

La siguiente política muestra los permisos necesarios para ejecutar SageMaker Autopilot con la explicabilidad del modelo de Amazon Redshift.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:CreateAutoMLJob", "sagemaker:CreateCompilationJob", "sagemaker:CreateEndpoint", "sagemaker:DescribeAutoMLJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeCompilationJob", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTransformJob", "sagemaker:ListCandidatesForAutoMLJob", "sagemaker:StopAutoMLJob", "sagemaker:StopCompilationJob", "sagemaker:StopTrainingJob", "sagemaker:DescribeEndpoint", "sagemaker:InvokeEndpoint", "sagemaker:StopProcessingJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:model/*redshift*", "arn:aws:sagemaker:*:*:training-job/*redshift*", "arn:aws:sagemaker:*:*:automl-job/*redshift*", "arn:aws:sagemaker:*:*:compilation-job/*redshift*", "arn:aws:sagemaker:*:*:processing-job/*redshift*", "arn:aws:sagemaker:*:*:transform-job/*redshift*", "arn:aws:sagemaker:*:*:endpoint/*redshift*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "SageMaker", "/aws/sagemaker/Endpoints", "/aws/sagemaker/ProcessingJobs", "/aws/sagemaker/TrainingJobs", "/aws/sagemaker/TransformJobs" ] } } }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": [ "arn:aws:s3:::redshift-downloads", "arn:aws:s3:::redshift-downloads/*", "arn:aws:s3:::*redshift*", "arn:aws:s3:::*redshift*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com" ] } } } ] }

La siguiente política muestra los permisos mínimos completos para permitir el acceso a la federación de Amazon DynamoDB, Redshift Spectrum y Amazon RDS.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:CreateAutoMLJob", "sagemaker:CreateCompilationJob", "sagemaker:CreateEndpoint", "sagemaker:DescribeAutoMLJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeCompilationJob", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTransformJob", "sagemaker:ListCandidatesForAutoMLJob", "sagemaker:StopAutoMLJob", "sagemaker:StopCompilationJob", "sagemaker:StopTrainingJob", "sagemaker:DescribeEndpoint", "sagemaker:InvokeEndpoint", "sagemaker:StopProcessingJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:model/*redshift*", "arn:aws:sagemaker:*:*:training-job/*redshift*", "arn:aws:sagemaker:*:*:automl-job/*redshift*", "arn:aws:sagemaker:*:*:compilation-job/*redshift*", "arn:aws:sagemaker:*:*:processing-job/*redshift*", "arn:aws:sagemaker:*:*:transform-job/*redshift*", "arn:aws:sagemaker:*:*:endpoint/*redshift*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "SageMaker", "/aws/sagemaker/Endpoints", "/aws/sagemaker/ProcessingJobs", "/aws/sagemaker/TrainingJobs", "/aws/sagemaker/TransformJobs" ] } } }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": [ "arn:aws:s3:::redshift-downloads", "arn:aws:s3:::redshift-downloads/*", "arn:aws:s3:::*redshift*", "arn:aws:s3:::*redshift*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "dynamodb:Scan", "dynamodb:DescribeTable", "dynamodb:Getitem" ], "Resource": [ "arn:aws:dynamodb:*:*:table/*redshift*", "arn:aws:dynamodb:*:*:table/*redshift*/index/*" ] }, { "Effect": "Allow", "Action": [ "elasticmapreduce:ListInstances" ], "Resource": [ "arn:aws:elasticmapreduce:*:*:cluster/*redshift*" ] }, { "Effect": "Allow", "Action": [ "elasticmapreduce:ListInstances" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "elasticmapreduce:ResourceTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*redshift*" }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "arn:aws:glue:*:*:table/*redshift*/*", "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:database/*redshift*" ] }, { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "arn:aws:secretsmanager:*:*:secret:*redshift*" ] }, { "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*", "Condition": { "StringEquals": { "secretsmanager:ResourceTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "redshift.amazonaws.com", "glue.amazonaws.com", "sagemaker.amazonaws.com", "athena.amazonaws.com" ] } } } ] }

De forma opcional, para utilizar una clave AWS KMS de cifrado, agregue los siguientes permisos a la política.

{ "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": [ "arn:aws:kms:<your-region>:<your-account-id>:key/<your-kms-key>" ] }

Para permitir que Amazon Redshift y SageMaker asuman el rol de IAM anterior para interactuar con otros servicios, agregue la siguiente política de confianza al rol.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com", "forecast.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

El bucket redshift-downloads/redshift-ml/ de Amazon S3 anterior es el lugar donde se almacenan los datos de muestra utilizados en otros pasos y ejemplos. Puede quitar este bucket si no necesita cargar datos de Amazon S3. O bien, puede reemplazarlo con otros buckets de Amazon S3 que utilice para cargar datos en Amazon Redshift.

Los valores your-account-id, your-role y your-s3-bucket son el ID de cuenta, el rol y el bucket que especifique en el comando CREATE MODEL.

De forma opcional, puede utilizar la sección de claves AWS KMS de la política de muestra si especifica una clave AWS KMS para utilizarla con Amazon Redshift ML. El valor your-kms-key es la clave que se utiliza como parte del comando CREATE MODEL.

Si especifica una nube virtual privada (VPC) para el trabajo de ajuste de hiperparámetros, agregue los siguientes permisos.

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }

Para trabajar con la explicación del modelo, asegúrese de tener los permisos para llamar a las operaciones de la API de SageMaker. Recomendamos utilizar la política administrada AmazonSageMakerFullAccess. Si desea crear un rol de IAM que tenga una política más restrictiva, utilice la siguiente política.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker::CreateEndpoint", "sagemaker::CreateEndpointConfig", "sagemaker::DeleteEndpoint", "sagemaker::DeleteEndpointConfig", "sagemaker::DescribeEndpoint", "sagemaker::DescribeEndpointConfig", "sagemaker::DescribeModel", "sagemaker::InvokeEndpoint", "sagemaker::ListTags" ], "Resource": "*" } ] }

Para obtener más información sobre la política administrada AmazonSageMakerFullAccess, consulte AmazonSageMakerFullAccess en la Guía para desarrolladores de Amazon SageMaker.

Si desea crear modelos de previsión, le recomendamos que utilice la política administrada AmazonForecastFullAccess. Si desea usar una política más restrictiva, utilice la siguiente política en el rol de IAM.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "forecast:CreateAutoPredictor", "forecast:CreateDataset", "forecast:CreateDatasetGroup", "forecast:CreateDatasetImportJob", "forecast:CreateForecast", "forecast:CreateForecastExportJob", "forecast:DeleteResourceTree", "forecast:DescribeAutoPredictor", "forecast:DescribeDataset", "forecast:DescribeDatasetGroup", "forecast:DescribeDatasetImportJob", "forecast:DescribeForecast", "forecast:DescribeForecastExportJob", "forecast:StopResource", "forecast:TagResource", "forecast:UpdateDatasetGroup" ], "Resource": "*" } ] }

Si desea crear modelos de Amazon Bedrock, le recomendamos que utilice la política administrada AmazonBedrockFullAccess. Si desea usar una política más restrictiva, utilice la siguiente política en el rol de IAM.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "*", "arn:aws:bedrock:>region<::foundation-model/*" ] } ] }

Para obtener más información acerca de Amazon Redshift ML, consulte Uso de machine learning en Amazon Redshift o CREATE MODEL o CREATE EXTERNAL MODEL.

Permisos para la ingesta de streaming

La ingesta de streaming funciona con dos servicios. Se trata de Kinesis Data Streams y Amazon MSK.

Se requieren permisos para usar la ingesta de streaming con Kinesis Data Streams

Encontrará un procedimiento con un ejemplo de política administrada en Introducción a la ingesta de streaming desde Amazon Kinesis Data Streams.

Se requieren permisos para usar la ingesta de streaming con Amazon MSK

Encontrará un procedimiento con un ejemplo de política administrada en Introducción a la ingesta de streaming desde Amazon Managed Streaming para Apache Kafka.

Permisos necesarios para utilizar las operaciones de la API de uso compartido de datos

Para controlar el acceso a las operaciones de la API de uso compartido de datos, utilice políticas basadas en acciones de IAM. Para obtener información sobre cómo administrar las políticas de IAM, consulte Administración de las políticas de IAM en la Guía del usuario de IAM.

En particular, supongamos que el administrador de un clúster productor necesita usar la llamada a AuthorizeDataShare para autorizar la salida de un recurso compartido de datos desde una Cuenta de AWS. En este caso, debe configurar una política de IAM basada en acciones para otorgar ese permiso. Use la llamada DeauthorizeDataShare para revocar la salida.

Cuando se usan políticas de IAM basadas en acciones, también se puede especificar un recurso de IAM en la política; por ejemplo, DataShareARN. A continuación, se muestra el formato y un ejemplo de DataShareARN.

arn:aws:redshift:region:account-id:datashare:namespace-guid/datashare-name arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare

Puede restringir el acceso AuthorizeDataShare a un datashare específico indicando el nombre del datashare en la política de IAM.

{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare" ], "Effect": "Deny" } ] }

También puede restringir la política de IAM a todos los datashares que pertenezcan a un clúster productor específico. Para ello, reemplace el valor datashare-name en la política con un comodín o un asterisco. Mantenga el valor namespace-guid del clúster.

arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*

A continuación, se presenta la política de IAM que impide que una entidad llame a AuthorizeDataShare en los recursos compartidos de datos que sean propiedad de un clúster productor específico.

{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*" ], "Effect": "Deny" } ] }

DataShareARN restringe el acceso en función del nombre del recurso compartido de datos y el ID único global (GUID) del espacio de nombres del clúster propietario. Lo hace especificando el nombre como un asterisco.

Políticas de recursos de GetClusterCredentials

Para conectarse a la base de datos de un clúster mediante una conexión JDBC u ODBC con credenciales de base de datos de IAM o para llamar mediante programación a la acción GetClusterCredentials, necesita, un conjunto mínimo de permisos. Como mínimo, necesita permiso para llamar a la acción redshift:GetClusterCredentials con acceso a un recurso dbuser.

Si usa una conexión JDBC o ODBC en lugar de server y port, puede especificar cluster_id y region, pero para ello la política debe permitir la acción redshift:DescribeClusters con acceso al recurso cluster.

Si llama a la acción GetClusterCredentials con los parámetros opcionales Autocreate, DbGroups y DbName, asegúrese de permitir también las acciones y el acceso a los recursos indicados en la tabla siguiente.

Parámetro GetClusterCredentials

Acción

Recurso

Autocreate

redshift:CreateClusterUser

dbuser

DbGroups

redshift:JoinGroup

dbgroup

DbName

N/D dbname

Para obtener más información acerca de recursos, consulte Operaciones y recursos de Amazon Redshift.

También puede incluir las siguientes condiciones en la política:

  • redshift:DurationSeconds

  • redshift:DbName

  • redshift:DbUser

Para obtener más información acerca de las condiciones, consulte Especificación de las condiciones de una política.

Ejemplos de políticas administradas por el cliente

En esta sección, encontrará ejemplos de políticas de usuario que conceden permisos para diversas acciones de Amazon Redshift. Estas políticas funcionan cuando se utiliza la API de Amazon Redshift, los AWS SDK o la AWS CLI.

nota

Todos los ejemplos utilizan la región Oeste de EE. UU. (Oregón) (us-west-2) y contienen identificadores de cuenta ficticios.

Ejemplo 1: Permitir al usuario obtener acceso completo a todos los recursos y las acciones de Amazon Redshift

La siguiente política permite obtener acceso a todas las acciones de Amazon Redshift en todos los recursos.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "*" } ] }

El valor redshift:* del elemento Action indica todas las acciones de Amazon Redshift.

Ejemplo 2: Denegar a un usuario el acceso a un conjunto de acciones de Amazon Redshift

De manera predeterminada, se deniegan todos los permisos. No obstante, en ocasiones se necesita denegar explícitamente el acceso a una acción o un conjunto de acciones específicas. La siguiente política permite obtener acceso a todas las acciones de Amazon Redshift y deniega explícitamente el acceso a toda acción de Amazon Redshift cuyo nombre empiece por Delete. Esta política se aplica a todos los recursos de Amazon Redshift de la región us-west-2.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowUSWest2Region", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "arn:aws:redshift:us-west-2:*" }, { "Sid":"DenyDeleteUSWest2Region", "Action": [ "redshift:Delete*" ], "Effect": "Deny", "Resource": "arn:aws:redshift:us-west-2:*" } ] }

Ejemplo 3: Permitirle a un usuario administrar clústeres

La siguiente política le permite a un usuario crear, eliminar, modificar y reiniciar todos los clústeres y, luego, le deniega permiso para eliminar o modificar todo clúster cuyo nombre comience con protected.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowClusterManagement", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"DenyDeleteProtected", "Action": [ "redshift:DeleteCluster" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:cluster:protected*" ], "Effect": "Deny" } ] }

Ejemplo 4: Permitirle a un usuario que autorice y revoque la obtención de acceso a instantáneas

La siguiente política le permite a un usuario, por ejemplo el usuario A, hacer lo siguiente:

  • Autorizar la obtención de acceso a toda snapshot creada a partir de un clúster denominado shared.

  • Revocar la obtención de acceso a snapshots para toda snapshot creada a partir del clúster shared en el que el nombre de la snapshot comience con revokable.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowSharedSnapshots", "Action": [ "redshift:AuthorizeSnapshotAccess" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:shared/*" ], "Effect": "Allow" }, { "Sid":"AllowRevokableSnapshot", "Action": [ "redshift:RevokeSnapshotAccess" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/revokable*" ], "Effect": "Allow" } ] }

Si el usuario A le ha otorgado al usuario B acceso a la snapshot, el usuario B debe tener una política como la siguiente que le permita restaurar un clúster a partir de la snapshot. La siguiente política le permite al usuario B describir y restaurar a partir de snapshots, y crear clústeres. El nombre de estos clústeres debe comenzar con from-other-account.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowDescribeSnapshots", "Action": [ "redshift:DescribeClusterSnapshots" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"AllowUserRestoreFromSnapshot", "Action": [ "redshift:RestoreFromClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/*", "arn:aws:redshift:us-west-2:444455556666:cluster:from-other-account*" ], "Effect": "Allow" } ] }

Ejemplo 5: Permitirle a un usuario copiar una instantánea de un clúster y restaurar un clúster a partir de una instantánea

La siguiente política le permite a un usuario copiar cualquier snapshot creada a partir del clúster denominado big-cluster-1 y restaurar cualquier snapshot cuando el nombre de ella comience con snapshot-for-restore.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowCopyClusterSnapshot", "Action": [ "redshift:CopyClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:big-cluster-1/*" ], "Effect": "Allow" }, { "Sid":"AllowRestoreFromClusterSnapshot", "Action": [ "redshift:RestoreFromClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/snapshot-for-restore*", "arn:aws:redshift:us-west-2:123456789012:cluster:*" ], "Effect": "Allow" } ] }

La siguiente política de ejemplo permite acceder a todas las acciones y los recursos de Amazon Redshift, Amazon Simple Notification Service (Amazon SNS) y Amazon CloudWatch. También permite acciones especificadas en todos los recursos de Amazon EC2 relacionados en la cuenta.

nota

Para las acciones de Amazon EC2 que se especifican en esta política de ejemplo, no se admiten los permisos en el nivel del recurso.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Effect": "Allow", "Action": [ "redshift:*" ], "Resource": [ "*" ] }, { "Sid":"AllowSNS", "Effect": "Allow", "Action": [ "sns:*" ], "Resource": [ "*" ] }, { "Sid":"AllowCloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:*" ], "Resource": [ "*" ] }, { "Sid":"AllowEC2Actions", "Effect": "Allow", "Action": [ "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AttachNetworkInterface", "ec2:DescribeAccountAttributes", "ec2:DescribeAddresses", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": [ "*" ] } ] }

Ejemplo 7: Permitir a un usuario etiquetar recursos con la consola de Amazon Redshift

La siguiente política de ejemplo permite a un usuario etiquetar recursos con la consola de Amazon Redshift mediante la AWS Resource Groups. Esta política puede adjuntarse a un rol de usuario que invoca la consola de Amazon Redshift nueva u original. Para obtener más información acerca del etiquetado, consulte Etiquetado de recursos en Amazon Redshift.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"Tagging permissions", "Effect": "Allow", "Action": [ "redshift:DeleteTags", "redshift:CreateTags", "redshift:DescribeTags", "tag:UntagResources", "tag:TagResources" ], "Resource": "*" } ] }

Política de ejemplo para usar GetClusterCredentials

La política siguiente utiliza estos valores de parámetros de ejemplo:

  • Región: us-west-2

  • Cuenta de AWS: 123456789012

  • Nombre del clúster: examplecluster

La política siguiente habilita las acciones GetCredentials, CreateClusterUser y JoinGroup. La política usa claves de condición para permitir las acciones GetClusterCredentials y CreateClusterUser solo cuando el ID de usuario de AWS concuerde con "AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com". El acceso de IAM solo se solicita para la base de datos "testdb". La política también permite a los usuarios unirse a un grupo denominado "common_group".

{ "Version": "2012-10-17", "Statement": [ { "Sid":"GetClusterCredsStatement", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}", "arn:aws:redshift:us-west-2:123456789012:dbname:examplecluster/testdb", "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group" ], "Condition": { "StringEquals": { "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com" } } }, { "Sid":"CreateClusterUserStatement", "Effect": "Allow", "Action": [ "redshift:CreateClusterUser" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}" ], "Condition": { "StringEquals": { "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com" } } }, { "Sid":"RedshiftJoinGroupStatement", "Effect": "Allow", "Action": [ "redshift:JoinGroup" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group" ] } ] }