Configuración de Snowflake para el aprovisionamiento automático de usuarios con Microsoft Entra ID

En este artículo se muestran los pasos que se realizan en Snowflake y Microsoft Entra ID para configurar el id. de Microsoft Entra para aprovisionar y desaprovisionar automáticamente usuarios y grupos en Snowflake. Para obtener información importante acerca de lo que hace este servicio, cómo funciona y las preguntas más frecuentes, consulte ¿Qué es el aprovisionamiento automatizado de usuarios de aplicaciones SaaS en Microsoft Entra ID?.

Capacidades soportadas

  • Crear usuarios en Snowflake
  • Quitar usuarios de Snowflake cuando ya no necesiten acceso
  • Mantenimiento de la sincronización de los atributos de usuario entre Microsoft Entra ID y Snowflake
  • Aprovisionar grupos y pertenencias a grupos en Snowflake
  • Permitir el inicio de sesión único en Snowflake (recomendado)
  • Se admite la autenticación de token de portador de larga duración.

Prerrequisitos

En el escenario descrito en este artículo se supone que ya tiene los siguientes requisitos previos:

Paso 1: Planifica tu despliegue de aprovisionamiento

  1. Obtén información sobre cómo funciona el servicio de aprovisionamiento.
  2. Determina quién está incluido en el ámbito de aprovisionamiento.
  3. Determine qué datos quiere asignar entre Microsoft Entra ID y Snowflake.

Paso 2: Configuración de Snowflake para admitir el aprovisionamiento con Microsoft Entra ID

Antes de configurar Snowflake para el aprovisionamiento automático de usuarios con Microsoft Entra ID, debe habilitar el aprovisionamiento del sistema de administración de identidades entre dominios (SCIM) en Snowflake.

  1. Inicie sesión en Snowflake como administrador y ejecute lo siguiente desde la interfaz de hoja de cálculo de Snowflake o SnowSQL.

    use role accountadmin;
    
     create role if not exists aad_provisioner;
     grant create user on account to role aad_provisioner;
     grant create role on account to role aad_provisioner;
    grant role aad_provisioner to role accountadmin;
     create or replace security integration aad_provisioning
         type = scim
         scim_client = 'azure'
         run_as_role = 'AAD_PROVISIONER';
     select system$generate_scim_access_token('AAD_PROVISIONING');
    
  2. Utilice el rol ACCOUNTADMIN.

    Captura de pantalla de una hoja de cálculo en la interfaz de usuario de Snowflake con el token de acceso de SCIM resaltado.

  3. Cree el rol personalizado AAD_PROVISIONER. Todos los usuarios y roles de Snowflake creados por Microsoft Entra ID son propiedad del rol AAD_PROVISIONER con ámbito restringido.

    Captura de pantalla que muestra el rol personalizado.

  4. Deje que el rol ACCOUNTADMIN cree la integración de seguridad mediante el rol personalizado AAD_PROVISIONER.

    Captura de pantalla que muestra las integraciones de seguridad.

  5. Cree y copie el token de autorización en el Portapapeles y almacénelo de forma segura para su uso posterior. Use este token para cada solicitud de API de REST de SCIM y colóquelo en el encabezado de solicitud. El token de acceso expira después de seis meses y se puede generar un nuevo token de acceso con esta instrucción.

    Captura de pantalla que muestra la generación de tokens.

Para empezar a administrar el aprovisionamiento de Snowflake, agregue Snowflake desde la galería de aplicaciones de Microsoft Entra. Si ha configurado previamente Snowflake para el inicio de sesión único, puede usar la misma aplicación. Sin embargo, se recomienda crear una aplicación independiente al probar inicialmente la integración. Más información sobre cómo agregar una aplicación desde la galería.

Paso 4: Definir quién está en el ámbito de aprovisionamiento

El servicio de aprovisionamiento de Microsoft Entra permite definir el ámbito de quién se aprovisiona en función de la asignación a la aplicación o en función de los atributos del usuario o grupo. Si decide determinar quién tiene acceso a su aplicación en función de la asignación, puede usar los pasos para asignar usuarios y grupos a la aplicación. Si decide definir el ámbito del aprovisionamiento únicamente en función de los atributos del usuario o grupo, puede usar un filtro de delimitación.

  • Comience pequeño. Pruebe con un pequeño conjunto de usuarios y grupos antes de implementarlo en todos. Cuando el ámbito de aprovisionamiento se establece en usuarios y grupos asignados, puede controlarlo asignando uno o dos usuarios o grupos a la aplicación. Cuando el ámbito se establece en todos los usuarios y grupos, puede especificar un filtro de ámbito basado en atributos.

  • Si necesita roles adicionales, puede actualizar el manifiesto de la aplicación para agregar nuevos roles.

Paso 5: Configuración del aprovisionamiento automático de usuarios en Snowflake

En esta sección, encontrará directrices para configurar el servicio de aprovisionamiento de Microsoft Entra, así como para crear, actualizar y deshabilitar usuarios y grupos en Snowflake. Puede basar la configuración en las asignaciones de usuarios y grupos de Microsoft Entra ID.

Para configurar el aprovisionamiento automático de usuarios para Snowflake en Microsoft Entra ID:

  1. Inicie sesión en el Centro de administración de Microsoft Entra siendo al menos un Administrador de aplicaciones en la nube.

  2. Navegue a Entra ID>Aplicaciones empresariales.

    Captura de pantalla que muestra el panel Aplicaciones empresariales.

  3. En la lista de aplicaciones, seleccione Snowflake.

    Captura de pantalla que muestra una lista de aplicaciones.

  4. Seleccione la pestaña Aprovisionamiento.

    Captura de pantalla de las opciones de administración con la opción Aprovisionamiento seleccionada.

  5. Seleccione + Nueva configuración.

    Captura de pantalla de la pestaña Aprovisionamiento automático.

  6. En la sección Credenciales de administrador, escriba la dirección URL base de SCIM 2.0 y el token de autenticación que recuperó anteriormente en los campos URL de inquilino y Token secreto respectivamente.

    Nota:

    El punto de conexión SCIM de Snowflake consta de la dirección URL de la cuenta de Snowflake anexada con /scim/v2/. Por ejemplo, si el nombre de la cuenta de Snowflake es acme y la cuenta de Snowflake se encuentra en la región de Azure east-us-2, el valor de la URL del inquilino es https://acme.east-us-2.azure.snowflakecomputing.com/scim/v2.

  7. Seleccione Probar conexión para asegurarse de que Microsoft Entra ID puede conectarse a Snowflake. Si se produce un error en la conexión, asegúrese de que la cuenta de Snowflake tiene los permisos de administrador necesarios e inténtelo de nuevo.

    Captura de pantalla de la conexión de prueba de provisionamiento.

  8. Seleccione Crear para crear la configuración.

  9. Seleccione Propiedades en la página Información general .

  10. Seleccione el icono Editar para editar las propiedades. Habilite los correos electrónicos de notificación y proporcione un correo electrónico para recibir correos electrónicos de cuarentena. Habilitación de la prevención de eliminaciones accidentales. Seleccione Aplicar para guardar los cambios.

    Captura de pantalla de las propiedades de aprovisionamiento.

  11. Seleccione Asignación de atributos en el panel izquierdo y seleccione usuarios.

  12. Revise los atributos de usuario que se sincronizan entre Microsoft Entra ID y Snowflake en la sección Asignación de atributos. Los atributos seleccionados como propiedades de Coincidencia se usan para buscar coincidencias con las cuentas de usuario de Snowflake con el objetivo de realizar operaciones de actualización. Seleccione el botón Guardar para confirmar los cambios.

    Atributo Tipo
    activo Boolean
    displayName Cuerda
    emails[type eq "work"].value Cuerda
    nombre de usuario Cuerda
    name.givenName Cuerda
    name.familyName Cuerda
    externalId Cuerda
    urn:ietf:params:scim:schemas:extension:2.0:User:type Gestión de usuarios - Documentación de Snowflake Cuerda

    Nota:

    Ahora se puede editar el nombre para mostrar del grupo. Anteriormente, el nombre para mostrar del grupo en Snowflake no se podía cambiar, lo que impedía a los clientes editar la asignación. Ahora es editable.

    Nota:

    Snowflake admite atributos de usuario de extensión personalizados durante el aprovisionamiento de SCIM:

    • DEFAULT_ROLE
    • DEFAULT_WAREHOUSE
    • DEFAULT_SECONDARY_ROLES
    • LOS CAMPOS SNOWFLAKE NAME Y LOGIN_NAME DEBEN SER DIFERENTES

    Aquí se explica cómo configurar los atributos de extensión personalizados de Snowflake en el aprovisionamiento de usuarios de SCIM de Microsoft Entra.

  13. Seleccione Grupos.

  14. Revise los atributos de grupos que se sincronizan entre Microsoft Entra ID y Snowflake en la sección Asignación de atributos. Los atributos seleccionados como propiedades de Coincidencia se usan para buscar coincidencias con los grupos de Snowflake con el objetivo de realizar operaciones de actualización. Seleccione el botón Guardar para confirmar los cambios.

    Atributo Tipo
    displayName Cuerda
    Miembros Referencia
  15. Para configurar los filtros de ámbito, consulte las instrucciones siguientes que se proporcionan en el artículo sobre filtros de ámbito.

  16. Use el aprovisionamiento a petición para validar la sincronización con un pequeño número de usuarios antes de implementar más ampliamente en su organización.

  17. Cuando esté listo para aprovisionar, seleccione Iniciar aprovisionamiento en la página Información general .

Paso 6: Supervisión de la implementación

Una vez configurado el aprovisionamiento, use los recursos siguientes para supervisar la implementación:

  1. Use los registros de aprovisionamiento de para determinar qué usuarios se aprovisionan correctamente o sin éxito
  2. Compruebe la barra de progreso para ver el estado del ciclo de aprovisionamiento y cómo se acerca a la finalización.
  3. Si la configuración de aprovisionamiento parece estar en un estado no saludable, la aplicación entra en cuarentena. Obtenga más información sobre los estados de cuarentena en el artículo estado de cuarentena de aprovisionamiento de aplicaciones .

Limitaciones del conector

Los tokens de SCIM que genera Snowflake expiran en 6 meses. Tenga en cuenta que tiene que actualizarlos antes de que expiren para que las sincronizaciones de aprovisionamiento sigan funcionando.

Acceso a aplicaciones Just-In-Time (JIT) con PIM para grupos

Con Privileged Identity Management (PIM) para grupos, puedes conceder acceso just-in-time a los grupos de Snowflake y reducir el número de usuarios que tienen acceso permanente a grupos privilegiados en Snowflake.

Configuración de la aplicación empresarial para el inicio de sesión único (SSO) y el aprovisionamiento

Para configurar el acceso persistente y no administrativo en Snowflake, complete estos pasos:

  1. Agregue Snowflake al inquilino, configúrelo para el aprovisionamiento como se describe en los pasos anteriores de este tutorial e inicie el aprovisionamiento.
  2. Configure el inicio de sesión único para Snowflake.
  3. Cree un grupo que proporcione a todos los usuarios acceso a la aplicación.
  4. Asigne el grupo a la aplicación Snowflake.
  5. Asigne el usuario de prueba como miembro directo del grupo que creó para el acceso de todos los usuarios o proporcione acceso al grupo a través de un paquete de acceso. Este grupo proporciona acceso persistente y no administrativo en Snowflake.

Habilitación de PIM para grupos

Para conceder acceso de administrador Just-In-Time, complete estos pasos:

  1. Cree un segundo grupo en Microsoft Entra ID. Este grupo proporciona acceso a los permisos de administrador en Snowflake.
  2. Incorpore el grupo bajo administración en Microsoft Entra PIM.
  3. Defina al usuario de prueba como apto para el grupo en PIM con el rol establecido en miembro.
  4. Asigne el segundo grupo a la aplicación Snowflake.
  5. Use el aprovisionamiento a petición para crear el grupo en Snowflake.
  6. Inicie sesión en Snowflake y asigne al segundo grupo los permisos necesarios para realizar tareas de administrador.

Ahora cualquier usuario final que se haya hecho apto para el grupo en PIM puede obtener acceso JIT al grupo en Snowflake activando su pertenencia a grupos.

Consideraciones clave

  • ¿Cuánto tiempo se tarda en tener un usuario aprovisionado en la aplicación?
    • Cuando se agrega un usuario a un grupo de Microsoft Entra ID fuera de activar su pertenencia a grupos mediante Microsoft Entra Privileged Identity Management (PIM):
      • La pertenencia al grupo se gestiona en la aplicación durante el siguiente ciclo de sincronización. El ciclo de sincronización se ejecuta cada 40 minutos.
    • Cuando un usuario activa su pertenencia a grupos en Microsoft Entra ID PIM:
      • La pertenencia al grupo se asigna en un plazo de 2 a 10 minutos. Durante períodos de gran volumen de solicitudes, las solicitudes se limitan a una velocidad de cinco solicitudes por 10 segundos.
      • Para los cinco primeros usuarios dentro de un período de 10 segundos que activen su pertenencia a grupos para una aplicación específica, la membresía de grupo se activa en la aplicación en un plazo de 2 a 10 minutos.
      • Para el sexto usuario y los usuarios adicionales en un período de 10 segundos que activan su membresía de grupo en una aplicación específica, la membresía de grupo se asigna a la aplicación en el siguiente ciclo de sincronización. El ciclo de sincronización se ejecuta cada 40 minutos. Los límites de limitación son por aplicación empresarial.
  • Si el usuario no puede acceder al grupo necesario en Snowflake, revise la sección Sugerencias de solución de problemas , registros de PIM y registros de aprovisionamiento para confirmar que la pertenencia al grupo se actualizó correctamente. En función de cómo se diseñe la aplicación de destino, la pertenencia al grupo puede tardar más tiempo en surtir efecto en la aplicación.
  • Puede crear alertas de errores mediante Azure Monitor.
  • La desactivación se realiza durante el ciclo incremental normal. No se procesa inmediatamente mediante el aprovisionamiento a petición.

Sugerencias de solución de problemas

El servicio de aprovisionamiento de Microsoft Entra funciona actualmente en intervalos IP concretos. Si es necesario, puede restringir otros intervalos IP y agregar estos intervalos IP concretos a la lista de permitidos de la aplicación. Esta técnica permitirá el flujo de tráfico desde el servicio de aprovisionamiento de Microsoft Entra a la aplicación.

Registro de cambios

  • 21/07/2020: se ha habilitado el borrado suave para todos los usuarios (a través del atributo active).
  • 12/10/2022: Configuración actualizada de SCIM de Snowflake.

Recursos adicionales