Ситуация:
Я хочу выпустить Databricks Workspace, Cluster, Jobs и Notebooks.
Все работает через VS Code и AZ Login. Когда я запускаю Azure Devops Pipeline, я получаю сообщение об ошибке ниже.
Error: cannot read job: User *** does not have Admin or Manage Run or Owner or View permissions on job 419617767162993
│
│ with databricks_job.this,
│ on **job.tf** line 1, in resource "databricks_job" "this":
│ 1: resource "databricks_job" "this" {
Error: cannot read group member: /2.0/preview/scim/v2/Groups/576792616350882 is only accessible by admins.
╷
│ Error: cannot read service principal: /2.0/preview/scim/v2/ServicePrincipals/3879246038660033 is only accessible by admins.
╷
│ Error: cannot read job: default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method
YAML-шаг:
- task: AzureCLI@2
displayName: 'tf plan '
inputs:
azureSubscription: '${{ variables.backendServiceArm }}'
scriptType: bash
scriptLocation: inlineScript
inlineScript: 'terraform plan -lock=false -out notebooks.state.plan'
# scriptArguments: "-out notebooks.state.plan"
workingDirectory: '$(System.DefaultWorkingDirectory)/terraform/'
addSpnToEnvironment: true
job.tf
resource "databricks_job" "this" {
# provider = databricks.etl_workspace_provider <-- tried both on/off
Метод проб и ошибок: Я пробовал много вещей, создавая:
Проще говоря, я хочу, чтобы мой конвейер работал без ошибок, и я не хочу использовать каталог Unity или какие-либо вещи SCIM.
Когда вы используете субъект-службу в качестве авторизации для развертывания Azure Databricks Workspace, Cluster, Jobs и Notebooks, вам необходимо проверить следующие разрешения субъекта-службы:
Сначала найдите субъект-службу подключения к службе ARM (Подключение к службе Azure Resource Manager), используемый задачей AzureCLI@2
в вашем конвейере. В проекте Azure DevOps перейдите в «Настройки проекта» > «Подключения к службам», найдите и щелкните подключение к службе ARM, чтобы открыть его «Overview
». Нажмите «Manage Service Principal
», чтобы открыть связанный субъект-службу на портале Azure. Запомните имя (Display name
) и идентификатор (Application (client) ID
) субъекта-службы.
Убедитесь, что субъект-служба имеет роль Contributor
хотя бы в подписке Azure.
Чтобы управлять ресурсами и параметрами в рабочей области Azure Databricks с помощью субъекта-службы, вам также необходимо добавить субъект-службу в группу admins
в рабочей области.
Откройте страницу настроек администратора рабочей области.
Добавьте субъекта службы в рабочую область.
Добавьте принципала службы в группу admins
в рабочей области.
Бум. Группа администраторов отсутствует!