Как установить аргументы идентификатора управляемой службы экземпляра контейнера Azure с помощью SDK .Net Fluent

Создавая экземпляр контейнера Azure с использованием azure-cli, я могу указать идентификатор ресурса управляемого удостоверения в качестве параметра --assigned-identity

Managed Service Identity Arguments
    --assign-identity                : Space-separated list of assigned identities. Assigned
                                       identities are either user assigned identities (resource IDs)
                                       and / or the system assigned identity ('[system]'). See
                                       examples for more info.

Я пытаюсь сделать то же самое с .Net Fluent Management SDK, но не вижу способа сделать это.

Спасибо!


person kimsk    schedule 23.04.2019    source источник


Ответы (1)


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

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

public VirtualMachineImpl WithExistingUserAssignedManagedServiceIdentity(IIdentity identity)
{
    this.virtualMachineMsiHelper.WithExistingExternalManagedServiceIdentity(identity);
    return this;
}

Я ожидал увидеть аналогичные методы в классах, принадлежащих ContainerInstance, например ContainerGroupImpl, а я нет.

Отказ от ответственности: как видите, я говорю это на основе ручного поиска, а не на основе официальной документации, поэтому, возможно, я что-то упускаю.

Возможная альтернатива

Если вы заинтересованы в том, чтобы сделать это из кода на основе .NET / C # (поскольку вы ищете .NET SDK), одной из альтернатив может быть использование прямого REST API.

Группы контейнеров - создание или обновление

PUT https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1?api-version=2018-10-01

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

"identity": {
    "type": "SystemAssigned, UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {}
    }

Полный пример вызова REST API здесь

person Rohit Saigal    schedule 23.04.2019
comment
Спасибо за информацию! Я тоже пробовал просмотреть документ и исходный код, но не нашел. Вместо этого использование REST API должно решить мою проблему. - person kimsk; 23.04.2019