Requisitos previos - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la publicación del blog.

Requisitos previos

Requisitos de la política de IAM para la configuración de los permisos federados de Amazon Redshift

Los permisos federados de Amazon Redshift permiten administrar de forma centralizada el acceso a los datos en todas las cargas de trabajo de análisis, con permisos administrados directamente por el almacén de Redshift.

Para habilitar los permisos federados de Amazon Redshift, se requieren permisos de IAM específicos además de los permisos estándar necesarios para crear clústeres aprovisionados y espacios de nombres sin servidor de Redshift.

Para que el almacén aprovisionado de Redshift habilite los permisos federados de Redshift:

  • redshift:ModifyLakehouseConfiguration

  • redshift:RegisterNamespace

Para que el almacén sin servidor de Redshift habilite los permisos federados de Redshift:

  • redshift-serverless:UpdateLakehouseConfiguration

  • redshift:RegisterNamespace

Para la integración de AWS Glue Data Catalog para crear un catálogo con permisos federados de Redshift:

  • glue:CreateCatalog

  • glue:GetCatalog

Para el registro de recursos de Lake Formation como registro único para permitir la federación de permisos de Redshift desde un almacén remoto con permisos federados:

  • lakeformation:RegisterResource

  • lakeformation:RegisterResourceWithPrivilegedAccess

Configuración de la aplicación de IAM Identity Center para el almacén de Redshift con permisos federados

Amazon Redshift admite la propagación de identidades de los centros de identidades para transmitir sin problemas las identidades de los usuarios entre las instancias de Redshift y los servicios de AWS Lake Formation y AWS Glue. Esta capacidad requiere configurar aplicaciones de IdC dedicadas.

Permisos de IAM necesarios

Para crear y administrar la aplicación del centro de identidades para la propagación de la identidad del centro de identidades, asegúrese de que los permisos de IAM incluyan los siguientes permisos:

Para la administración de aplicaciones de IdC de Amazon Redshift:

  • redshift:CreateRedshiftIdcApplication

  • redshift:ModifyRedshiftIdcApplication

  • redshift:DescribeRedshiftIdcApplications

Para la administración de aplicaciones de IdC de Lake Formation:

  • lakeformation:CreateLakeFormationIdentityCenterConfiguration

  • lakeformation:DescribeLakeFormationIdentityCenterConfiguration

  • lakeformation:UpdateLakeFormationIdentityCenterConfiguration

Creación de las aplicaciones y la configuración de IdC correspondientes

Para establecer la propagación de identidades para las cargas de trabajo de análisis, cree una aplicación de IdC de Amazon Redshift del tipo Lakehouse. Administra los permisos sin requerir asignaciones de usuarios explícitas. Los almacenes de Redshift vinculados a esta aplicación requieren privilegios CONNECT para que los usuarios de IdC autentiquen las conexiones.

Solo puede crear una aplicación de IdC de Amazon Redshift del tipo Lakehouse por Cuenta de AWS. Esta aplicación gestiona la propagación de identidades en todos los almacenes de Redshift que están integrados con Lake Formation y servicios de AWS Glue. La aplicación solo se puede utilizar con los almacenes de Redshift que estén registrados en AWS Glue Data Catalog.

Preparación del rol de IAM asumido por Redshift y utilizado por la propagación de identidades de IdC

La creación de aplicaciones de IdC de Redshift Lakehouse requiere un rol de IAM en la cuenta con determinados permisos de IAM. El rol de IAM utilizado en las aplicaciones de IdC de Redshift debe tener la siguiente relación de confianza para permitir que Redshift la asuma y establezca el contexto para la propagación de la identidad de IdC.

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

Además, los permisos para el rol de IAM de IdC permiten propagar la identidad de IdC.

  • AmazonRedshiftFederatedAuthorization: esta política permite a Amazon Redshift consultar bases de datos de AWS Glue Data Catalog mediante permisos federados.

  • Política de contexto de conjunto de AWSIDC

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:SetContext" ], "Resource": "*" } ] }
  • Configuración de Redshift como una aplicación administrada de AWS con AWS IAM Identity Center.

  • Política de IAM de SSO del centro de identidades de AWSIDC:

    • sso:DescribeApplication: se requiere para crear una entrada de proveedor de identidades (IdP) en el catálogo.

    • sso:DescribeInstance: se utiliza para crear manualmente roles o usuarios federados de IdP.

      { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "sso:DescribeApplication", "sso:DescribeInstance" ], "Resource": [ "arn:aws:sso:::instance/<IAM Identity Center Instance ID>", "arn:aws:sso::<AWS-account-id>:application/<IAM Identity Center Instance ID>/*" ] }

Creación de una nueva aplicación de IdC de Redshift de tipo Lakehouse

CLI

Cree la aplicación de IdC de Lakehouse especificando el tipo de aplicación de Lakehouse en la solicitud create-redshift-idc-application, lo que elimina la necesidad de asignar usuarios explícitos en el centro de identidades y, al mismo tiempo, habilita el requisito de privilegios de CONNECT para la autenticación de los usuarios de IdC:

aws redshift create-redshift-idc-application \ --idc-instance-arn <your_idc_instance_arn> \ --idc-display-name '<name_of_idc_application_display_on_idc_console>' \ --iam-role-arn <idc_carrier_role_arn> \ --application-type Lakehouse \ --redshift-idc-application-name '<name_of_idc_display_on_redshift_console>' \ --service-integrations '[ { "LakeFormation":[ { "LakeFormationQuery":{"Authorization": "Enabled"} } ] }, { "Redshift":[ { "Connect" : { "Authorization": "Enabled" } } ] } ]'

Esta configuración permite la propagación de identidades fiable entre Redshift y Lake Formation, lo que permite a los usuarios acceder a los datos de todos los servicios con sus credenciales del centro de identidades sin asignaciones de permisos adicionales.

Console
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/.

  2. Vaya a la página de conexiones del IAM Identity Center y seleccione Crear aplicación.

  3. Configure los ajustes generales de la aplicación de IdC.

  4. Seleccione Configurar los permisos federados de Amazon Redshift mediante AWS IAM Identity Center (recomendado) para configurar el tipo de aplicación.

  5. Las integraciones de propagación de identidad de conexión de Lake Formation y Redshift están habilitadas de forma predeterminada.

  6. Complete el resto de la configuración del clúster y elija Crear aplicación.

Modificación de una aplicación de IdC de Redshift existente

Si tiene una aplicación de IdC de Redshift que no tiene habilitadas las integraciones de servicios requeridas, puede actualizarla para que admita la propagación de identidades entre servicios y clústeres/espacios de nombres.

CLI

Utilice el comando modify-redshift-idc-application para habilitar la autorización de LakeFormation:query y la autorización de Redshift:Connect. Estas integraciones son esenciales para la propagación de la identidad de IdC entre servicios y clústeres:

aws redshift modify-redshift-idc-application \ --redshift-idc-application-arn '<arn_of_the_target_redshift_idc_application>' \ --service-integrations '[ { "LakeFormation":[ { "LakeFormationQuery":{"Authorization": "Enabled"} } ] }, { "Redshift":[ { "Connect" : { "Authorization": "Enabled" } } ] } ]'
Console
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/.

  2. Vaya a la página de conexiones del IAM Identity Center y elija una aplicación de IdC existente que desee editar.

  3. Elija las integraciones de propagación de identidades para habilitar y configurar otros ajustes y elija Guardar cambios.

Creación de la configuración del centro de identidades de Lake Formation

El servicio de Lake Formation requiere una aplicación de IdC dedicada si aún no se ha creado ninguna. También debe habilitar la autorización de Redshift:Connect para que la configuración funcione correctamente.

CLI

Use el comando create-lake-formation-identity-center-configuration para habilitar la autorización de Redshift:Connect. Estas integraciones son esenciales para que Lake Formation propague la identidad de IdC a los clústeres de Redshift y a los espacios de nombres sin servidor de Redshift.

aws lakeformation create-lake-formation-identity-center-configuration \ --instance-arn <your_idc_instance_arn> \ --service-integrations '[{ "Redshift": [{ "RedshiftConnect": { "Authorization": "ENABLED" } }] }]'
Console
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/.

  2. En el panel de navegación izquierdo, seleccione Integración de IAM Identity Center.

  3. En la página de integración del IAM Identity Center, puede habilitar la propagación de identidades de confianza para la conexión de Amazon Redshift. Lake Formation propaga identidad a posteriores en función de los permisos efectivos, por lo que las aplicaciones autorizadas pueden acceder a los datos en nombre de los usuarios.

Actualización de la configuración del centro de identidades de Lake Formation

Si hubiera configurado la aplicación de IdC de Lake Formation que no tiene habilitadas las integraciones de servicios requeridas, puede actualizarla para que admita la propagación de identidades entre servicios y clústeres/espacios de nombres.

CLI

Use el comando update-lake-formation-identity-center-configuration para habilitar la autorización de Redshift:Connect. Estas integraciones son esenciales para la propagación de la identidad de IdC entre servicios y clústeres:

aws lakeformation update-lake-formation-identity-center-configuration \ --service-integrations '[{ "Redshift": [{ "RedshiftConnect": { "Authorization": "ENABLED" } }] }]'
Console
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/.

  2. En el panel de navegación izquierdo, seleccione Integración de IAM Identity Center.

  3. En la página de integración del IAM Identity Center, puede habilitar la propagación de identidades de confianza para la conexión de Amazon Redshift. Lake Formation propaga identidad a posteriores en función de los permisos efectivos, por lo que las aplicaciones autorizadas pueden acceder a los datos en nombre de los usuarios.

Requisitos previos de Lake Formation

El cliente necesita los permisos CREATE_CATALOG de Lake Formation para habilitar AWS Glue Data Catalog con los permisos federados de Amazon Redshift.

  1. Si la cuenta pertenece a un cliente existente de Lake Formation, el administrador de Lake Formation debe conceder explícitamente el permiso CREATE_CATALOG a cada creador del clúster. Utilice el comando de la CLI de ejemplo siguiente:

    aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "<PrincipalArn>" }, "Resource": { "Catalog": {} }, "Permissions": [ "CREATE_CATALOG" ] }'
  2. Si la cuenta nunca ha utilizado Lake Formation, compruebe que los creadores de catálogos estén configurados como IAMAllowedPrincipals en la página Roles y tareas administrativas de la consola de Lake Formation. Si no está configurado, configure un administrador de lago de datos siguiendo las instrucciones Crear un administrador de lago de datos. Como opción alternativa, puede crear un administrador de lago de datos con las políticas mínimas requeridas si solo va a utilizar AWS Glue Data Catalog con los permisos federados de Amazon Redshift.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "lakeformation:PutDataLakeSettings", "lakeformation:GrantPermissions", "lakeformation:GetDataLakeSettings", "lakeformation:BatchGrantPermissions", "lakeformation:ListPermissions" ], "Resource": [ "*" ] } ] }
  3. Haga que el administrador de DataLake otorgue permisos a las IAMAllowedPrincipals para crear un catálogo. El acceso se puede conceder a los creadores de catálogos mediante el botón Conceder en la página de roles y tareas administrativas.

Privilegios de conexión

Como parte de los permisos federados de Amazon Redshift, Amazon Redshift ha ingresado los privilegios CONNECT para administrar el acceso de los usuarios federados de AWS IAM Identity Center a los grupos de trabajo o clústeres de Amazon Redshift. Esta característica está disponible cuando los permisos federados de Amazon Redshift están habilitados en el grupo de trabajo o el clúster.

Este privilegio permite a los administradores controlar el acceso de los usuarios mediante permisos granulares en cada grupo de trabajo o clúster de Amazon Redshift en los que estén habilitados los permisos federados de Amazon Redshift. El administrador de Amazon Redshift puede especificar qué usuarios o grupos de AWS IAM Identity Center federados tienen acceso para conectarse directamente al grupo de trabajo o clúster de Amazon Redshift, lo que proporciona un control detallado del acceso de los usuarios de AWS IAM Identity Center a cada grupo de trabajo o clúster.

Sintaxis

GRANT CONNECT [ON WORKGROUP] TO [USER] <prefix>:<username> | ROLE <prefix>:<rolename> | PUBLIC;
CONNECT [ON WORKGROUP]

Concede permiso para conectar a un grupo de trabajo. El permiso CONNECT solo se aplica a las identidades de AWS IAM Identity Center (usuarios y roles).

TO <prefix>:<username>

Indica el usuario federado de AWS IAM Identity Center que recibe los permisos.

TO ROLE <prefix>:<rolename>

Indica el grupo federado de AWS IAM Identity Center que recibe los permisos.

PUBLIC

Concede los permisos CONNECT a todos los usuarios federados de AWS IAM Identity Center, incluidos los creados posteriormente.