Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Федерация токенов OAuth Databricks, также известная как OpenID Connect (OIDC), позволяет автоматизированным рабочим процессам, выполняющимся за пределами Databricks, безопасно обращаться к Databricks без необходимости хранения секретов Databricks. См. сведения о проверке подлинности доступа к Azure Databricks с помощью федерации токенов OAuth.
Чтобы включить федерацию удостоверений рабочей нагрузки для Azure DevOps Pipelines, выполните следующие шаги.
После включения федерации удостоверений рабочей нагрузки пакеты SDK Databricks и интерфейс командной строки Databricks автоматически извлекают токены удостоверения рабочей нагрузки из Azure DevOps Pipelines и обменивают их на токены OAuth Databricks.
Создание политики федерации
Сначала создайте настраиваемую политику федерации идентичности нагрузки. Инструкции см. в разделе "Настройка политики федерации субъекта-службы". Для Azure DevOps задайте следующие значения для политики:
-
URL-адрес издателя:
https://vstoken.dev.azure.com/<org_id>, где<org-id>— это GUID вашей организации Azure DevOps -
Аудитории:
api://AzureADTokenExchange -
Тема:
p://<org-name>/<project-name>/<pipeline-name>где<org-name>имя вашей организации Azure DevOps—<project-name>это имя проекта Azure DevOps и<pipeline-name>имя конвейера Azure DevOps.
Например, следующая команда CLI Databricks создает политику федерации для идентификатора организации 7f1078d6-b20d-4a20-9d88-05a2f0d645a3 и числового идентификатора субъекта-службы Databricks 5581763342009999.
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://vstoken.dev.azure.com/7f1078d6-b20d-4a20-9d88-05a2f0d645a3",
"audiences": [
"api://AzureADTokenExchange"
],
"subject": "p://my-org/my-project/my-pipeline"
}
}
'
Настройка YAML конвейера Azure DevOps
Затем настройте YAML-файл Azure DevOps Pipeline. Задайте следующие переменные среды:
-
DATABRICKS_AUTH_TYPE:azure-devops-oidc -
DATABRICKS_HOST: URL-адрес рабочей области Databricks -
DATABRICKS_CLIENT_ID: идентификатор субъекта-службы (приложения) -
SYSTEM_ACCESSTOKEN: сопоставьте переменную конвейера$(System.AccessToken)с этой переменной среды
trigger: none
pool: test # my self-hosted pool name
variables:
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_AUTH_TYPE: azure-devops-oidc
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r
steps:
- script: |
databricks current-user me
displayName: 'Display Databricks current user information'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)