【Azure App Service】当App Service中使用系统标识无法获取Access Token时
问题描述
App Serive上的应用配置了系统标识(System Identity),通过系统标识获取到访问Key Vault资源的Access Token。但这次确遇见了无法获取到正常的Access Token。
验证问题
1:查看App Service的门户中是否启用了系统标识
2:进入App Service的Kudu站点,查看Environment参数中
IDENTITY_ENDPOINT = http://127.0.0.1:xxxxx/msi/token/
IDENTITY_HEADER = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3:在Kudu站点,通过curl资料,访问IDENTITY_ENDPOINT ,并验证是否可以正常访问
curl -H "X-IDENTITY-HEADER: xxxxxxxxxxxxxxxxxxxxxxxxxxxx" -H "Content-Type: application/json" "http://127.0.0.1:41660/msi/token?resource=https://vault.azure.cn&api-version=2019-08-01"
如果想查看具体的Access Token信息,就可以使用 -o 参数,把请求响应的内容输出到文件中。
如:
如果第三步中,无法成功获取到Token信息,则需要收集错误信息,然后寻求App Service产品团队支持。
参考资料
How to use managed identities for App Service and Azure Functions : https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=portal%2Chttp
curl --help
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!