Azure 资源的托管标识功能消除了在代码中管理凭据的必要。 可以使用它们获取应用程序的 Microsoft Entra 令牌。 应用程序可以在访问支持 Microsoft Entra 身份验证的资源时使用该令牌。 Azure 管理标识,因此用户不必管理。
有两种类型的托管标识:系统分配和用户分配。 系统分配的托管标识的生命周期与创建它们的资源相关联。 此标识仅限于一种资源,你可使用 Azure 基于角色的访问控制 (Azure RBAC) 来授予托管标识的访问权限。 而用户分配的托管标识可用于多个资源。
本文将使用 Azure 资源管理器创建用户分配的托管标识。 不能使用资源管理器模板来列出和删除用户分配的托管标识。 使用其他方法列出或删除用户分配的托管标识。
先决条件
- 如果不熟悉 Azure 资源的托管标识,请查阅概述部分。 请务必了解系统分配的托管标识与用户分配的托管标识之间的差异。
- 如果还没有 Azure 帐户,请先注册试用帐户,然后再继续。
模板创建和编辑
资源管理器模板有助于部署由 Azure 资源组定义的新资源或已修改资源。 有多种可用于执行模板编辑和部署的方法(包括本地方法和基于门户的方法)。 您可以:
- 使用 Azure 市场中的自定义模板从头开始创建模板,或在现有常见模板或快速启动模板的基础之上操作。
- 通过导出模板从现有资源组派生。 可以从原始部署或部署当前状态导出它们。
- 使用本地 JSON 编辑器(例如 VS Code),然后使用 PowerShell 或 Azure CLI 进行上传和部署。
- 使用 Visual Studio Azure 资源组项目创建和部署模板。
创建用户分配的托管标识
若要创建用户分配的托管标识,你的帐户需要托管标识参与者角色分配。
若要创建用户分配的托管标识,请使用以下模板。 将 <USER ASSIGNED IDENTITY NAME> 值替换为自己的值。
重要
创建用户分配的托管标识时,只能使用字母数字字符(0-9、a-z、A-Z)和连字符 (-)。 要使虚拟机或虚拟机规模集的分配正常工作,该名称限制为 24 个字符。 有关详细信息,请参阅 FAQ 和已知问题。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"resourceName": {
"type": "string",
"metadata": {
"description": "<USER ASSIGNED IDENTITY NAME>"
}
}
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"name": "[parameters('resourceName')]",
"apiVersion": "2018-11-30",
"location": "[resourceGroup().location]"
}
],
"outputs": {
"identityName": {
"type": "string",
"value": "[parameters('resourceName')]"
}
}
}