培训
认证
Microsoft Certified: Identity and Access Administrator Associate - Certifications
演示 Microsoft Entra ID 的功能,以将标识解决方案现代化、实现混合解决方案和实现标识治理。
本快速入门介绍了如何使用系统分配的标识作为虚拟机 (VM) 的标识来访问 Azure 资源管理器 API。 Azure 资源的托管标识由 Azure 自动管理,可用于向支持 Microsoft Entra 身份验证的服务进行身份验证,这样就无需在代码中插入凭据了。
Azure 资源的托管标识是 Microsoft Entra ID 的一项功能。 支持 Azure 资源的托管标识的每个 Azure 服务都受其自己的时间线限制。 在开始之前,请务必查看资源的托管标识的可用性状态以及已知问题。
将了解如何执行以下操作:
本教程介绍了如何创建系统分配的标识、将其分配给 Windows 虚拟机 (VM),然后再使用该标识访问 Azure 资源管理器 API。 托管服务标识由 Azure 自动管理。 此标识可用于向支持 Microsoft Entra 身份验证的服务进行身份验证,这样就无需在代码中嵌入凭据了。
将了解如何执行以下操作:
使用管理员帐户登录 Azure 门户。
导航到“资源组”选项卡。
选择要向其授予 VM 的托管标识访问权限的“资源组”。
在左侧面板中,选择“访问控制(IAM)”。
依次选择“添加”和“添加角色分配”。
在“角色”选项卡中,选择“读取者”。 使用此角色可以查看所有资源,但不能进行任何更改。
在“成员”选项卡中,对于“将访问权限分配给”选项,选择“托管标识”,然后选择“+ 选择成员”。
确保“订阅”下拉列表中列出的订阅正确无误。 对于“资源组”,请选择“所有资源组”。
在“管理标识”下拉列表中选择“虚拟机”。
对于“选择”,请选择下拉列表中的 VM 并选择“保存”。
使用 VM 的系统分配的托管标识并调用资源管理器以获取访问令牌。
若要完成这些步骤,需要使用 SSH 客户端。 如果使用的是 Windows,可以在适用于 Linux 的 Windows 子系统中使用 SSH 客户端。 如果需要有关配置 SSH 客户端密钥的帮助,请参阅如何在 Azure 上将 SSH 密钥与 Windows 配合使用或如何创建和使用适用于 Azure 中 Linux VM 的 SSH 公钥和私钥对。
curl
向 Azure 资源终结点的本地托管标识发出请求,以获取 Azure 资源管理器的访问令牌。
下面是对访问令牌的 curl
请求。curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true
备注
resource
参数的值必须完全匹配 Microsoft Entra ID 预期的值。 若为资源管理器的资源 ID,必须在 URI 的结尾添加斜线。
响应包括访问 Azure 资源管理器所需的访问令牌。
响应:
{
"access_token":"eyJ0eXAiOi...",
"refresh_token":"",
"expires_in":"3599",
"expires_on":"1504130527",
"not_before":"1504126627",
"resource":"https://management.azure.com",
"token_type":"Bearer"
}
请使用此访问令牌访问 Azure 资源管理器以实现特定目的,例如读取资源组(你之前向此 VM 授予了对它的访问权限)的详细信息。 将值 <SUBSCRIPTION-ID>
、<RESOURCE-GROUP>
和 <ACCESS-TOKEN>
替换为之前创建的值。
备注
URL 区分大小写。因此,请确保大小写与之前在命名资源组时使用的大小写完全相同,并确保“resourceGroup”中使用的是大写“G”。
curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>"
返回的响应包含具体的资源组信息:
{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
"provisioningState":"Succeeded"
}
}
本教程介绍如何创建系统分配的标识、将其分配给 Linux 虚拟机 (VM),再使用此标识访问 Azure 资源管理器 API。 托管服务标识由 Azure 自动管理。 此标识可用于向支持 Microsoft Entra 身份验证的服务进行身份验证,这样就无需在代码中嵌入凭据了。
你将学习如何执行以下操作:
使用管理员帐户登录 Azure 门户。
导航到“资源组”选项卡。
选择要向其授予 VM 的托管标识访问权限的“资源组”。
在左侧面板中,选择“访问控制(IAM)”。
依次选择“添加”和“添加角色分配”。
在“角色”选项卡中,选择“读取者”。 使用此角色可以查看所有资源,但不能进行任何更改。
在“成员”选项卡中,在“将访问权限分配给”选项中,选择“托管标识”,然后选择“+ 选择成员”。
确保“订阅”下拉列表中列出的订阅正确无误。 对于“资源组”,请选择“所有资源组”。
在“管理标识”下拉列表中选择“虚拟机”。
在“选择”选项中,选择下拉列表中的 VM 并选择“保存”。
使用 VM 的系统分配的托管标识并调用资源管理器以获取访问令牌。
若要完成这些步骤,需要使用 SSH 客户端。 如果使用的是 Windows,可以在适用于 Linux 的 Windows 子系统中使用 SSH 客户端。 如果需要有关配置 SSH 客户端密钥的帮助,请参阅如何在 Azure 上将 SSH 密钥与 Windows 配合使用或如何创建和使用适用于 Azure 中 Linux VM 的 SSH 公钥和私钥对。
curl
向 Azure 资源终结点的本地托管标识发出请求,以获取 Azure 资源管理器的访问令牌。
下面是对访问令牌的 curl
请求。curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true
备注
resource
参数的值必须完全匹配 Microsoft Entra ID 预期的值。 若为资源管理器资源 ID,必须在 URI 的结尾添加斜线。
响应包括访问 Azure 资源管理器所需的访问令牌。
响应:
{
"access_token":"eyJ0eXAiOi...",
"refresh_token":"",
"expires_in":"3599",
"expires_on":"1504130527",
"not_before":"1504126627",
"resource":"https://management.azure.com",
"token_type":"Bearer"
}
使用此访问令牌访问 Azure 资源管理器。 例如,若要阅读之前向其授予此 VM 访问权限的资源组的详细信息。 将值 <SUBSCRIPTION-ID>
、<RESOURCE-GROUP>
和 <ACCESS-TOKEN>
替换为之前创建的值。
备注
URL 区分大小写。因此,请确保大小写与之前在命名资源组时使用的大小写完全相同,并确保“resourceGroup
”中使用的是大写“G”。
curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>"
返回的响应包含具体的资源组信息:
{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
"provisioningState":"Succeeded"
}
}
在本快速入门中,你已学习了如何使用 VM 上的系统分配的托管标识来访问 Azure 资源管理器 API。 若要详细了解 Azure 资源管理器,请参阅:
培训
认证
Microsoft Certified: Identity and Access Administrator Associate - Certifications
演示 Microsoft Entra ID 的功能,以将标识解决方案现代化、实现混合解决方案和实现标识治理。
文档
如何将 Azure 资源托管标识用于 Azure 虚拟机 - Managed identities for Azure resources
Azure 资源托管标识用于 Azure 虚拟机的说明。
管理用户分配的托管标识 - Managed identities for Azure resources
创建用户分配的托管标识。
Azure 资源的托管标识 - Managed identities for Azure resources
Azure 资源托管标识概述。