Creación de una credencial de almacenamiento para conectarse a Azure Data Lake Storage

En esta página se describe cómo crear credenciales de almacenamiento en el catálogo de Unity para conectarse a Azure Data Lake Storage. Para obtener información sobre otras opciones de almacenamiento en la nube compatibles con el catálogo de Unity, consulte Opciones de almacenamiento en la nube compatibles con Unity Catalog.

Una credencial de almacenamiento contiene una credencial de nube a largo plazo que proporciona acceso al almacenamiento en la nube. Puede hacer referencia a las credenciales de almacenamiento, junto con la ruta de acceso de almacenamiento en la nube, al crear ubicaciones externas en el catálogo de Unity para controlar el acceso al almacenamiento externo.

Crear una credencial de almacenamiento que tenga acceso a Azure Data Lake Storage

Puede usar una identidad administrada de Azure o un principal de servicio para autorizar el acceso a su contenedor de almacenamiento. Se recomienda encarecidamente el uso de identidades administradas. Tienen la ventaja de permitir que Unity Catalog acceda a las cuentas de almacenamiento protegidas por reglas de red, lo que no es posible mediante identidades de servicio, y además eliminan la necesidad de administrar y rotar secretos. Si quiere utilizar un principal de servicio, consulte Crear almacenamiento administrado de Unity Catalog con la ayuda de un principal de servicio (heredado).

Requisitos

En Azure Databricks:

  • Azure Databricks espacio de trabajo habilitado para el Catálogo de Unity.
  • Privilegio CREATE STORAGE CREDENTIAL en el metastore de Unity Catalog asociado al área de trabajo. Los administradores de cuentas y los administradores de metastore tienen este privilegio de manera predeterminada.

En su tenant de Azure:

  • Un contenedor de almacenamiento Azure Data Lake Storage. Para evitar cargos de salida, debe estar en la misma región que el área de trabajo desde la que desea acceder a los datos.

    La cuenta de almacenamiento Azure Data Lake Storage debe tener un espacio de nombres jerárquico.

  • Colaborador o propietario de un grupo de recursos de Azure.

  • Propietario o usuario con el rol de Usuario administrador de acceso mediante RBAC de Azure en la cuenta de almacenamiento.

Creación de la credencial de almacenamiento

  1. En el portal de Azure, cree un conector de acceso Azure Databricks y asígnele permisos en el contenedor de almacenamiento al que le gustaría acceder, con las instrucciones de Configurar una identidad administrada para el Catálogo de Unity.

    Un conector de acceso Azure Databricks es un recurso de Azure de primera entidad que permite conectar identidades administradas a una cuenta de Azure Databricks. Para agregar la credencial de almacenamiento, debe tener el rol Contributor o superior en el recurso del conector de acceso en Azure.

    Anote el identificador de recurso del conector de acceso.

  2. Inicie sesión en el área de trabajo habilitada para el catálogo de Unity Azure Databricks como usuario que tenga el privilegio CREATE STORAGE CREDENTIAL.

    Los roles de administrador de metastore y administrador de cuentas incluyen este privilegio.

  3. En la barra lateral, haga clic en Icono de datos.Catálogo.

  4. Haga clic en Conectar>credenciales.

  5. Seleccione Crear credencial.

  6. Seleccione Credencial de almacenamiento.

  7. Seleccione un Credential Type de Azure Managed Identity.

  8. Escriba un nombre para la credencial y escriba el identificador de recurso del conector de acceso en el formato :

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  9. (Opcional) Si creó el conector de acceso mediante una identidad administrada asignada por el usuario, escriba el id. de recurso de la identidad administrada en el campo Id. de identidad administrada asignada por el usuario con el siguiente formato:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
    
  10. (Opcional) Si desea que los usuarios tengan acceso de solo lectura a las ubicaciones externas que usan esta credencial de almacenamiento, seleccione Solo lectura. Para obtener más información, consulte Marcar una credencial de almacenamiento como de solo lectura.

  11. Haga clic en Crear.

  12. (Opcional) Enlace la credencial de almacenamiento a áreas de trabajo específicas.

    De forma predeterminada, cualquier usuario con privilegios puede usar la credencial de almacenamiento en cualquier área de trabajo asociada al metastore. Si desea permitir el acceso solo desde áreas de trabajo específicas, vaya a la pestaña Áreas de trabajo y asigne áreas de trabajo. Consulte (Opcional) Asignación de una credencial de almacenamiento a áreas de trabajoespecíficas.

  13. Cree una ubicación externa que haga referencia a esta credencial de almacenamiento.

(Opcional) Asignación de una credencial de almacenamiento a áreas de trabajo específicas

De forma predeterminada, se puede acceder a una credencial de almacenamiento desde todas las áreas de trabajo del metastore. Esto significa que si a un usuario se le ha concedido un privilegio, tal como CREATE EXTERNAL LOCATION, en esa credencial de almacenamiento, pueden ejercer dicho privilegio desde cualquier área de trabajo asociadas al metastore. Si usa áreas de trabajo para aislar el acceso a datos de usuario, puede permitir el acceso a una credencial de almacenamiento solo desde áreas de trabajo específicas. Esta función se conoce como vinculación del espacio de trabajo o aislamiento de credenciales de almacenamiento.

Un caso de uso típico para enlazar una credencial de almacenamiento a áreas de trabajo específicas es el escenario en el que un administrador de la nube configura una credencial de almacenamiento mediante una credencial de cuenta de nube de producción y quiere asegurarse de que Azure Databricks los usuarios usen esta credencial para crear ubicaciones externas solo en el área de trabajo de producción.

Para obtener más información sobre el enlace del área de trabajo, vea (Opcional) Asignar una ubicación externa a áreas de trabajo específicas y Limitar el acceso de catálogo a áreas de trabajo específicas.

Nota:

Se hace referencia a las vinculaciones del área de trabajo al ejercer privilegios sobre las credenciales de almacenamiento. Por ejemplo, si un usuario crea una ubicación externa mediante una credencial de almacenamiento, el enlace del área de trabajo en la credencial de almacenamiento solo se comprueba cuando se crea la ubicación externa. Una vez creada la ubicación externa, funcionará independientemente de los enlaces del área de trabajo configurados en la credencial de almacenamiento.

Enlace de una credencial de almacenamiento a una o varias áreas de trabajo

Para asignar una credencial de almacenamiento a áreas de trabajo específicas, puede usar el Explorador de catálogos o la CLI de Databricks.

Permisos necesarios: administrador de metastore, propietario de credenciales de almacenamiento o MANAGE en la credencial de almacenamiento.

Nota:

Los administradores de metastore pueden ver todas las credenciales de almacenamiento en un metastore mediante el Explorador de catálogos y los propietarios de credenciales de almacenamiento pueden ver todas las credenciales de almacenamiento que poseen en un metastore, independientemente de si la credencial de almacenamiento está asignada al área de trabajo actual. Las credenciales de almacenamiento que no están asignadas al espacio de trabajo aparecen grisáceas.

Explorador de catálogo

  1. Inicie sesión en un área de trabajo vinculada al metastore.

  2. En la barra lateral, haga clic en Icono de datos.Catálogo.

  3. Haga clic en Conectar>credenciales.

  4. Seleccione la credencial de almacenamiento y vaya a la pestaña Espacios de trabajo.

  5. En la pestaña Áreas de trabajo, desactive la casilla Todas las áreas de trabajo tienen acceso.

    Si tu credencial de almacenamiento ya está vinculada a una o varias áreas de trabajo, esta casilla ya está desactivada.

  6. Haga clic en Asignar a áreas de trabajo y escriba o busque las áreas de trabajo que desea asignar.

Para revocar el acceso, vaya a la pestaña Áreas de trabajo, seleccione el área de trabajo y haga clic en Revocar. Para permitir el acceso desde todas las áreas de trabajo, active la casilla Todas las áreas de trabajo tienen acceso.

Interfaz de línea de comandos (CLI)

Hay dos grupos de comandos de la CLI de Databricks y dos pasos necesarios para asignar una credencial de almacenamiento a un espacio de trabajo.

En los ejemplos siguientes, reemplace <profile-name> por el nombre del perfil de configuración de autenticación de Azure Databricks. Debe incluir el valor de un token de acceso personal, el nombre de la instancia del área de trabajo y el identificador del área de trabajo donde generó el token de acceso personal. Consulte Autenticación de token de acceso personal (heredado).

  1. Use el comando del grupo storage-credentials de update para establecer las credenciales de almacenamiento de isolation mode a ISOLATED.

    databricks storage-credentials update <my-storage-credential> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    El valor predeterminado de isolation-mode es OPEN para todas las áreas de trabajo asociadas al metastore.

  2. Utiliza el comando workspace-bindings del grupo update-bindings para asignar los espacios de trabajo a la credencial de almacenamiento.

    databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    Use las propiedades "add" y "remove" para agregar o quitar enlaces de área de trabajo.

    Nota:

    La vinculación de solo lectura (BINDING_TYPE_READ_ONLY) no está disponible para las credenciales de almacenamiento. Por lo tanto, no hay ninguna razón para establecer binding_type para el enlace de credenciales de almacenamiento.

Para enumerar todas las asignaciones de área de trabajo de una credencial de almacenamiento, use el workspace-bindings comando del grupo de get-bindings comandos:

databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>

Desvincular una credencial de almacenamiento de un espacio de trabajo

Las instrucciones para revocar el acceso del área de trabajo a una credencial de almacenamiento mediante el Explorador de catálogos o el grupo de comandos de la CLI de workspace-bindings se incluyen en Enlazar una credencial de almacenamiento a una o varias áreas de trabajo.

Pasos siguientes