Azure实例元数据服务

时间:2020-11-01 22:24:57

标签: azure azure-active-directory azure-managed-identity

我对使用Azure实例元数据服务的Azure系统托管身份的内部工作的理解是,每个VM都有使用Azure AD创建的自己的唯一服务主体以及与之关联的唯一的一对公私钥对。

私钥在VM上维护,用于对访问令牌进行签名,该访问令牌可以使用Azure实例元数据服务上的/ identity API终结点获取。

此VM实例的唯一身份是仅与该私钥相关联还是还有更多?如果错误的参与者能够将私钥复制到另一个VM,那么错误的参与者可以模拟给定的VM吗?还是生成此访问令牌的不仅仅是私钥?

1 个答案:

答案 0 :(得分:1)

我在这里做一个总结:@Thomas提供了详细而专业的解释。如您所见,基于How MSI workshow to get access token via managed identity on Azure VM,获取访问令牌的整个过程是一个function strLetterCount(word) { let results = {}; for (let i = 0; i < word.length; i++) { let c = word.charAt(i) results[c] = (results[c] || 0) + 1; } let r = ''; for (let c in results) r += c + results[c]; return r; } console.log(strLetterCount("coconut")); // "c2o2n1u1t1"函数,没有提供私钥或秘密,因此不必担心有人窃取它们并在其他VM上使用它们。正如@Thomas所说:

只有您的VM可以向IMDS请求令牌

如果您的问题已解决,请标记此帖子以关闭此案例,谢谢!