Compartir a través de


Credenciales

Se aplica a: casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime casilla marcada como Sí solo Unity Catalog

Unity Catalog y el metastore de Hive de Azure Databricks integrado usan ubicaciones predeterminadas para las tablas administradas. Catálogo de Unity presenta varios nuevos objetos protegibles para conceder privilegios a servicios en la nube externos y datos en el almacenamiento de objetos en la nube.

Credential:

Una credencial es un objeto protegible que representa una identidad administrada de Azure o una entidad de servicio de Microsoft Entra ID.

Una vez creada una credencial, se puede conceder acceso a las entidades de seguridad (usuarios y grupos).

Las credenciales de almacenamiento se usan principalmente para crear ubicaciones externas, que limitan el ámbito del acceso a una ruta de acceso de almacenamiento específica.

Los nombres de credenciales no están calificados y deben ser únicos dentro del metastore.

Representación gráfica de relaciones

En el diagrama siguiente se describe la relación entre:

  • credenciales de almacenamiento
  • ubicaciones externas
  • tablas externas
  • rutas de acceso de almacenamiento
  • entidades IAM
  • cuentas de servicio de Azure

Diagrama ER de ubicación externa

Ejemplos

Con la CLI, cree una credencial de almacenamiento my_azure_storage_cred para una entidad de servicio de Microsoft Entra ID.

databricks storage-credentials create --json '{"name": "my_azure_storage_cred", "azure_service_principal": {"directory_id": "12345678-9abc-def0-1234-56789abcdef0", "application_id": "23456789-9abc-def0-1234-56789abcdef0", "client_secret": "Cli3nt5ecr3t"}}'

El resto de los comandos se pueden ejecutar en SQL.

-- Grant access to the storage credential
> GRANT READ FILES ON STORAGE CREDENTIAL my_azure_storage_cred TO ceo;

-- ceo can directly read from any storage path using myazure_storage_cred
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/finance/forecast/somefile` WITH (CREDENTIAL my_azure_storage_cred);
  100
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/hr/employees` WITH (CREDENTIAL my_azure_storage_cred);
  2017

-- Create an external location on specific path to which `my_azure_storage_cred` has access
> CREATE EXTERNAL LOCATION finance_loc URL 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance'
    WITH (CREDENTIAL my_azure_storage_cred)
    COMMENT 'finance';