El acceso a propiedades de objeto Identity desde línea de comandos en PowerShell para Azure debería obtenerse mediante:
Get-AzWebApp -ResourceGroupName "NombreDeRecursos" -Name "NombreAplicacionWeb"
--$appId=(Get-AzWebApp -ResourceGroupName $resourcegroupname -Name $webappname).Identity.PrincipalId
--$appId=(Get-AzureRmWebApp $resourcegroupname -Name $webappname).Identity.PrincipalId
No tenemos acceso a estos identificadores, podemos utilizar en su lugar el acceso mediante Service Managed Identity:
az webapp identity assign -g $resourcegroupname -n $webappname
Del que obtendremos el identificador necesario:
{- Finished ..
"principalId": "b1dd98c4-eae0-4fea-8e46-efzs563dc9630",
"tenantId": "504c8804-c8a6-9090-8fzs-e35841104187",
"type": "SystemAssigned",
"userAssignedIdentities": null
}
Con la administración de identidades administradas habilitadas y permitiendo al acceso a los recursos a la aplicación, ya podemos utilizar tokens de acceso Oauth. De este modo solo se puede acceder a este extremo desde el código que se ejecuta en el servicio de la aplicación, por ejemplo, solo nuestro sitio web puede obtener tokens de acceso.