Настройка разрешения на доступ к данным

В этой статье описываются конфигурации доступа к данным, выполняемые администраторами 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-го поколения с помощью субъектов-служб, выполните следующие действия.

  1. Зарегистрируйте приложение идентификатора Microsoft Entra и запишите следующие свойства:

    • Идентификатор приложения (клиента): идентификатор, который однозначно идентифицирует приложение Идентификатора Microsoft Entra.
    • Идентификатор каталога (клиента): идентификатор, который однозначно идентифицирует экземпляр идентификатора Microsoft Entra (называемый идентификатором каталога (клиента) в Azure Databricks.
    • Секрет клиента: значение секрета клиента, созданного для этой регистрации приложения. Приложение будет использовать эту строку секрета для подтверждения своего удостоверения.
  2. В учетной записи хранения добавьте назначение ролей для приложения, зарегистрированного на предыдущем шаге, чтобы предоставить ему доступ к учетной записи хранения.

  3. Создайте область секрета с резервированием Azure Key Vault или область секрета с областью действия Databricks и запишите значение свойства имени области:

    • Имя области: имя области созданного секрета.
  4. При использовании Azure Key Vault перейдите в раздел "Секреты" и создайте новый секрет с любым именем. Используйте "секрет клиента", полученный в шаге 1, для заполнения поля значения этого секрета. Сохраните запись только что выбранного имени секрета.

    • Имя секрета: имя созданного секрета Azure Key Vault.
  5. При использовании области на основе Databricks создайте новый секрет с помощью интерфейса командной строки Databricks и сохраните секрет клиента, полученный в шаге 1. Сохраните запись секретного ключа, введенного на этом шаге.

    • Секретный ключ: ключ созданного секрета на основе Databricks.

    Примечание.

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

  6. Щелкните имя пользователя в верхней строке рабочей области и выберите Администратор Параметры в раскрывающемся списке.

  7. Откройте вкладку Параметры хранилища SQL.

  8. В поле "Конфигурация доступа к данным" нажмите кнопку Добавить субъект-службу.

  9. Настройте свойства для учетной записи хранения Azure Data Lake Storage 2-го поколения.

  10. Нажмите кнопку Добавить.

    ADLS2 storage account

    Вы увидите, что в текстовое поле "Конфигурация доступа к данным" были добавлены новые записи.

  11. Щелкните Сохранить.

Примечание.

Вы также можете изменять записи текстового поля "Конфигурация доступа к данным" напрямую.

Важно!

Чтобы задать для свойства конфигурации значение секрета, не предоставляя Spark доступ к этому секрету, установите значение {{secrets/<secret-scope>/<secret-name>}}. Замените <secret-scope> на область секрета, а <secret-name> — на имя секрета. Значение должно начинаться с {{secrets/ и заканчиваться на }}. Дополнительные сведения об этом синтаксисе см. в разделе Синтаксис для создания ссылок на секреты в свойстве конфигурации Spark или переменной среды.

Настройка свойств доступа к данным для хранилищ SQL

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

  1. Щелкните имя пользователя в верхней строке рабочей области и выберите Администратор Параметры в раскрывающемся списке.

  2. Откройте вкладку Параметры хранилища SQL.

  3. В текстовом поле Конфигурация доступа к данным укажите пары "ключ-значение", содержащие свойства хранилища метаданных.

    Важно!

    Чтобы задать для свойства конфигурации Spark значение секрета, не предоставляя Spark доступ к этому секрету, установите значение {{secrets/<secret-scope>/<secret-name>}}. Замените <secret-scope> на область секрета, а <secret-name> — на имя секрета. Значение должно начинаться с {{secrets/ и заканчиваться на }}. Дополнительные сведения об этом синтаксисе см. в разделе Синтаксис для создания ссылок на секреты в свойстве конфигурации Spark или переменной среды.

  4. Щелкните Сохранить.

Вы также можете настроить свойства доступа к данным с помощью поставщика 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.