Настройка доступа к данным

В этой статье описаны параметры доступа к данным, которые могут настроить администраторы Azure Databricks для всех хранилищ SQL (ранее они назывались конечными точками SQL) с помощью пользовательского интерфейса.

Использование REST API для настройки хранилищ SQL описано в разделе Глобальный API хранилищ SQL.

Важно!

Изменение этих параметров перезапускает все запущенные хранилища SQL.

Общие сведения о том, как обеспечить доступ к данным, см. в разделе Общие сведения о модели безопасности и доступе к данным в Databricks SQL.

Требования

Для настройки параметров всех хранилищ SQL требуется роль администратора Azure Databricks.

Настройка субъекта-службы

Чтобы настроить доступ для хранилищ SQL к учетной записи хранения Azure Data Lake Storage 2-го поколения с помощью субъектов-служб, выполните следующие действия.

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

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

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

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

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

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

    Примечание

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

  6. Щелкните User Settings IconНастройки в нижней части боковой панели и выберите Консоль администратора SQL.

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

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

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

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

    Учетная запись хранения ADLS2

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

  11. Выберите команду Сохранить.

Примечание

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

Важно!

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

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

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

  1. Щелкните User Settings IconНастройки в нижней части боковой панели и выберите Консоль администратора SQL.

  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.