如何以编程方式将用户分配的托管标识分配给 Azure Web 应用暂存槽?

How do I programmatically assign a User assigned managed identity to an Azure Web App Staging Slot?

我可以在门户中手动分配用户分配的托管标识。

在作为部署管道的一部分部署到暂存槽期间如何执行此操作?

我可以使用 PowerShell 通过 Set-AzureRMWebAppSlot 设置系统分配的托管标识,但是我找不到为用户分配设置的方法。

用户分配的身份目前处于预览阶段,如果您想以编程方式分配用户分配的托管身份,您可以尝试使用 ARM template 来实现。

样本:

{
    "apiVersion": "2016-08-01",
    "type": "Microsoft.Web/sites",
    "name": "[variables('appName')]",
    "location": "[resourceGroup().location]",
    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('identityName'))]": {}
        }
    },
    "properties": {
        "name": "[variables('appName')]",
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]",
        "hostingEnvironment": "",
        "clientAffinityEnabled": false,
        "alwaysOn": true
    },
    "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]",
        "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', variables('identityName'))]"
    ]
}