Настройка разрешения на доступ к данным
В этой статье описываются конфигурации доступа к данным, выполняемые администраторами Azure Databricks для всех хранилищ SQL с помощью пользовательского интерфейса.
Примечание.
Если рабочая область включена для каталога Unity, вам не нужно выполнять действия, описанные в этой статье. Каталог Unity поддерживает хранилища SQL по умолчанию.
Сведения о настройке всех хранилищ SQL с помощью REST API см. в разделе API хранилища SQL.
Важно!
Изменение этих параметров перезапускает все запущенные хранилища SQL.
Общие сведения о том, как включить доступ к данным, см. в обзоре управления доступом.
Примечание.
Databricks рекомендует использовать тома каталога Unity или внешние расположения для подключения к облачному хранилищу объектов вместо профилей экземпляров. Каталог Unity упрощает безопасность и управление данными, предоставляя централизованное место для администрирования и аудита доступа к данным в нескольких рабочих областях в вашей учетной записи. См. раздел "Что такое каталог Unity" и Рекомендации для использования внешних расположений.
Подготовка к работе
- Для настройки параметров для всех хранилищ SQL необходимо быть администратором рабочей области Azure Databricks.
Настройка субъекта-службы
Чтобы настроить доступ для хранилищ SQL к учетной записи хранения Azure Data Lake Storage 2-го поколения с помощью субъектов-служб, выполните следующие действия.
Зарегистрируйте приложение идентификатора Microsoft Entra и запишите следующие свойства:
- Идентификатор приложения (клиента): идентификатор, который однозначно идентифицирует приложение Идентификатора Microsoft Entra.
- Идентификатор каталога (клиента): идентификатор, который однозначно идентифицирует экземпляр идентификатора Microsoft Entra (называемый идентификатором каталога (клиента) в Azure Databricks.
- Секрет клиента: значение секрета клиента, созданного для этой регистрации приложения. Приложение будет использовать эту строку секрета для подтверждения своего удостоверения.
В учетной записи хранения добавьте назначение ролей для приложения, зарегистрированного на предыдущем шаге, чтобы предоставить ему доступ к учетной записи хранения.
Создайте область секрета с резервированием Azure Key Vault или область секрета с областью действия Databricks и запишите значение свойства имени области:
- Имя области: имя области созданного секрета.
При использовании Azure Key Vault перейдите в раздел "Секреты" и создайте новый секрет с любым именем. Используйте "секрет клиента", полученный в шаге 1, для заполнения поля значения этого секрета. Сохраните запись только что выбранного имени секрета.
- Имя секрета: имя созданного секрета Azure Key Vault.
При использовании области на основе Databricks создайте новый секрет с помощью интерфейса командной строки Databricks и сохраните секрет клиента, полученный в шаге 1. Сохраните запись секретного ключа, введенного на этом шаге.
- Секретный ключ: ключ созданного секрета на основе Databricks.
Примечание.
При необходимости можно создать дополнительный секрет для хранения идентификатора клиента, полученного в шаге 1.
Щелкните имя пользователя в верхней строке рабочей области и выберите Администратор Параметры в раскрывающемся списке.
Откройте вкладку Параметры хранилища SQL.
В поле "Конфигурация доступа к данным" нажмите кнопку Добавить субъект-службу.
Настройте свойства для учетной записи хранения Azure Data Lake Storage 2-го поколения.
Нажмите кнопку Добавить.
Вы увидите, что в текстовое поле "Конфигурация доступа к данным" были добавлены новые записи.
Щелкните Сохранить.
Примечание.
Вы также можете изменять записи текстового поля "Конфигурация доступа к данным" напрямую.
Важно!
Чтобы задать для свойства конфигурации значение секрета, не предоставляя Spark доступ к этому секрету, установите значение {{secrets/<secret-scope>/<secret-name>}}
. Замените <secret-scope>
на область секрета, а <secret-name>
— на имя секрета. Значение должно начинаться с {{secrets/ и заканчиваться на }}. Дополнительные сведения об этом синтаксисе см. в разделе Синтаксис для создания ссылок на секреты в свойстве конфигурации Spark или переменной среды.
Настройка свойств доступа к данным для хранилищ SQL
Чтобы настроить свойства доступа к данным для всех хранилищ, выполните следующие действия.
Щелкните имя пользователя в верхней строке рабочей области и выберите Администратор Параметры в раскрывающемся списке.
Откройте вкладку Параметры хранилища SQL.
В текстовом поле Конфигурация доступа к данным укажите пары "ключ-значение", содержащие свойства хранилища метаданных.
Важно!
Чтобы задать для свойства конфигурации Spark значение секрета, не предоставляя Spark доступ к этому секрету, установите значение
{{secrets/<secret-scope>/<secret-name>}}
. Замените<secret-scope>
на область секрета, а<secret-name>
— на имя секрета. Значение должно начинаться с{{secrets/
и заканчиваться на}}
. Дополнительные сведения об этом синтаксисе см. в разделе Синтаксис для создания ссылок на секреты в свойстве конфигурации Spark или переменной среды.Щелкните Сохранить.
Вы также можете настроить свойства доступа к данным с помощью поставщика Databricks Terraform и databricks_sql_global_config.
Поддерживаемые свойства
Хранилища SQL поддерживают перечисленные ниже свойства. Для записи, заканчивающейся на *
, поддерживаются все свойства в этом префиксе. Например, spark.sql.hive.metastore.*
указывает, что поддерживаются как spark.sql.hive.metastore.jars
, так и spark.sql.hive.metastore.version
, а также все другие свойства, начинающиеся с spark.sql.hive.metastore
.
Для свойств, значения которых содержат конфиденциальную информацию, эту информацию можно сохранить в секрете и присвоить свойству значение имени секрета с помощью следующей синтаксической конструкции: secrets/<secret-scope>/<secret-name>
.
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.