Бөлісу құралы:


Настройка управляемых удостоверений в пулах пакетной службы

Управляемые удостоверения для ресурсов Azure устраняют сложную идентификацию и управление учетными данными, предоставляя удостоверение для ресурса Azure в идентификаторе Microsoft Entra (идентификатор Azure AD). Это удостоверение используется для получения маркеров Microsoft Entra для проверки подлинности с помощью целевых ресурсов в Azure.

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

Внимание

Создание пулов с управляемыми удостоверениями можно выполнять только с помощью API-интерфейсов плоскости управления пакетной службой или пакетов SDK с помощью проверки подлинности Entra. Невозможно создать пулы с управляемыми удостоверениями с помощью API пакетной службы или пакетов SDK. Дополнительные сведения см. в обзорной документации по API и средствам пакетной службы.

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

Сначала создайте управляемое удостоверение, назначаемое пользователем, в одном клиенте с учетной записью пакетной службы. Удостоверение можно создать с помощью портала Azure, интерфейса командной строки Azure (Azure CLI), PowerShell, Azure Resource Manager или REST API Azure. Это управляемое удостоверение не должно находиться в одной группе ресурсов или даже в той же подписке.

Совет

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

Создание пула пакетной службы с управляемыми удостоверениями, назначаемыми пользователем

После создания одного или нескольких управляемых удостоверений, назначаемых пользователем, можно создать пул пакетной службы с таким удостоверением или этими удостоверениями. Вы можете:

Предупреждение

Обновления управляемых удостоверений пула не поддерживаются, пока пул имеет активные узлы. Существующие вычислительные узлы не будут обновлены с изменениями. Перед изменением коллекции удостоверений рекомендуется масштабировать пул до нуля вычислительных узлов, чтобы убедиться, что все виртуальные машины имеют одинаковый набор удостоверений.

Создание пула пакетной службы на портале Azure

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

  1. Войдите на портал Azure.
  2. В строке поиска введите и выберите Учетные записи пакетной службы.
  3. На странице Учетные записи пакетной службы выберите учетную запись пакетной службы, в которой нужно создать пул пакетной службы.
  4. В меню учетной записи пакетной службы в разделе Компоненты выберите Пулы.
  5. В меню Пулы выберите Добавить, чтобы добавить новый пул пакетной службы.
  6. В поле Идентификатор пула введите идентификатор пула.
  7. В поле Удостоверение измените параметр на Назначаемое пользователем.
  8. В разделе Управляемое удостоверение, назначаемое пользователем выберите команду Добавить.
  9. Выберите одно или несколько управляемых удостоверений, назначаемых пользователем, которые вы хотите использовать. а затем щелкните Добавить.
  10. В разделе Операционная система выберите издателя, предложение и номер SKU, которые нужно использовать.
  11. При необходимости включите управляемое удостоверение в реестре контейнеров:
    1. Для конфигурации контейнера измените параметр на Настраиваемый. Затем выберите настраиваемую конфигурацию.
    2. Для параметра Задача запуска выберите Включено. Затем выберите Файлы ресурсов и добавьте сведения о контейнере хранилища.
    3. Включите Параметры контейнера.
    4. Измените Реестр контейнеров на Настраиваемый.
    5. Для параметра Ссылка на удостоверение выберите контейнер хранилища.

Создание пула пакетной службы с помощью .NET

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

var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);
        
var batchAccountIdentifier = ResourceIdentifier.Parse("your-batch-account-resource-id");   
BatchAccountResource batchAccount = _armClient.GetBatchAccountResource(batchAccountIdentifier);

var poolName = "HelloWorldPool";
var imageReference = new BatchImageReference()
{
    Publisher = "canonical",
    Offer = "0001-com-ubuntu-server-jammy",
    Sku = "22_04-lts",
    Version = "latest"
};
string nodeAgentSku = "batch.node.ubuntu 22.04";

var batchAccountPoolData = new BatchAccountPoolData()
{
    VmSize = "Standard_DS1_v2",
    DeploymentConfiguration = new BatchDeploymentConfiguration()
    {
        VmConfiguration = new BatchVmConfiguration(imageReference, nodeAgentSku)
    },
    ScaleSettings = new BatchAccountPoolScaleSettings()
    {
        FixedScale = new BatchAccountFixedScaleSettings()
        {
            TargetDedicatedNodes = 1
        }
    }
};

ArmOperation<BatchAccountPoolResource> armOperation = batchAccount.GetBatchAccountPools().CreateOrUpdate(
    WaitUntil.Completed, poolName, batchAccountPoolData);
BatchAccountPoolResource pool = armOperation.Value;

Применение назначаемых пользователем управляемых удостоверений в узлах пакетной службы

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

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

В узлах пакетной службы можно получить маркеры управляемого удостоверения и использовать их для проверки подлинности через проверку подлинности Microsoft Entra через службу метаданных экземпляра Azure.

Сценарий PowerShell для Windows, получающий маркер доступа для проверки подлинности:

$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -Method GET -Headers @{Metadata="true"}

Сценарий Bash для Linux:

curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -H Metadata:true

Дополнительные сведения см. в статье Как использовать управляемые удостоверения для ресурсов Azure на виртуальной машине Azure для получения маркера доступа.

Следующие шаги