Области секретов
Управление секретами начинается с создания области секретов. Область секретов — это коллекция секретов, идентифицируемых по имени.
Рабочая область ограничена не более чем 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
Войдите на портал Azure, найдите и выберите экземпляр хранилища ключей Azure.
Выберите вкладку "Конфигурация доступа" в разделе "Параметры".
Задайте для модели разрешений политику доступа к Хранилищу.
Примечание.
Создание роли области секрета, поддерживаемой Azure Key Vault, предоставляет разрешения get and List идентификатору приложения для службы Azure Databricks с помощью политик доступа к хранилищу ключей. Модель разрешений управления доступом на основе ролей Azure в настоящее время не поддерживается в Azure Databricks.
Выберите вкладку Сеть в разделе Параметры.
В брандмауэрах и виртуальных сетях разрешить доступ: разрешить общедоступный доступ из определенных виртуальных сетей и IP-адресов.
В разделе "Исключение" установите флажок разрешить доверенным службы Майкрософт, чтобы обойти этот брандмауэр.
Примечание.
Вы также можете задать разрешение доступа: разрешить общедоступный доступ из всех сетей.
Создание области секретов с поддержкой Azure Key Vault
Переход к
https://<databricks-instance>#secrets/createScope
. Замените<databricks-instance>
URL-адресом рабочей области для развертывания Azure Databricks. Этот URL-адрес учитывает регистр (область должнаcreateScope
быть в верхнем регистре).Введите имя области секретов. В именах областей секретов учитывается регистр.
Используйте раскрывающийся список "Управление субъектом", чтобы указать, есть ли у всех пользователей разрешение MANAGE для этой области секрета или только создатель области секрета (то есть вы).
Разрешение MANAGE позволяет пользователям читать и записывать данные в эту область секрета, а в случае учетных записей плана Premium изменять разрешения для области.
Ваша учетная запись должна иметь план Premium, чтобы вы могли выбрать Creator. Это рекомендуемый подход: предоставьте автору разрешение MANAGE при создании области секрета, а затем назначьте более детализированные разрешения доступа после тестирования области. Пример рабочего процесса см. в разделе Пример рабочего процесса секрета.
Если у вашей учетной записи есть стандартный план, необходимо задать разрешение MANAGE для группы "Все пользователи". Если вы выбрали здесь Автор, то при попытке сохранить область появится сообщение об ошибке.
Дополнительные сведения о разрешении MANAGE см. в разделе "Секретные списки управления доступом".
Введите DNS-имя (например,
https://databrickskv.vault.azure.net/
) и идентификатор ресурса, например:/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/databricks-rg/providers/Microsoft.KeyVault/vaults/databricksKV
Эти свойства доступны на вкладке "Свойства параметров>" в Azure Key Vault в портал Azure.
Нажмите кнопку Создать.
Используйте команду 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 секретов.