Este tema describe cómo configurar manualmente la asignación entre las cuentas en la nube de los miembros de DataWorks y las cuentas específicas de un clúster de EMR. Esto permite que los miembros de DataWorks ejecuten tareas con la identidad del clúster asignada.
Precautions
La asignación de identidades de un clúster de EMR aplica a todos los espacios de trabajo donde está registrado dicho clúster. Modifique la configuración del clúster de EMR con precaución.
-
Si no configura manualmente una asignación de cuentas, DataWorks utiliza una política predeterminada para enviar tareas al clúster de EMR, sin importar qué cuenta en la nube use para ejecutarlas:
If you run tasks as a RAM user: By default, DataWorks runs the task by using an EMR cluster system account that has the same name as the RAM user. Si el clúster no tiene habilitada la autenticación LDAP o Kerberos, debe configurar una asignación como se describe en este tema. De lo contrario, the DataWorks task will fail.
-
If you run tasks as an Alibaba Cloud account: You must manually configure an account mapping for the Alibaba Cloud account, regardless of whether the cluster has LDAP or Kerberos authentication enabled. Otherwise, all tasks run using the Alibaba Cloud account will fail.
NotaLa cuenta que se usa para acceder a un clúster de EMR desde DataWorks depende de la identidad de acceso que especifique al registrar el clúster de EMR.
Para ejecutar tareas como usuario de RAM, seleccione Cluster Account Mapped to Account of Task Owner o Cluster Account Mapped to RAM User como identidad de acceso predeterminada cuando bind an EMR computing resource en DataWorks.
Para ejecutar tareas con una cuenta de Alibaba Cloud, seleccione Cluster Account Mapped to Alibaba Cloud Account como identidad de acceso predeterminada cuando bind an EMR computing resource en DataWorks.
Usage notes
-
Authentication method
DataWorks no admite configurar asignaciones de cuentas LDAP y Kerberos al mismo tiempo. Por lo tanto, las tareas que se ejecutan en DataWorks fallarán si un componente de EMR tiene habilitadas ambas autenticaciones.
-
Whitelist configuration
If Ranger authentication is enabled on the cluster, you must add DataWorks to the whitelist to ensure that DataWorks can access the EMR cluster. For more information, see Appendix: Add DataWorks to the whitelist.
-
Gestión de usuarios
If you use a non-system account for cluster identity authentication (por ejemplo, Kerberos), you must first enable the corresponding authentication service on the cluster, and then add the account used for EMR task development in DataWorks to that service. For more information, see Configure Kerberos authentication.
-
Data permissions
You can use permission management components on the EMR cluster to isolate data permissions for different DataWorks users. For example, you can use the Ranger component to manage the permissions of the cluster user mapped to an Alibaba Cloud account.
Si un clúster de EMR usa Data Lake Formation (DLF) como servicio de metadatos y tiene habilitado el componente DLF-Auth para gestionar permisos, puede solicitar permisos de datos en el Security Center de DataWorks. Para obtener más información, consulte DLF data access control.
-
Mapping configuration
Note that DataWorks tasks may fail in the following scenarios:
Escenario
Descripción
Uso de la asignación de cuentas del sistema en DataWorks
-
Un usuario de RAM ejecuta una tarea, pero no existe ninguna cuenta del clúster con el mismo nombre.
-
Un usuario de RAM ejecuta una tarea y se configuró manualmente una asignación entre un miembro del espacio de trabajo de DataWorks y una cuenta del clúster, pero la cuenta o la contraseña asignada es incorrecta.
-
Una cuenta de Alibaba Cloud ejecuta una tarea, pero no hay ninguna asignación configurada para dicha cuenta.
Uso de la asignación de cuentas LDAP/Kerberos en DataWorks
-
El clúster tiene habilitada la autenticación LDAP o Kerberos, pero falta la asignación de cuentas correspondiente en DataWorks o esta es incorrecta.
-
Selecciona la asignación de Kerberos en DataWorks, pero Kerberos no está habilitado en el clúster.
-
Selecciona la asignación LDAP en DataWorks, pero el servicio de autenticación no está habilitado para el componente en el clúster.
NotaDespués de configurar la asignación LDAP en DataWorks, las tareas SQL como Hive, Impala, Presto y Trino usan la cuenta asignada para la autenticación de forma predeterminada. Si la autenticación LDAP no está habilitada en el componente del clúster, estas tareas fallarán.
-
Limitaciones
-
Only users with the following roles can configure identity mappings for workspace members:
- Alibaba Cloud account
A RAM user or RAM role with AliyunDataWorksFullAccess and AliyunEMRFullAccess permissions.
A RAM user or RAM role assigned the Workspace Administrator role and has AliyunEMRFullAccess permissions.
- Users without these roles can configure an identity mapping only for themselves.
Go to the account mappings page
-
Inicie sesión en la consola de DataWorks. En la región de destino, haga clic en en el panel de navegación izquierdo. Seleccione un espacio de trabajo en la lista desplegable y haga clic en Go to Management Center.
En el panel de navegación izquierdo, haga clic en Computing Resources para ir a la página Computing Resources.
-
In the list of computing resources, find the target EMR cluster. On the Account Mappings, haga clic en Edit Account Mappings en la esquina superior derecha para ir a la página Edit Account Mappings.
La pestaña Account Mappings contiene la sección Production and development environment, que muestra los campos Mapping Type y Number of Mapped Accounts.
Configurar la asignación de cuentas del clúster
En la página Edit Account Mappings, siga estos pasos para configurar una asignación de identidades del clúster.
-
Upload a configuration file.
If Kerberos authentication is enabled on the cluster, you must download the authentication credentials del clúster.
Click Upload Keystore File to upload the downloaded authentication credentials. This ensures that EMR Trino and EMR Presto tasks run as expected.
-
Configure the mapping.
Configuration Mode: You can define a mapping for the current cluster, or select Reference Configurations of Another Cluster to reuse an existing mapping configuration.
Mapping Type: Specifies the account type for cluster authentication. Supported types include System Account Mapping, OPEN LDAP Account Mapping, and Kerberos Account Mapping.
NotaIf you select Mapping to Kerberos Account as the Mapping Type, you must upload a Keystore file.
Before you use Kerberos account mapping, make sure that the Kerberos service is enabled on the cluster. For more information, see Enable Kerberos.
Before you use LDAP account mapping, make sure that the LDAP service is enabled on the related components. Después de configurar la asignación LDAP en DataWorks, las tareas SQL como Hive, Impala, Presto y Trino usan la cuenta asignada para la autenticación de forma predeterminada. Si la autenticación LDAP no está habilitada en el componente del clúster, estas tareas fallarán.
Haga clic en Confirm para guardar la configuración de asignación de cuentas del clúster.
Apéndice: Add DataWorks to the whitelist
If Ranger is enabled on the EMR cluster, you must add DataWorks to the whitelist in EMR and restart Hive before you develop EMR jobs in DataWorks. Otherwise, jobs will fail at runtime with a Cannot modify spark.yarn.queue at runtime or Cannot modify SKYNET_BIZDATE at runtime error.
-
Configure the whitelist.
You can configure the whitelist by adding a key and value for a custom parameter in EMR. The following example shows the configuration for the Hive component.
hive.security.authorization.sqlstd.confwhitelist.append=tez.*|spark.*|mapred.*|mapreduce.*|ALISA.*|SKYNET.*NotaLas configuraciones ALISA. y SKYNET. son específicas de DataWorks.
-
Restart the service.
After you configure the whitelist, you must restart the service for the changes to take effect.