Cómo empezar con la propagación de identidades de confianza en AWS Glue ETL - AWS Glue

Cómo empezar con la propagación de identidades de confianza en AWS Glue ETL

Esta sección le ayuda a configurar la aplicación de AWS Glue con sesiones interactivas para integrarla con IAM Identity Center y permitir la propagación de identidades de confianza.

Requisitos previos

  • Una instancia de Identity Center en la región de AWS en la que desea crear sesiones interactivas habilitadas por AWS Glue para la propagación de identidades de confianza. Una instancia de Identity Center solo puede existir en una sola región para una cuenta de AWS. Para obtener más información, consulte Activar IAM Identity Center y Aprovisionar los usuarios y grupos de su fuente de identidades en IAM Identity Center .

  • Habilite la propagación de identidades de confianza para los servicios posteriores como Lake Formation, Concesiones de acceso a Amazon S3 o el clúster de Amazon Redshift con el que la carga de trabajo interactiva interactúa para acceder a los datos.

Permisos necesarios para conectar AWS Glue ETL con IAM Identity Center

Creación de un rol de IAM

El rol que crea la conexión a IAM Identity Center requiere permisos para crear y modificar la configuración de la aplicación en AWS Glue e IAM Identity Center, como se indica en la siguiente política en línea.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:CreateGlueIdentityCenterConfiguration", "sso:CreateApplication", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope", "sso:ListInstances" ], "Resource": [ "*" ] } ] }

Las siguientes políticas en línea contienen los permisos específicos necesarios para ver, actualizar y eliminar las propiedades de la integración de AWS Glue con IAM Identity Center.

Utilice la siguiente política en línea para permitir que un rol de IAM vea una integración de AWS Glue con IAM Identity Center.

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

Utilice la siguiente política en línea para permitir que un rol de IAM actualice una integración de AWS Glue con IAM Identity Center.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:UpdateGlueIdentityCenterConfiguration", "sso:PutApplicationAccessScope", "sso:DeleteApplicationAccessScope" ], "Resource": [ "*" ] } ] }

Utilice la siguiente política en línea para permitir que un rol de IAM elimine una integración de AWS Glue con IAM Identity Center.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:DeleteGlueIdentityCenterConfiguration", "sso:DeleteApplication" ], "Resource": [ "*" ] } ] }

Descripción de los permisos

  • glue:CreateGlueIdentityCenterConfiguration: otorga permiso para crear una configuración de AWS Glue IdC.

  • glue:GetGlueIdentityCenterConfiguration: otorga permiso para obtener una configuración de IdC existente.

  • glue:DeleteGlueIdentityCenterConfiguration: otorga permiso para eliminar una configuración de AWS Glue IdC existente.

  • glue:UpdateGlueIdentityCenterConfiguration: otorga permiso para actualizar una configuración de AWS Glue IdC existente.

  • sso:CreateApplication: otorga permiso para crear una aplicación de IAM Identity Center administrada por AWS Glue.

  • sso:DescribeApplication: otorga permiso para describir una aplicación de IAM Identity Center administrada por AWS Glue.

  • sso:DeleteApplication: otorga permiso para eliminar una aplicación de IAM Identity Center administrada por AWS Glue.

  • sso:UpdateApplication: otorga permiso para actualizar una aplicación de IAM Identity Center administrada por AWS Glue.

  • sso:PutApplicationGrant: otorga permiso para aplicar el intercambio de tokens, IntrospectToken, RefreshToken y RevokeToken en la aplicación de IdC.

  • sso:PutApplicationAuthenticationMethod: otorga permiso para colocar authenticationMethod en la aplicación de IdC administrada por AWS Glue, lo que permite a la entidad principal del servicio de AWS Glue interactuar con la aplicación de IdC.

  • sso:PutApplicationAccessScope: otorga permiso para añadir o actualizar la lista de ámbitos de servicio posteriores autorizados en la aplicación de IdC administrada por AWS Glue.

  • sso:DeleteApplicationAccessScope: otorga permiso para eliminar los ámbitos posteriores si se elimina un ámbito de la aplicación de IdC administrada por AWS Glue.

  • sso:PutApplicationAssignmentConfiguration: otorga permiso para establecer la configuración “User-assignment-not-required” en la aplicación de IdC.

  • sso:ListInstances: otorga permiso para enumerar instancias y validar InstanceArn de IdC que especifique en el parámetro de configuración de Identity Center.

Conectar AWS Glue con IAM Identity Center

Cuando se conecta AWS Glue a IAM Identity Center, crea una aplicación de IdC administrada por singleton por cuenta. En el siguiente ejemplo se muestra cómo conectar AWS Glue con IAM Identity Center:

aws glue create-glue-identity-center-configuration \ --instance-arn arn:aws:sso:::instance/ssoins-123456789 \ --scopes '["s3:access_grants:read_write", "redshift:connect","lakeformation:query"]'

Para actualizar los ámbitos de la aplicación administrada (por lo general se hace para propagarse a más servicios posteriores), puede utilizar lo siguiente:

aws glue update-glue-identity-center-configuration \ --scopes '["s3:access_grants:read_write", "redshift:connect","lakeformation:query"]'

El parámetro Scopes es opcional y se agregarán todos los ámbitos si no se proporciona. Los valores admitidos son s3:access_grants:read_write, redshift:connect y lakeformation:query.

Para obtener los detalles de la configuración, puede utilizar lo siguiente:

aws glue get-glue-identity-center-configuration

Puede eliminar la conexión entre AWS Glue e IAM Identity Center mediante el siguiente comando:

aws glue delete-glue-identity-center-configuration
nota

AWS Glue crea una aplicación de Identity Center administrada por el servicio en su cuenta que el servicio utiliza para la validación y la propagación de identidades a los servicios posteriores. La aplicación Identity Center creada y administrada por AWS Glue se comparte en todas las sesiones de propagación de identidades de confianza de su cuenta.

Advertencia: no modifique manualmente la configuración de la aplicación de Identity Center administrada. Cualquier cambio podría afectar a todas las sesiones interactivas de AWS Glue habilitadas para la propagación de identidades de confianza en su cuenta.

Creación de una sesión interactiva de AWS Glue con la propagación de identidades de confianza habilitada

Tras conectar AWS Glue con IAM Identity Center, puede utilizar credenciales de rol con identidad mejorada para crear una sesión interactiva de AWS Glue. No es necesario enviar parámetros adicionales al crear una sesión de AWS Glue 5.0. Dado que AWS Glue está conectada con IAM Identity Center, si AWS Glue detecta credenciales con identidad mejorada, propagará automáticamente la información de identidad a los servicios posteriores, a los que se hace referencia como parte de las instrucciones. Sin embargo, el rol de tiempo de ejecución de la sesión debe tener el permiso sts:SetContext que se muestra a continuación.

Permisos del rol de tiempo de ejecución para propagar la identidad

Dado que las sesiones de AWS Glue utilizan credenciales con identidad mejorada para propagar la identidad a los servicios posteriores de AWS, la política de confianza de su rol de tiempo de ejecución debe tener el permiso adicional sts:SetContext para permitir la propagación de identidades a los servicios posteriores (Concesiones de acceso a Amazon S3, Lake Formation, Amazon Redshift). Para obtener más información sobre cómo crear un rol de tiempo de ejecución, consulte Configuración de un rol de tiempo de ejecución.

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

Además, el rol de tiempo de ejecución necesitaría permisos para los servicios posteriores de AWS, que la ejecución de flujo de trabajo invocaría para obtener datos mediante la identidad del usuario. Consulte los siguientes enlaces para configurar Concesiones de acceso a Amazon S3 y Lake Formation: