Конфигурации доступа к данным
В этой статье описываются параметры доступа к данным, доступные для хранилищ SQL рабочей области.
Примечание.
Databricks рекомендует использовать тома Unity Catalog или внешние ресурсы для подключения к облачному хранилищу объектов. Каталог Unity упрощает безопасность и управление данными, предоставляя централизованное место для администрирования и аудита доступа к данным в нескольких рабочих областях в вашей учетной записи. См. статью Что такое Unity Catalog? и рекомендации по использованию внешних местоположений.
Внимание
Изменение этих параметров перезапускает все запущенные хранилища SQL.
Требования
- Для настройки этих параметров необходимо быть администратором рабочей области Azure Databricks.
Настройка сервисного принципала
Чтобы настроить доступ SQL-складов к учетной записи хранения Azure Data Lake с помощью сервисных принципалов, выполните следующие шаги.
Зарегистрируйте приложение Microsoft Entra ID (ранее Azure Active Directory) и запишите следующие свойства:
- Идентификатор приложения (клиента): идентификатор, который однозначно идентифицирует приложение Идентификатора Microsoft Entra.
- Идентификатор каталога (клиента): идентификатор, который однозначно идентифицирует экземпляр идентификатора Microsoft Entra (называемый идентификатором каталога (клиента) в Azure Databricks.
- Секрет клиента: значение секрета клиента, созданного для этой регистрации приложения. Приложение будет использовать эту секретную строку для подтверждения своей личности.
В учетной записи хранения добавьте назначение ролей для приложения, зарегистрированного на предыдущем шаге, чтобы предоставить ему доступ к учетной записи хранения.
Создайте область секрета с поддержкой Azure Key Vault или Databricks, см. статью "Управление областями секретов" и запишите значение свойства имени области:
- Имя области: имя области созданного секрета.
При использовании Azure Key Vault создайте секрет в Azure Key Vault, используя секрет клиента в поле "Значение". Чтобы увидеть пример, см. Шаг 4: Добавление секрета клиента в Azure Key Vault. Сохраните запись секретного имени, которое вы выбрали.
- Имя секрета: имя созданного секрета Azure Key Vault.
При использовании области, поддерживаемой Databricks, создайте новый секрет с помощью Databricks CLI и используйте его для хранения клиентского секрета, полученного на шаге 1. Сохраните запись секретного ключа, введенного на этом шаге.
- Секретный ключ: ключ созданного секрета на основе Databricks.
Примечание.
При необходимости можно создать дополнительный секрет для хранения идентификатора клиента, полученного на шаге 1.
Щелкните имя пользователя в верхней строке рабочей области и выберите Параметры в раскрывающемся списке.
Перейдите на вкладку "Вычисления ".
Щелкните Управление рядом с SQL-хранилищами.
В поле "Конфигурация доступа к данным" нажмите кнопку Add Service Principal.
Настройте свойства для учетной записи хранения Azure Data Lake Storage.
Нажмите кнопку Добавить.
Вы увидите, что в текстовое поле "Конфигурация доступа к данным" были добавлены новые записи.
Нажмите кнопку Сохранить.
Вы также можете изменять записи текстового поля "Конфигурация доступа к данным" напрямую.
Настройка свойств доступа к данным для хранилищ SQL
Чтобы настроить свойства доступа к данным для всех хранилищ, выполните следующие действия.
Щелкните имя пользователя в верхней строке рабочей области и выберите Параметры в раскрывающемся списке.
Перейдите на вкладку "Вычисления ".
Щелкните Управление рядом с SQL-хранилищами.
В текстовом поле Конфигурация доступа к данным укажите пары "ключ-значение", содержащие свойства хранилища метаданных.
Внимание
Чтобы задать для свойства конфигурации Spark значение секрета без предоставления значения секрета Spark, задайте значение
{{secrets/<secret-scope>/<secret-name>}}
. Замените<secret-scope>
на область секрета, а<secret-name>
— на имя секрета. Значение должно начинаться с{{secrets/
и заканчиваться на}}
. Дополнительные сведения об этом синтаксисе см. в разделе "Управление секретами".Нажмите кнопку Сохранить.
Вы также можете настроить свойства доступа к данным с помощью поставщика Databricks Terraform и databricks_sql_global_config.
Поддерживаемые свойства
Для записи, заканчивающейся на
*
, поддерживаются все свойства в этом префиксе.Например,
spark.sql.hive.metastore.*
указывает, что поддерживаются иspark.sql.hive.metastore.jars
, иspark.sql.hive.metastore.version
, а также любые другие свойства, начинающиеся сspark.sql.hive.metastore
.Для свойств, значения которых содержат конфиденциальную информацию, можно хранить конфиденциальную информацию в секрете и задать для свойства имя секрета с помощью следующего синтаксиса:
secrets/<secret-scope>/<secret-name>
.
Для хранилищ SQL поддерживаются следующие свойства:
spark.sql.hive.metastore.*
spark.sql.warehouse.dir
spark.hadoop.datanucleus.*
spark.hadoop.fs.*
spark.hadoop.hive.*
spark.hadoop.javax.jdo.option.*
spark.hive.*
Дополнительные сведения о настройке этих свойств см. в разделе внешнее хранилище метаданных Hive.