Azure Managed Service Identities如何与Azure VM协同工作的场景

51CTO 博客地址:https://blog.51cto.com/14669127
博客园博客地址:https://www.cnblogs.com/Nancy1983

需求:Azure 订阅中包含一个名为VM1的虚拟机,VM1在名为RG1的资源组中,VM1运行的服务,其资源都部署到RG1中,如果确保运行在VM1的服务可以使用VM1的Identity来管理RG1中的资源,该如何配置?

解决方案需求解析
Azure Managed Service Identities如何与Azure VM协同工作的场景

上图是Managed Service Identities如何与Azure 虚拟机(VM)协同工作的原理图,具体如下:

  1. Azure资源管理器收到请求,在VM上启用系统分配的Managed Identity.
  2. Azure资源管理器在Azure AD中创建与VM Identities相对应的服务主体
  3. Azure资源管理器通过使用服务主体客户端ID和证书更新Azure Instance Metadata Service Identities endpoint来配置VM上的标识。
  4. VM有了Identities之后,根据服务主体信息向VM授权对Azure资源的访问权限。
    说明:若调用Azure资源管理器,使用Azure 基于角色的访问控制向VM服务主体分配相应的角色;若调用Key Vault,请授权代码对Key Vault中特定密钥的访问权限。
  5. 在VM上运行的代码可以从VM中访问的Azure Instance Metadata Service Identities endpoint请求令牌:http://169.254.169.254/metadata/identity/oauth2/token
  6. 调用了Azure AD,以便使用在步骤3中配置的客户端ID和证书请求访问令牌。Azure AD返回JSON Web令牌访问令牌。
  7. 代码在调用支持Azure AD身份验证的服务时发送访问令牌。

相关资料:

How managed Identities for Azure Resources work with Azure Virtual Machines

猜你喜欢

转载自blog.51cto.com/14669127/2622882