2

使用创建 Azure 容器实例azure-cli,我可以指定托管标识的资源 id 作为参数--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 做同样的事情,但我看不到这样做的方法。

谢谢!

4

1 回答 1

2

我想你可能是对的。我也尝试查看适用于 .NET 的 Azure 管理库的源代码,但找不到任何有助于使用系统分配或用户分配标识进行创建的方法或帮助程序。

在虚拟机的情况下支持类似的功能。源代码

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 调用示例在这里

于 2019-04-23T04:46:52.247 回答