Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Федерация токенов OAuth Databricks, также известная как OpenID Connect (OIDC), позволяет автоматизированным рабочим процессам, выполняющимся за пределами Databricks, безопасно обращаться к Databricks без необходимости хранения секретов Databricks. См. сведения о проверке подлинности доступа к Azure Databricks с помощью федерации токенов OAuth.
Чтобы включить федерацию удостоверений рабочей нагрузки для GitHub Actions:
После включения федерации удостоверений рабочей нагрузки пакеты SDK Databricks и CLI Databricks автоматически извлекают токены удостоверения рабочей нагрузки из GitHub и обменивают их на токены OAuth Databricks.
Создание политики федерации
Сначала создайте политику федерации удостоверений рабочей нагрузки. Инструкции см. в разделе "Настройка политики федерации субъекта-службы". Для GitHub задайте следующие значения политики:
-
Организация: Имя организации Github. Например, если url-адрес репозитория имеется
https://github.com/databricks-inc/data-platform, то организация .databricks-inc -
Хранилище: Имя одного репозитория, разрешающего, например
data-platform. -
Тип сущности: Тип сущности GitHub, представленной в
subутверждении (субъект) маркера. Значение по умолчанию — Branch. Databricks рекомендует использовать среду, которую можно включить, задавenvironmentатрибут в файле YAML GitHub Actions. См. статью "Развертывание в определенной среде". -
URL-адрес издателя:
https://token.actions.githubusercontent.com - Тема: Строка, сформированная путем объединения значений из контекста задания GitHub Actions.
- Аудитории: Databricks рекомендует задать этот параметр для идентификатора учетной записи Azure Databricks. Если опущено, идентификатор учетной записи используется по умолчанию.
-
Утверждение субъекта: (необязательно) Утверждение JWT, содержащее значение удостоверения рабочей нагрузки (
sub) из токена OIDC. Для GitHub оставьте поле какsubкодирование репозитория, ветви, тега, запроса на вытягивание или слияние или среды, активировавшей рабочий процесс.
Например, следующая команда Cli Databricks создает политику федерации для организации с именем my-org и числовым идентификатором 5581763342009999субъекта-службы Databricks:
databricks account service-principal-federation-policy create 5581763342009999 --json '{
"oidc_policy": {
"issuer": "https://token.actions.githubusercontent.com",
"audiences": [
"a2222dd9-33f6-455z-8888-999fbbd77900"
],
"subject": "repo:my-github-org/my-repo:environment:prod"
}
}'
Настройка YAML-файла GitHub Actions
Затем настройте YAML-файл GitHub Actions. Задайте следующие переменные среды:
-
DATABRICKS_AUTH_TYPE:github-oidc -
DATABRICKS_HOST: URL-адрес рабочей области Databricks -
DATABRICKS_CLIENT_ID: идентификатор субъекта-службы (приложения)
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: workflow_dispatch
permissions:
id-token: write
contents: read
jobs:
my_script_using_wif:
runs-on: ubuntu-latest
environment: prod
env:
DATABRICKS_AUTH_TYPE: github-oidc
DATABRICKS_HOST: https://my-workspace.cloud.databricks.com/
DATABRICKS_CLIENT_ID: a1b2c3d4-ee42-1eet-1337-f00b44r
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Databricks CLI
uses: databricks/setup-cli@main
- name: Run Databricks CLI commands
run: databricks current-user me