Проблемы доступа к конвейеру выпуска Azure Databricks

Ситуация:

Я хочу выпустить 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

Метод проб и ошибок: Я пробовал много вещей, создавая:

  • новый кластер заданий/повторное использование существующих кластеров.
  • добавление/удаление провайдера
  • добавил azure devops sp в кластер от имени администратора и отметил все разрешения.

Проще говоря, я хочу, чтобы мой конвейер работал без ошибок, и я не хочу использовать каталог Unity или какие-либо вещи SCIM.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
363
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Когда вы используете субъект-службу в качестве авторизации для развертывания Azure Databricks Workspace, Cluster, Jobs и Notebooks, вам необходимо проверить следующие разрешения субъекта-службы:

  1. Сначала найдите субъект-службу подключения к службе ARM (Подключение к службе Azure Resource Manager), используемый задачей AzureCLI@2 в вашем конвейере. В проекте Azure DevOps перейдите в «Настройки проекта» > «Подключения к службам», найдите и щелкните подключение к службе ARM, чтобы открыть его «Overview». Нажмите «Manage Service Principal», чтобы открыть связанный субъект-службу на портале Azure. Запомните имя (Display name) и идентификатор (Application (client) ID) субъекта-службы.

  2. Убедитесь, что субъект-служба имеет роль Contributor хотя бы в подписке Azure.

  3. Чтобы управлять ресурсами и параметрами в рабочей области Azure Databricks с помощью субъекта-службы, вам также необходимо добавить субъект-службу в группу admins в рабочей области.

    • Откройте страницу настроек администратора рабочей области.

    • Добавьте субъекта службы в рабочую область.

    • Добавьте принципала службы в группу admins в рабочей области.


Бум. Группа администраторов отсутствует!

BI Dude 27.02.2024 10:07

Другие вопросы по теме