【Azure 应用服务】在App Service 中如何通过Managed Identity获取访问Azure资源的Token呢? 如Key Vault

网友投稿 249 2022-10-05

【Azure 应用服务】在App Service 中如何通过Managed Identity获取访问Azure资源的Token呢? 如Key Vault

问题描述

当App Service启用了Managed Identity后,Azure中的资源就可以使用此Identity访问。 如果需要显示的获取这个Token,如何实现呢?

问题解答

在App Service开启托管标识之后,会生成两个环境变量IDENTITY_ENDPOINT和IDENTITY_HEADER:

IDENTITY_ENDPOINT - 本地令牌服务的 URL。是一个本地 URL,应用可从其请求令牌。IDENTITY_HEADER - 用于帮助缓解服务器端请求伪造 (SSRF) 攻击的标头。 该值由平台轮换。

在根据《​​App Service 托管标识​​》的介绍,可以通过多种方式获取到对Azure资源的Token。如 HTTP GET, .NET, Java, PowerShell等。

这里就通过App Service Kudu工具,发送 curl 请求,快速获取 Access Token。

第一步:在kudu中执行set指令,获取当前环境中是有的参数设置,从中找到 IDENTITY_ENDPOINT 和 IDENTITY_HEADER

第二步:发送curl 请求,获取Access Token

curl -v "?resource=-H "X-IDENTITY-HEADER:"

注意:

1) 需要用正确的值替换,如:在 token后面必须添加反斜杠( / ),不可以省略。

2) resource=,resource的url可以根据需要访问的资源进行替换。

3)  需要正确的值进行替换。

请求返回Body中,包含access_token内容。

参考文档

如何使用应用服务和 Azure Functions 的托管标识: ​​https://docs.azure.cn/zh-cn/app-service/overview-managed-identity?tabs=portal%2Chttp​​

【end】

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:行业 SaaS 微服务稳定性保障实战
下一篇:Java超详细透彻讲解static
相关文章

 发表评论

暂时没有评论,来抢沙发吧~