Области секретов

Управление секретами начинается с создания области секретов. Область секретов — это коллекция секретов, идентифицируемых по имени.

Рабочая область ограничена не более чем 1000 областями секретов. Если вам потребуется больше, обратитесь в службу поддержки Azure Databricks.

Примечание.

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

Обзор

Существует два типа областей секретов: на основе Azure Key Vault и на основе Databricks.

Области с поддержкой Azure Key Vault

Чтобы создать ссылку на секреты, хранящиеся в Azure Key Vault, можно создать область секретов с помощью Azure Key Vault. Затем можно использовать все секреты в соответствующем экземпляре Key Vault из этой области секретов. Так как область секрета, поддерживаемая Azure Key Vault, является интерфейсом только для чтения в Key Vault, PutSecret DeleteSecret операции API секретов не допускаются. Чтобы управлять секретами в Azure Key Vault, необходимо использовать REST API набора секретов Azure или пользовательский интерфейс портал Azure.

Области на основе Databricks

Область секретов на основе Databricks хранится (поддерживается) в зашифрованной базе, которой владеет и управляет Azure Databricks. Имя области секретов:

  • Должно быть уникальным в пределах рабочей области.
  • Должно состоять из буквенно-цифровых символов, дефисов, знаков подчеркивания, @ и точек, а его длина не должна превышать 128 символов.

Имена не считаются конфиденциальными значениями и доступны для чтения всем пользователям рабочей области.

Вы создаете область секрета, поддерживаемую Databricks, с помощью интерфейса командной строки Databricks (версия 0.205 и выше). Кроме того, можно использовать API секретов.

Разрешения области

Области создаются с разрешениями, управляемыми секретными списками управления доступом. По умолчанию области создаются с разрешением MANAGE для пользователя, создавшего область (создатель), которая позволяет создателю читать секреты в области, записывать секреты в область и изменять списки управления доступом для области. Если у вашей учетной записи есть план Premium, вы можете назначить детализированные разрешения в любое время после создания области. Дополнительные сведения см. в разделе "Секретные списки управления доступом".

Вы также можете переопределить значение по умолчанию и явно предоставить разрешение MANAGE всем пользователям при создании области. На самом деле это необходимо сделать, если у вашей учетной записи нет плана Premium.

Примечание.

Списки управления секретами находятся на уровне области. Если вы используете области, поддерживаемые Azure Key Vault, пользователи, которым предоставлен доступ к области, имеют доступ ко всем секретам в Azure Key Vault. Чтобы ограничить доступ, используйте отдельные экземпляры хранилища ключей Azure.

Создание области секретов на основе Azure Key Vault

В этом разделе описывается создание области секрета, поддерживаемой Azure Key Vault, с помощью портал Azure и пользовательского интерфейса рабочей области Azure Databricks. Вы также можете создать резервную область секрета Azure Key Vault с помощью интерфейса командной строки Databricks.

Требования

  • Необходимо иметь роль участника Key Vault, участника или владельца в экземпляре хранилища ключей Azure, который вы хотите использовать для резервного копирования области секрета.

    Если у вас нет экземпляра хранилища ключей, следуйте инструкциям в статье "Создание хранилища ключей" с помощью портал Azure.

    Примечание.

    Для создания области секрета, поддерживаемой Azure Key Vault, требуется роль участника или владельца в экземпляре хранилища ключей Azure, даже если служба Azure Databricks ранее была предоставлена доступ к хранилищу ключей.

    Если хранилище ключей существует в другом арендаторе, отличном от рабочей области Azure Databricks, пользователь Azure AD, создающий область секретов, должен иметь разрешение на создание субъектов-служб в арендаторе хранилища ключей. В противном случае возникнет следующая ошибка:

    Unable to grant read/list permission to Databricks service principal to KeyVault 'https://xxxxx.vault.azure.net/': Status code 403, {"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"XXXXX","date":"YYYY-MM-DDTHH:MM:SS"}}
    

Настройка экземпляра хранилища ключей Azure для Azure Databricks

  1. Войдите на портал Azure, найдите и выберите экземпляр хранилища ключей Azure.

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

  3. Задайте для модели разрешений политику доступа к Хранилищу.

    Примечание.

    Создание роли области секрета, поддерживаемой Azure Key Vault, предоставляет разрешения get and List идентификатору приложения для службы Azure Databricks с помощью политик доступа к хранилищу ключей. Модель разрешений управления доступом на основе ролей Azure в настоящее время не поддерживается в Azure Databricks.

  4. Выберите вкладку Сеть в разделе Параметры.

  5. В брандмауэрах и виртуальных сетях разрешить доступ: разрешить общедоступный доступ из определенных виртуальных сетей и IP-адресов.

    В разделе "Исключение" установите флажок разрешить доверенным службы Майкрософт, чтобы обойти этот брандмауэр.

    Примечание.

    Вы также можете задать разрешение доступа: разрешить общедоступный доступ из всех сетей.

Создание области секретов с поддержкой Azure Key Vault

  1. Переход к https://<databricks-instance>#secrets/createScope. Замените <databricks-instance> URL-адресом рабочей области для развертывания Azure Databricks. Этот URL-адрес учитывает регистр (область должна createScope быть в верхнем регистре).

    Создание области

  2. Введите имя области секретов. В именах областей секретов учитывается регистр.

  3. Используйте раскрывающийся список "Управление субъектом", чтобы указать, есть ли у всех пользователей разрешение MANAGE для этой области секрета или только создатель области секрета (то есть вы).

    Разрешение MANAGE позволяет пользователям читать и записывать данные в эту область секрета, а в случае учетных записей плана Premium изменять разрешения для области.

    Ваша учетная запись должна иметь план Premium, чтобы вы могли выбрать Creator. Это рекомендуемый подход: предоставьте автору разрешение MANAGE при создании области секрета, а затем назначьте более детализированные разрешения доступа после тестирования области. Пример рабочего процесса см. в разделе Пример рабочего процесса секрета.

    Если у вашей учетной записи есть стандартный план, необходимо задать разрешение MANAGE для группы "Все пользователи". Если вы выбрали здесь Автор, то при попытке сохранить область появится сообщение об ошибке.

    Дополнительные сведения о разрешении MANAGE см. в разделе "Секретные списки управления доступом".

  4. Введите DNS-имя (например, https://databrickskv.vault.azure.net/) и идентификатор ресурса, например:

    /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/databricks-rg/providers/Microsoft.KeyVault/vaults/databricksKV
    

    Эти свойства доступны на вкладке "Свойства параметров>" в Azure Key Vault в портал Azure.

  5. Нажмите кнопку Создать.

  6. Используйте команду CLI databricks secrets list-scopes Databricks, чтобы убедиться, что область создана успешно.

Создание области секрета, поддерживаемой Databricks

В именах областей секретов учитывается регистр.

Создание области с помощью интерфейса командной строки Databricks:

databricks secrets create-scope <scope-name>

По умолчанию области создаются с разрешением MANAGE для пользователя, создавшего область. Если у вашей учетной записи нет плана Premium, необходимо переопределить это значение по умолчанию и явно предоставить разрешение MANAGE "пользователям" (всем пользователям) при создании области:

databricks secrets create-scope <scope-name> --initial-manage-principal users

Вы также можете создать область секрета, поддерживаемую Databricks, с помощью API секретов.

Если у вашей учетной записи есть план Premium, вы можете изменить разрешения в любое время после создания области. Дополнительные сведения см. в разделе "Секретные списки управления доступом".

После создания области секрета на основе Databricks можно добавить секреты.

Получение списка областей секрета

Создание списка существующих областей в рабочей области с помощью интерфейса командной строки:

databricks secrets list-scopes

Вы также можете перечислить существующие области с помощью API секретов.

Удаление области секрета

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

databricks secrets delete-scope <scope-name>

Вы также можете удалить область секретов с помощью API секретов.