Поделиться через


Настройка и использование проверки подлинности управляемых удостоверений Azure для автоматизации Azure Databricks

Следуйте инструкциям из этой статьи, чтобы проверить подлинность управляемых удостоверений для ресурсов Azure (ранее управляемых удостоверений служб (MSI)), чтобы автоматизировать учетные записи и рабочие области Azure Databricks.

Azure автоматически управляет удостоверениями в идентификаторе Microsoft Entra (прежнее название — Azure Active Directory) для приложений, используемых при подключении к ресурсам, поддерживающим проверку подлинности Идентификатора Microsoft Entra. К этим ресурсам относятся учетные записи и рабочие области Azure Databricks. Проверка подлинности управляемых удостоверений Azure для Azure Databricks использует управляемые удостоверения для получения маркеров идентификатора Microsoft Entra без необходимости управлять учетными данными.

Примечание.

Управляемые удостоверения для ресурсов Azure отличаются от управляемых субъектов-служб Microsoft Entra ID, которые тоже поддерживаются Azure Databricks для проверки подлинности. Сведения об использовании управляемых субъектов-служб Microsoft Entra ID для проверки подлинности Azure Databricks вместо управляемых удостоверений для ресурсов Azure см. в следующих статье:

В этой статье показано, как настроить и использовать проверку подлинности управляемых удостоверений Azure следующим образом:

  • Создайте управляемое удостоверение, назначаемое пользователем. поддержка Azure назначаемые системой и назначаемые пользователем управляемые удостоверения. Databricks рекомендует использовать назначаемые пользователем управляемые удостоверения для проверки подлинности управляемых удостоверений Azure с помощью Azure Databricks.
  • Назначьте управляемое удостоверение учетной записи Azure Databricks и рабочей области Azure Databricks в этой учетной записи.
  • Создание и вход в виртуальную машину Azure (виртуальная машина Azure). Необходимо использовать ресурс, поддерживающий управляемые удостоверения, такие как виртуальная машина Azure, с управляемым удостоверением, назначенным этой виртуальной машине Azure, для программного вызова учетных записей Azure Databricks и операций рабочей области.
  • Назначьте управляемое удостоверение, назначаемое пользователем, виртуальной машине Azure.
  • Установите интерфейс командной строки Databricks на виртуальной машине Azure, а затем настройте интерфейс командной строки Databricks для проверки подлинности управляемых удостоверений Azure Databricks с помощью назначенного управляемого удостоверения.
  • Выполните команды с помощью интерфейса командной строки Databricks, чтобы автоматизировать учетную запись Azure Databricks и рабочую область с помощью проверки подлинности управляемых удостоверений Azure для Azure Databricks с назначенным управляемым удостоверением.

Требования

Шаг 1. Создание управляемого удостоверения, назначаемого пользователем

На этом шаге вы создадите управляемое удостоверение, назначаемое пользователем для ресурсов Azure. поддержка Azure назначаемые системой и назначаемые пользователем управляемые удостоверения. Databricks рекомендует использовать назначаемые пользователем управляемые удостоверения для проверки подлинности управляемых удостоверений Azure с помощью Azure Databricks. См. также статью "Управление управляемыми удостоверениями, назначаемыми пользователем".

  1. Войдите на портал Azure.

    Примечание.

    Используемый портал отличается в зависимости от того, используете ли вы общедоступное облако Azure или национальное или независимое облако. Дополнительные сведения см. на странице национальных облаков.

  2. Если у вас есть доступ к нескольким клиентам, подпискам или каталогам, щелкните значок шестеренки (Параметры) в верхнем меню, чтобы перейти в каталог, в котором нужно создать управляемое удостоверение.

  3. В ресурсах, службах и документах поиска найдите и выберите службу Azure с именем Управляемые удостоверения.

  4. Нажмите кнопку + Создать.

  5. На вкладке "Основы " для группы ресурсов выберите существующую группу ресурсов, чтобы добавить это управляемое удостоверение, или нажмите кнопку "Создать" , чтобы создать новую группу ресурсов, чтобы добавить это управляемое удостоверение. Сведения о группах ресурсов см. в статье "Управление группами ресурсов Azure" с помощью портал Azure.

  6. Для региона выберите соответствующий регион, чтобы добавить это управляемое удостоверение. Сведения о регионах см. в разделе "Выбор подходящего региона Azure".

  7. В поле "Имя" введите уникальное имя для этого управляемого удостоверения, которое легко запомнить.

  8. На странице Отзыв и создание щелкните Создать.

  9. Щелкните Перейти к ресурсу.

  10. Скопируйте значение поля идентификатора клиента, так как он понадобится позже для шагов 2, 3 и 8:

    Если вы забыли скопировать это значение, вы можете вернуться на страницу обзора управляемого удостоверения позже, чтобы получить это значение. Чтобы вернуться на страницу обзора управляемого удостоверения, в ресурсах поиска, службах и документах, найдите и выберите имя управляемого удостоверения. Затем на странице параметров управляемого удостоверения щелкните " Обзор " на боковой панели.

Шаг 2. Назначение управляемого удостоверения учетной записи Azure Databricks

На этом шаге вы предоставляете управляемому удостоверению доступ к учетной записи Azure Databricks. Если вы не хотите предоставить управляемому удостоверению доступ к учетной записи Azure Databricks, перейдите к шагу 3.

  1. В рабочей области Azure Databricks щелкните имя пользователя в верхней строке и нажмите кнопку "Управление учетной записью".

    Кроме того, перейдите непосредственно в консоль учетной записи Azure Databricks.https://accounts.azuredatabricks.net

  2. При появлении запроса войдите в учетную запись Azure Databricks.

  3. На боковой панели щелкните " Управление пользователями".

  4. Перейдите на вкладку "Субъекты-службы ".

    Примечание.

    Хотя эта вкладка помечена субъектами-службами, эта вкладка также работает с управляемыми удостоверениями. Azure Databricks обрабатывает управляемые удостоверения как субъекты-службы в учетной записи Azure Databricks.

  5. Нажмите кнопку "Добавить субъект-службу".

  6. Введите уникальное имя субъекта-службы, которое легко запомнить.

  7. В поле UUID введите значение идентификатора клиента для управляемого удостоверения из шага 1.

  8. Нажмите кнопку Добавить. Управляемое удостоверение добавляется в качестве субъекта-службы в учетной записи Azure Databricks.

  9. Назначьте все разрешения на уровне учетной записи, которые требуется иметь субъект-служба:

    1. На вкладке "Субъекты-службы" щелкните имя субъекта-службы.
    2. На вкладке "Роли" установите переключатель, чтобы включить или отключить каждую целевую роль, которую должен иметь этот субъект-служба.
    3. На вкладке "Разрешения" предоставьте доступ ко всем пользователям Azure Databricks, субъектам-службам и ролям группы учетных записей, которым требуется управлять и использовать этот субъект-службу. См. статью "Управление ролями" в субъекте-службе.

Шаг 3. Назначение управляемого удостоверения рабочей области Azure Databricks

На этом шаге вы предоставляете управляемому удостоверению доступ к рабочей области Azure Databricks.

Если рабочая область включена для федерации удостоверений:

  1. В рабочей области Azure Databricks щелкните имя пользователя в верхней строке и щелкните Параметры.

  2. Щелкните субъекты-службы.

    Примечание.

    Хотя эта вкладка помечена субъектами-службами, эта вкладка также работает с управляемыми удостоверениями. Azure Databricks обрабатывает управляемые удостоверения как субъекты-службы в учетной записи Azure Databricks.

  3. Нажмите кнопку "Добавить субъект-службу".

  4. Выберите субъект-службу на шаге 2 и нажмите кнопку "Добавить". Субъект-служба добавляется в качестве субъекта-службы в рабочей области Azure Databricks.

  5. Назначьте все разрешения на уровне рабочей области, необходимые субъекту-службе:

    1. На вкладке "Субъекты-службы" щелкните имя субъекта-службы.
    2. На вкладке "Конфигурации" выберите или снимите флажок, чтобы предоставить или отозвать каждое целевое состояние или право, которое должен иметь этот субъект-служба.
    3. На вкладке "Разрешения" предоставьте доступ ко всем пользователям Azure Databricks, субъектам-службам и ролям группы учетных записей, которым требуется управлять и использовать этот субъект-службу. См. статью "Управление ролями" в субъекте-службе.

Перейдите к шагу 4.

Если рабочая область не включена для федерации удостоверений:

  1. В рабочей области Azure Databricks щелкните имя пользователя в верхней строке и щелкните Параметры.

  2. Щелкните субъекты-службы.

    Примечание.

    Хотя эта вкладка помечена субъектами-службами, эта вкладка также работает с управляемыми удостоверениями. Azure Databricks обрабатывает управляемые удостоверения как субъекты-службы в рабочей области Azure Databricks.

  3. Нажмите кнопку "Добавить субъект-службу".

  4. В списке субъектов-служб выберите "Добавить новый субъект-службу".

  5. Для ApplicationId введите идентификатор клиента для управляемого удостоверения с шага 1.

  6. Введите некоторое отображаемое имя , которое легко запомнить для нового субъекта-службы и нажмите кнопку "Добавить". Управляемое удостоверение добавляется в качестве субъекта-службы в рабочей области Azure Databricks.

  7. Назначьте все разрешения на уровне рабочей области, необходимые субъекту-службе:

    1. На вкладке "Субъекты-службы" щелкните имя субъекта-службы.
    2. На вкладке "Конфигурации" выберите или снимите флажок, чтобы предоставить или отозвать каждое целевое состояние или право, которое должен иметь этот субъект-служба.
    3. На вкладке "Разрешения" предоставьте доступ ко всем пользователям Azure Databricks, субъектам-службам и ролям группы учетных записей, которым требуется управлять и использовать этот субъект-службу. См. статью "Управление ролями" в субъекте-службе.

Шаг 4. Получение идентификатора ресурса Azure для рабочей области Azure Databricks

На этом шаге вы получите идентификатор ресурса, который Azure назначает рабочей области Azure Databricks. Этот идентификатор ресурса Azure понадобится позже для проверки подлинности управляемых удостоверений Azure, чтобы определить конкретный ресурс Azure, связанный с рабочей областью Azure Databricks.

  1. В рабочей области Azure Databricks щелкните имя пользователя в верхней строке и щелкните портал Azure.

  2. На боковой панели в разделе Параметры щелкните "Свойства".

  3. В разделе Essentials скопируйте значение идентификатора, так как вам потребуется позже на шаге 8. Это должно выглядеть следующим образом:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Databricks/workspaces/<workspace-id>
    

Шаг 5. Создание и вход на виртуальную машину Azure

На этом шаге вы создадите и войдете в виртуальную машину Azure (виртуальную машину Azure). Виртуальные машины Azure — это один из типов ресурсов, поддерживающих управляемые удостоверения. См. также краткое руководство. Создание виртуальной машины Linux в портал Azure.

Эта виртуальная машина Azure предназначена только для демонстрационных целей. Эта виртуальная машина Azure использует параметры, которые не обязательно оптимизированы для текущих потребностей в использовании. После завершения эксперимента с этой виртуальной машиной Azure удалите ее, как показано далее на шаге 11.

  1. В портал Azure, вошедшего в шаге 1, в ресурсах поиска, службах и документах, найдите и выберите службу Azure с именем "Виртуальные машины".

  2. Нажмите кнопку "+ Создать > виртуальную машину Azure".

  3. На вкладке "Основные сведения " выберите существующую группу ресурсов, чтобы добавить эту виртуальную машину Azure, или нажмите кнопку "Создать" , чтобы создать новую группу ресурсов, чтобы добавить эту виртуальную машину Azure. Сведения о группах ресурсов см. в статье "Управление группами ресурсов Azure" с помощью портал Azure.

  4. В поле "Имя виртуальной машины" введите уникальное имя для этой виртуальной машины Azure, которую можно помнить.

  5. Для региона выберите соответствующий регион, чтобы добавить эту виртуальную машину Azure. Сведения о регионах см. в разделе "Выбор подходящего региона Azure".

  6. Для образа выберите Ubuntu Server 22.04 LTS — x64-го поколения 2-го поколения.

  7. Для параметра Тип проверки подлинности выберите значение Открытый ключ SSH.

  8. В качестве имени пользователя введите azureuser.

  9. Для источника открытого ключа SSH оставьте значение по умолчанию для создания пары ключей.

  10. Введите myKeyимя пары ключей.

  11. Для общедоступных входящих портов выберите "Разрешить выбранные порты".

  12. Для выбора входящих портов выберите HTTP (80) и SSH (22).

  13. Оставьте оставшиеся значения по умолчанию.

  14. На странице Отзыв и создание щелкните Создать.

  15. Нажмите кнопку "Скачать закрытый ключ" и создайте ресурс. Файл ключа загружается на локальный компьютер разработки как myKey.pem. Запишите, где скачан этот myKey.pem файл, так как вам потребуется войти на виртуальную машину Azure далее на этом шаге.

    Если вы потеряете файл ключа, вы можете вернуться на страницу параметров виртуальной машины Azure позже, чтобы получить файл ключа замены. Чтобы вернуться на страницу параметров виртуальной машины Azure, в ресурсах поиска, службах и документах, найдите и выберите имя виртуальной машины Azure. Чтобы получить файл ключа замены на странице параметров виртуальной машины Azure, сделайте следующее:

    1. В разделе справки на боковой панели нажмите кнопку "Сброс пароля".
    2. Выберите " Добавить открытый ключ SSH".
    3. В поле "Имя пары ключей" введите уникальное имя.
    4. Нажмите Обновить.
    5. Нажмите кнопку " Скачать и создать". Файл ключа загружается с расширением .pem . Запишите, где скачан этот .pem файл, так как вам потребуется войти на виртуальную машину Azure далее на этом шаге.
  16. После создания виртуальной машины Azure нажмите кнопку "Перейти к ресурсу".

  17. Скопируйте значение поля общедоступного IP-адреса , так как вам потребуется войти на виртуальную машину Azure далее на этом шаге.

    Если вы забыли скопировать это значение, вы можете вернуться на страницу обзора виртуальной машины Azure позже, чтобы получить это значение. Чтобы вернуться на страницу обзора виртуальной машины Azure, в ресурсах поиска, службах и документах, найдите и выберите имя виртуальной машины Azure. Затем на странице параметров виртуальной машины Azure щелкните "Обзор " на боковой панели и найдите поле общедоступного IP-адреса .

  18. Если локальный компьютер разработки работает под управлением Linux, macOS или WSL в Windows, проверка доступ только для чтения к только что скачанному закрытому ключу. Для этого выполните следующую команду из терминала или командной строки локального компьютера разработки. В этой команде замените следующие значения:

    • Замените </path/to> путь к скачанного .pem файла.
    • myKey.pem Замените имя файла скачанным файлом.pem.
    chmod 400 </path/to>/myKey.pem
    
  19. Войдите на виртуальную машину Azure. Для этого в терминале или командной строке локального компьютера разработки выполните следующую команду. В этой команде замените следующие значения:

    • Замените </path/to> путь к скачанного .pem файла.
    • myKey.pem Замените имя файла скачанным файлом.pem.
    • Замените <public-ip-address> значением поля общедоступного IP-адреса , скопированного ранее на этом шаге.
    ssh -i </path/to>/myKey.pem azureuser@<public-ip-address>
    

    Например:

    ssh -i ./myKey.pem azureuser@192.0.2.0
    
  20. Если вы еще не подключились к этой виртуальной машине Azure, вам будет предложено проверить отпечатки пальцев узла. Для этого следуйте инструкциям на экране. Databricks рекомендует всегда проверять отпечатки пальцев узла.

  21. В терминале или командной строке изменяется azureuser@<your-azure-vm-name>:~$значение .

  22. Чтобы выйти из виртуальной машины Azure в любое время, выполните команду logout или exit. Затем терминал или командная строка возвращаются в обычный режим.

Шаг 6. Назначение управляемого удостоверения виртуальной машине Azure

На этом шаге вы связываете управляемое удостоверение с виртуальной машиной Azure. Это позволяет Azure использовать управляемое удостоверение для проверки подлинности при необходимости при запуске виртуальной машины Azure. См. также назначение управляемого удостоверения, назначаемого пользователем, существующей виртуальной машине.

  1. На странице параметров виртуальной машины Azure на странице параметров виртуальной машины Azure в разделе портал Azure Параметры на боковой панели щелкните "Удостоверение".

    Чтобы вернуться на страницу обзора виртуальной машины Azure, если вы закрыли ее ранее, в ресурсах поиска, службах и документах, найдите и выберите имя виртуальной машины Azure.

  2. На назначенной пользователем вкладке нажмите кнопку +Добавить.

  3. Выберите управляемое удостоверение, назначаемое пользователем, созданное на шаге 1, и нажмите кнопку "Добавить".

Шаг 7. Установка интерфейса командной строки Databricks на виртуальной машине Azure

На этом шаге вы установите интерфейс командной строки Databricks, чтобы использовать его для выполнения команд, автоматизирующие учетные записи и рабочие области Azure Databricks.

Совет

Вы также можете использовать поставщик Databricks Terraform или пакет SDK Databricks для Go вместе с проверкой подлинности управляемых удостоверений Azure для автоматизации учетных записей и рабочих областей Azure Databricks путем выполнения кода HCL или Go. Ознакомьтесь с пакетом SDK Databricks для проверки подлинности управляемых удостоверений Azure и Go.

  1. Если терминал или командная строка по-прежнему открыты и вошли в виртуальную машину Azure из шага 5, установите интерфейс командной строки Databricks, выполнив следующие две команды:

    sudo apt install unzip
    curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sudo sh
    
  2. Убедитесь, что интерфейс командной строки Databricks установлен, выполнив следующую команду, которая выводит установленную версию Интерфейса командной строки Databricks:

    databricks -v
    

Шаг 8. Настройка интерфейса командной строки Databricks для проверки подлинности управляемых удостоверений Azure

На этом шаге вы настроите интерфейс командной строки Databricks для использования проверки подлинности управляемых удостоверений Azure для Azure Databricks с параметрами управляемого удостоверения. Для этого создайте файл с именем файла по умолчанию в расположении по умолчанию, где интерфейс командной строки Databricks ожидает найти необходимые параметры проверки подлинности.

  1. Если терминал или командная строка по-прежнему открыты и вошли в виртуальную машину Azure с шага 5, используйте vi текстовый редактор, чтобы создать и открыть файл с именем .databrickscfg для редактирования в домашнем каталоге пользователя, выполнив следующую команду:

    vi ~/.databrickscfg
    
  2. Начните редактирование .databrickscfg файла, нажав сочетание Esc клавиш редактора, за которым следует i. Командная строка исчезает, vi редактор запускается, и слово -- INSERT -- отображается в нижней части редактора, чтобы указать, что .databrickscfg файл находится в режиме редактирования.

  3. Введите следующее содержимое. В этом содержимом замените следующие значения:

    • Замените <account-console-url> URL-адрес консоли учетной записи Azure Databricks, напримерhttps://accounts.azuredatabricks.net.
    • Замените <account-id> идентификатор учетной записи Azure Databricks. См. раздел "Поиск идентификатора учетной записи".
    • Замените <azure-managed-identity-application-id> значением идентификатора клиента для управляемого удостоверения на шаге 1.
    • Замените <workspace-url> URL-адрес рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net.
    • Замените <azure-workspace-resource-id> идентификатор ресурса Azure на шаге 4.
    • При необходимости можно заменить предлагаемые имена AZURE_MI_ACCOUNT профилей конфигурации и AZURE_MI_WORKSPACE различные имена профилей конфигурации. Эти конкретные имена не требуются.

    Если вы не хотите запускать операции на уровне учетной записи, можно опустить [AZURE_MI_ACCOUNT] раздел в следующем содержимом.

    [AZURE_MI_ACCOUNT]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    
    [AZURE_MI_WORKSPACE]
    host                        = <workspace-url>
    azure_workspace_resource_id = <azure-workspace-resource-id>
    azure_client_id             = <azure-managed-identity-application-id>
    azure_use_msi               = true
    
  4. Сохраните изменения в .databrickscfg файле, нажав сочетание Escклавиш редактора, а затем введите :wq, а затем Enter. vi Редактор закрывается, а командная строка снова появится.

Шаг 9. Выполнение команды уровня учетной записи

На этом шаге вы используете интерфейс командной строки Databricks для выполнения команды, которая автоматизирует учетную запись Azure Databricks, настроенную на шаге 8.

Если вы не хотите запускать команды на уровне учетной записи, перейдите к шагу 10.

Если терминал или командная строка по-прежнему открыты и вошли в виртуальную машину Azure из шага 5, выполните следующую команду, чтобы получить список всех доступных пользователей в учетной записи Azure Databricks. Если вы переименовали AZURE_MI_ACCOUNT на шаге 8, обязательно замените его здесь.

databricks account users list -p AZURE_MI_ACCOUNT

Шаг 10. Выполнение команды уровня рабочей области

На этом шаге вы используете интерфейс командной строки Databricks для выполнения команды, которая автоматизирует рабочую область Azure Databricks, настроенную на шаге 8.

Если терминал или командная строка по-прежнему открыты и вошли в виртуальную машину Azure с шага 5, выполните следующую команду, чтобы получить список всех доступных пользователей в рабочей области Azure Databricks. Если вы переименовали AZURE_MI_WORKSPACE на шаге 8, обязательно замените его здесь.

databricks users list -p AZURE_MI_WORKSPACE

Шаг 11. Очистка

Этот шаг необязательный. Он удаляет виртуальную машину Azure для экономии затрат и удаляет управляемое удостоверение, если вы больше не хотите использовать его. Этот шаг также удаляет удаленное управляемое удостоверение из учетной записи Azure Databricks и рабочей области для завершения.

Удаление виртуальной машины Azure

  1. Если терминал или командная строка по-прежнему открыты и вошли в виртуальную машину Azure из шага 5, закройте виртуальную машину Azure, выполнив команду logout или exit. Затем терминал или командная строка возвращаются в обычный режим.
  2. В портал Azure, вошедшего в шаге 1, вернитесь на страницу обзора виртуальной машины Azure, если вы закрыли ее ранее. Для этого в ресурсах поиска, службах и документах найдите и выберите имя виртуальной машины Azure.
  3. На панели меню страницы обзора виртуальной машины Azure нажмите кнопку "Удалить".
  4. Выберите папку "Чтение и понимание" проверка box и нажмите кнопку "Удалить".

Удаление управляемого удостоверения из подписки Azure

  1. В портал Azure, вошедшего в шаге 1, вернитесь на страницу обзора управляемого удостоверения, если вы закрыли его ранее. Для этого в ресурсах поиска, службах и документах найдите и выберите имя управляемого удостоверения.
  2. На панели меню страницы обзора управляемого удостоверения нажмите кнопку "Удалить".
  3. Выберите папку "Чтение и понимание" проверка box и нажмите кнопку "Удалить".

Удаление управляемого удостоверения из учетной записи Azure Databricks

  1. В учетной записи Azure Databricks на боковой панели щелкните " Управление пользователями".
  2. Перейдите на вкладку "Субъекты-службы ".
  3. Щелкните имя субъекта-службы, добавленного на шаге 2. Если имя субъекта-службы не отображается, используйте субъект-службу фильтра, чтобы найти его.
  4. Нажмите кнопку многоточия и нажмите кнопку " Удалить".
  5. Нажмите кнопку " Подтвердить удаление".

Удаление управляемого удостоверения из рабочей области Azure Databricks

  1. В рабочей области Azure Databricks щелкните имя пользователя в верхней строке и щелкните Параметры.
  2. Перейдите на вкладку "Субъекты-службы ".
  3. Щелкните имя субъекта-службы, добавленного на шаге 3. Если имя субъекта-службы не отображается, используйте субъект-службу фильтра, чтобы найти его.
  4. Нажмите Удалить.
  5. В диалоговом окне подтверждения нажмите кнопку "Удалить".