Administración de la seguridad de la aplicación y del middleware
Las organizaciones de gran tamaño tienen varios usuarios procedentes de diferentes grupos empresariales que necesitan:
- Iniciar sesión en el clúster de forma segura
- Aplicar el principio de privilegios mínimos (PLOP) en lo que respecta al acceso a datos subyacentes
- Registrar los eventos que tienen importancia para la seguridad
El propósito de la seguridad de la aplicación en HDInsight consiste en proporcionar maneras de autenticar de forma segura a varios usuarios en HDInsight, limitar los derechos de acceso de los usuarios a los datos a los permisos mínimos necesarios para llevar a cabo el trabajo y registrar los eventos que tienen importancia para la seguridad (como un inicio de sesión, un intento de realizar una acción con privilegios o una modificación de un registro importante).
Authentication
La autenticación consiste en el proceso de establecer la identidad de un usuario para verificar que es quien dice ser. Por lo general, los clústeres de HDInsight en escenarios de producción necesitan permitir que una amplia gama de usuarios procedentes de diferentes grupos empresariales se autentiquen en el clúster para realizar actividades como configurar, enviar, ejecutar y supervisar cargas de trabajo. Si se habilita la característica "Enterprise Security Package" (ESP) durante la creación de clústeres de HDInsight, se permite que los clústeres se unan a un dominio y que los usuarios del dominio empleen sus credenciales del dominio para autenticarse en el clúster. Se pueden usar grupos de Active Directory para crear grupos de usuarios individuales que representen una función o un departamento de una organización. Es posible sincronizar varios de estos grupos con el clúster en el momento de su creación. Los clústeres deben tener un administrador de clústeres del dominio y uno o varios grupos de usuarios con acceso restringido. Más abajo se muestra una representación de los componentes y las partes implicadas en el proceso de autenticación de HDInsight.
Los componentes siguientes del dominio de identidades empresariales participan en el proceso de configuración y autenticación de un clúster de ESP.
- Windows Server Active Directory: controlador de dominio local, donde se almacena el nombre principal de usuario (es decir, el UPN) (por ejemplo,
user@Contoso.com
) y sus contraseñas de dominio respectivas. - Active Directory Connect(AD Connect): herramienta de Microsoft diseñada para llevar a cabo la configuración de identidades híbridas. Las funcionalidades como la sincronización de los hash de contraseña son fundamentales para la configuración de ESP en HDInsight.
- Directorio de actividad de Azure (Microsoft Entra ID): El servicio de administración de identidad y acceso basado en Microsoft Azure.
- Microsoft Entra Domain Services (Microsoft Entra Domain Services): Proporciona servicios de dominio administrado como, por ejemplo, unión a un dominio, directiva de grupo, Protocolo ligero de acceso a directorios (LDAP), y Kerberos o NTLM, que son totalmente compatibles con Windows Server Active Directory. Puede usar estos servicios de dominio sin necesidad de implementar o administrar los controladores de dominio de la nube, ni de aplicarles revisiones. Microsoft Entra Domain Services se integra con el inquilino existente de Microsoft Entra, lo que posibilita que los usuarios inicien sesión con sus credenciales existentes. También puede usar los grupos y las cuentas de usuario existentes para proteger el acceso a los recursos, lo que ofrece una mejor migración mediante lift-and-shift de los recursos en el entorno local a Azure.
HDInsight admite dos tipos de escenarios de autenticación:
- Cuando los hash de contraseña se sincronizan con Microsoft Entra ID.
- Cuando los hash de contraseña se retienen en los controladores de dominio locales. Tenga en cuenta que el usuario puede optar por crear el clúster de HDInsight con Windows Azure Storage Blob (WASB) o con el almacenamiento de ADLS Gen2 y que el proceso de autenticación difiere ligeramente en cada caso. Aunque todos los pasos del proceso de autenticación se llevan a cabo automáticamente y se abstraen del usuario, es útil entender a grandes rasgos la secuencia de eventos que intervienen en la autenticación de un usuario.
Autenticación: cuando los hash de contraseña se sincronizan con Microsoft Entra ID
- El usuario John Doe se autentica en un servicio de HDInsight (por ejemplo, Ambari, SSH, Zeppelin, etc.) con sus credenciales del dominio,
user@contoso.onmicrosoft.com
(conocido como nombre principal de usuario, o UPN), y su contraseña. La puerta de enlace contiene el nombre de usuario y la contraseña. - La puerta de enlace de HDInsight envía el UPN y la contraseña proporcionados por el usuario a Microsoft Entra ID mediante el flujo de credenciales de contraseña del propietario del recurso (ROPC) y emite una solicitud de acceso de OAuth. Microsoft Entra ID confirma la identidad del usuario y emite un token de actualización que se guarda en el servicio de credenciales, que se ejecuta en el nodo principal. En clústeres con cuentas de almacenamiento de ADLS Gen2, los controladores de almacenamiento se comunican con el servicio de credenciales para recuperar el token de OAuth con el fin de realizar la autenticación de paso a través a ADLS.
- A continuación, la puerta de enlace autentica al usuario con Microsoft Entra Domain Services y obtiene un vale de Kerberos. Posteriormente, la puerta de enlace pasa el vale de Kerberos a los nodos principales y autentica al usuario en el clúster.
Autenticación MFA: cuando los hash de contraseña no se sincronizan con Microsoft Entra ID
Nota:
Esta configuración también se denomina HDInsight Identity Broker (HIB) y admite Multi-Factor Authentication (MFA). En esta configuración, si los hash de contraseña no se sincronizan con Microsoft Entra ID, el usuario todavía puede autenticarse en la puerta de enlace.
- El usuario John Doe inicia un servicio de HDInsight basado en web, como Ambari o Zeppelin. La página redirige al usuario a una pantalla de inicio de sesión interactiva.
El cliente se redirige a Microsoft Entra ID para que el usuario se autentique mediante su UPN
user@contoso.onmicrosoft.com
. - Al escribir el UPN, el cliente se redirige al servidor de ADFS local en el que el usuario escribe su contraseña. En este momento se ejecuta la autenticación MFA, si está habilitada. Si la autenticación se realiza correctamente, se emite un token de OAuth para el cliente.
- El cliente presenta el token de OAuth a la puerta de enlace de HDInsight.
- La puerta de enlace de HDInsight usa el token de OAuth para adquirir un vale de Kerberos procedente del nodo HIB.
- La puerta de enlace usa el vale de Kerberos y registra el token de OAuth en el servicio de credenciales de los nodos principales y realiza la autenticación en el clúster.
Nota:
Si los hash de contraseña no se sincronizan con Microsoft Entra ID, los usuarios del dominio no pueden usar SSH para conectar con los nodos principales. Solo el usuario de SSH local podrá realizar actividades de SSH. Encontrará orientaciones para configurar los mecanismos de autenticación para ambos escenarios en Uso del agente de identidad para la administración de credenciales.
Autorización
La autorización en HDInsight consiste en determinar y cumplir los privilegios de usuario en los conjuntos de datos subyacentes. La autorización avanzada para acciones u operaciones específicas está disponible en los servicios de HDInsight de Hive, HBase y Kafka, y se administra mediante Apache Ranger. Ranger proporciona control de acceso basado en roles y control de acceso basado en atributos. Además, centraliza la auditoría de las acciones administrativas y el acceso de los usuarios. Lo habitual es autenticarse en Apache Ranger con las credenciales de dominio del administrador de clústeres y, luego, configurar directivas para grupos o usuarios restringidos en cazador. En el ejemplo siguiente se muestran las maneras de crear una directiva de Ranger para establecer permisos en una tabla de Hive de ejemplo en Ranger.
Inicie Apache Ranger mediante la dirección URL
https://CLUSTERNAME.azurehdinsight.net/Ranger/
. Reemplace "CLUSTERNAME" por el nombre del clúster. Use el administrador de dominio del clúster y la contraseña correspondiente para iniciar sesión.Haga clic en Agregar nueva directiva para agregar una directiva de Ranger.
Rellene los detalles de la directiva con la siguiente información:
- Nombre de la directiva: nombre que designa la directiva.
- Base de datos: elija la base de datos de Hive.
- Tabla: elija la tabla de Hive de la base de datos seleccionada.
- Hive Column (Columna de Hive): elija la columna de Hive en la que se aplicará la directiva.
- Establezca el registro de auditoría en Sí para habilitar el registro de todos los accesos.
- Condiciones de permiso:
- Las directivas se pueden aplicar a usuarios del dominio de Active Directory (AD) o a grupos de dominio en la sección Allow Conditions (Condiciones de permiso). Si quiere aplicar la directiva a todos los usuarios de un grupo de AD, agregue dicho grupo a la sección Seleccionar grupo.
- Como alternativa, si quiere que la directiva se aplique a una persona o a un conjunto de usuarios seleccionado a partir de, por ejemplo, distintos grupos de AD, puede agregar todos los identificadores de dominio individuales de los usuarios en el campo Seleccionar usuario.
- Elija un conjunto de permisos en la barra con la casilla Permisos.
Desplácese hacia abajo y haga clic en Aceptar.
Después de realizar esta configuración, la regla se aplicará a todos los usuarios que se incluyeron en la directiva.
La configuración de directivas de Ranger para HBase y Kafka se describe en los hipervínculos correspondientes de la sección.
Auditoría
La auditoría en HDInsight desde el punto de vista de la seguridad se centra en el registro y la supervisión de las solicitudes de autenticación y autorización que se producen durante la duración operativa del clúster, e incluso después de que este se elimine.
La auditoría en HDInsight se habilita mediante el uso de registros de Azure Monitor y se puede emplear para exponer registros críticos para la seguridad del clúster. A continuación, se enumeran algunas tablas de registro que contienen información crítica para la seguridad del clúster.
Nombre de la tabla de registro | Propósito |
---|---|
ranger_audit_logs_CL | Registros de auditoría de Apache Ranger en clústeres de ESP |
log_gateway_audit_CL | Registros de auditoría de la puerta de enlace en los que se muestran los intentos correctos y con errores |
log_ambari_audit_CL | Registros de auditoría de Ambari |
log_auth_CL | Registros de SSH en los que se muestran los intentos correctos y con errores |
Azure Monitor se habilita en Azure Portal con unos pocos clics.
En el clúster de HDInsight, haga clic en Azure Monitor en la hoja de la izquierda. Establezca Integración de Azure Monitor en Habilitar y, en Seleccione un área de trabajo, elija en la lista desplegable un área de trabajo de Log Analytics creada previamente.
Inicie el área de trabajo de Log Analytics e importe las soluciones de supervisión de HDInsight pertinentes para su tipo de clúster. Inicie la solución y haga clic en Registros.
Las tablas de registros pertinentes para la seguridad se encuentran en la sección Registros personalizados, a la izquierda. Se pueden consultar para extraer información de acceso de interés.