Поделиться через


Учетные данные хранилища

Область применения:check marked yes только каталог Unity среды выполненияcheck marked yesDatabricks SQL check marked yes Databricks

Каталог Unity и встроенное хранилище метаданных Azure Databricks Hive используют расположения по умолчанию для управляемых таблиц. Каталог Unity представляет несколько новых защищаемых объектов для предоставления разрешений на доступ к данным в облачном хранилище объектов.

Учетные данные хранилища

Учетные данные хранилища — это защищаемый объект, представляющий управляемое удостоверение Azure или субъект-службу идентификатора Microsoft Entra.

Когда учетные данные хранилища будут созданы, их можно предоставить субъектам (пользователям и группам).

служба хранилища учетные данные в основном используются для создания внешних расположений, которые область доступ к определенному пути хранения.

Имена учетных данных службы хранилища являются неполными и должны быть уникальными в пределах хранилища метаданных.

Графическое представление связей

На схеме ниже показана связь между следующими элементами:

  • учетные данные хранилища;
  • внешние расположения;
  • внешних таблиц
  • пути к хранилищу;
  • сущности IAM;
  • учетные записи службы Azure.

External location ER diagram

Примеры

С помощью CLI создайте учетные данные my_azure_storage_cred хранения для субъекта-службы Идентификатора Microsoft Entra.

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"}}'

Остальные команды можно выполнить в 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';