Подтверждение компетенции
Область применения: только каталог Unity среды выполнения Databricks SQL Databricks
Каталог Unity и встроенное хранилище метаданных Azure Databricks Hive используют расположения по умолчанию для управляемых таблиц. Каталог Unity представляет несколько новых защищаемых объектов для предоставления привилегий внешним облачным службам и данным в облачном хранилище объектов.
-
Объект каталога Unity, используемый для абстрагирования долгосрочных учетных данных от поставщиков облачных служб и хранилищ.
Учетные данные хранилища
Учетные данные каталога Unity, используемые для доступа к внешним расположениям и таблицам.
Учетные данные службы
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
Учетные данные каталога Unity, используемые для доступа к внешним облачным службам с пакетами SDK поставщика. Дополнительные сведения см. в статье "Управление доступом к внешним облачным службам с помощью учетных данных службы".
-
Объект каталога Unity, используемый для связывания URI облачного хранилища объектов с учетными данными хранилища.
-
Таблица каталога Unity, созданная во внешнем расположении, управляемом каталогом Unity.
Подтверждение компетенции
Учетные данные — это защищаемый объект, представляющий управляемое удостоверение Azure или субъект-службу идентификатора Microsoft Entra ID.
После создания учетных данных доступ к нему можно предоставить субъектам (пользователям и группам).
Учетные данные хранения в основном используются для создания внешних расположений, в которых область доступа к определенному пути хранения.
Имена учетных данных не определены и должны быть уникальными в хранилище метаданных.
Графическое представление связей
На схеме ниже показана связь между следующими элементами:
- учетные данные хранилища;
- внешние расположения;
- внешних таблиц
- пути к хранилищу;
- сущности IAM;
- учетные записи службы Azure.
Примеры
С помощью 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';