Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Федерация токенов 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