你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.KeyVault 保管库 2023-02-01
Bicep 资源定义
可以使用目标操作部署保管库资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
言论
有关使用密钥保管库获取安全值的指南,请参阅 使用 Bicep管理机密。
有关创建机密的快速入门,请参阅 快速入门:使用 ARM 模板设置和检索 Azure Key Vault 中的机密。
有关创建密钥的快速入门,请参阅 快速入门:使用 ARM 模板创建 Azure 密钥保管库和密钥。
资源格式
若要创建 Microsoft.KeyVault/vaults 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.KeyVault/vaults@2023-02-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
properties: {
accessPolicies: [
{
applicationId: 'string'
objectId: 'string'
permissions: {
certificates: [
'string'
]
keys: [
'string'
]
secrets: [
'string'
]
storage: [
'string'
]
}
tenantId: 'string'
}
]
createMode: 'string'
enabledForDeployment: bool
enabledForDiskEncryption: bool
enabledForTemplateDeployment: bool
enablePurgeProtection: bool
enableRbacAuthorization: bool
enableSoftDelete: bool
networkAcls: {
bypass: 'string'
defaultAction: 'string'
ipRules: [
{
value: 'string'
}
]
virtualNetworkRules: [
{
id: 'string'
ignoreMissingVnetServiceEndpoint: bool
}
]
}
provisioningState: 'string'
publicNetworkAccess: 'string'
sku: {
family: 'A'
name: 'string'
}
softDeleteRetentionInDays: int
tenantId: 'string'
vaultUri: 'string'
}
}
属性值
金库
名字 | 描述 | 价值 |
---|---|---|
名字 | 资源名称 | string (必需) 字符限制:3-24 有效字符: 字母数字和连字符。 以字母开头。 以字母或数字结尾。 不能包含连续连字符。 资源名称在 Azure 中必须是唯一的。 |
位置 | 应在其中创建密钥保管库的受支持 Azure 位置。 | string (必需) |
标签 | 将分配给密钥保管库的标记。 | 标记名称和值的字典。 请参阅模板 中的 |
性能 | 保管库的属性 | VaultProperties(必需) |
VaultProperties
名字 | 描述 | 价值 |
---|---|---|
accessPolicies | 有权访问密钥保管库的 0 到 1024 标识的数组。 数组中的所有标识都必须使用与密钥保管库租户 ID 相同的租户 ID。 当 createMode 设置为 recover 时,不需要访问策略。 否则,需要访问策略。 |
AccessPolicyEntry[] |
createMode | 保管库的创建模式,用于指示是否需要恢复保管库。 | “default” “recover” |
enabledForDeployment | 用于指定是否允许 Azure 虚拟机从密钥保管库检索存储为机密的证书的属性。 | bool |
enabledForDiskEncryption | 用于指定是否允许 Azure 磁盘加密从保管库检索机密和解包密钥的属性。 | bool |
enabledForTemplateDeployment | 用于指定是否允许 Azure 资源管理器从密钥保管库检索机密的属性。 | bool |
enablePurgeProtection | 指定是否为此保管库启用了针对清除的保护的属性。 将此属性设置为 true 可激活针对此保管库及其内容的清除保护 - 只有 Key Vault 服务可能会启动难以、不可恢复的删除。 仅当启用软删除时,此设置才有效。 启用此功能不可逆 - 也就是说,属性不接受 false 作为其值。 | bool |
enableRbacAuthorization | 用于控制如何授权数据操作的属性。 如果为 true,密钥保管库将使用基于角色的访问控制(RBAC)来授权数据操作,并且将忽略保管库属性中指定的访问策略。 如果为 false,密钥保管库将使用保管库属性中指定的访问策略,并且将忽略 Azure 资源管理器上存储的任何策略。 如果为 null 或未指定,则会使用默认值 false 创建保管库。 请注意,管理操作始终使用 RBAC 进行授权。 | bool |
enableSoftDelete | 用于指定是否为此密钥保管库启用了“软删除”功能的属性。 如果在创建新密钥保管库时它未设置为任何值(true 或 false),则默认情况下会将其设置为 true。 设置为 true 后,无法将其还原为 false。 | bool |
networkAcls | 控制从特定网络位置访问密钥保管库的可访问性的规则。 | NetworkRuleSet |
provisioningState | 保管库的预配状态。 | “RegisteringDns” “Succeeded” |
publicNetworkAccess | 用于指定保管库是否接受来自公共 Internet 的流量的属性。 如果设置为“禁用”除专用终结点流量之外的所有流量,并且源自受信任的服务的所有流量将被阻止。 这将替代设置的防火墙规则,这意味着即使存在防火墙规则,我们也不会遵守这些规则。 | 字符串 |
sku | SKU 详细信息 | Sku(必需) |
softDeleteRetentionInDays | softDelete 数据保留天数。 它接受 >=7,<=90。 | int |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | string (必需) 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
vaultUri | 用于对密钥和机密执行操作的保管库的 URI。 | 字符串 |
AccessPolicyEntry
名字 | 描述 | 价值 |
---|---|---|
applicationId | 代表主体发出请求的客户端的应用程序 ID | 字符串 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
objectId | 保管库的 Azure Active Directory 租户中用户、服务主体或安全组的对象 ID。 对象 ID 对于访问策略列表必须是唯一的。 | string (必需) |
权限 | 标识对密钥、机密和证书的权限。 | 权限(必需) |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | string (必需) 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
权限
名字 | 描述 | 价值 |
---|---|---|
证书 | 证书权限 | 包含任一项的字符串数组: “all” “backup” “create” “delete” “deleteissuers” “get” “getissuers” “import” “list” “listissuers” “managecontacts” “manageissuers” “purge” “recover” “restore” “setissuers” “update” |
钥匙 | 密钥权限 | 包含任一项的字符串数组: “all” “backup” “create” “decrypt” “delete” “encrypt” “get” “getrotationpolicy” “import” “list” “purge” “recover” 'release' “restore” “rotate” “setrotationpolicy” “sign” “unwrapKey” “update” “verify” “wrapKey” |
秘密 | 对机密的权限 | 包含任一项的字符串数组: “all” “backup” “delete” “get” “list” “purge” “recover” “restore” “set” |
存储 | 对存储帐户的权限 | 包含任一项的字符串数组: “all” “backup” “delete” “deletesas” “get” “getsas” “list” “listsas” “purge” “recover” “regeneratekey” “restore” “set” “setsas” “update” |
NetworkRuleSet
名字 | 描述 | 价值 |
---|---|---|
旁路 | 告知哪些流量可以绕过网络规则。 这可以是“AzureServices”或“None”。 如果未指定默认值,则为“AzureServices”。 | “AzureServices” “None” |
defaultAction | 当没有来自 ipRules 和 virtualNetworkRules 的规则匹配时,默认操作。 仅当评估绕过属性后,才使用此属性。 | “允许” “拒绝” |
ipRules | IP 地址规则的列表。 | IPRule[] |
virtualNetworkRules | 虚拟网络规则的列表。 | VirtualNetworkRule[] |
IPRule
名字 | 描述 | 价值 |
---|---|---|
价值 | CIDR 表示法中的 IPv4 地址范围,例如“124.56.78.91”(简单 IP 地址)或“124.56.78.0/24”(以 124.56.78 开头的所有地址)。 | string (必需) |
VirtualNetworkRule
名字 | 描述 | 价值 |
---|---|---|
id | vnet 子网的完整资源 ID,例如“/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1”。 | string (必需) |
ignoreMissingVnetServiceEndpoint | 用于指定 NRP 是否将忽略检查父子网是否配置 serviceEndpoints 的属性。 | bool |
Sku
名字 | 描述 | 价值 |
---|---|---|
家庭 | SKU 系列名称 | “A”(必需) |
名字 | 用于指定密钥保管库是标准保管库还是高级保管库的 SKU 名称。 | “premium” “standard”(必需) |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
使用 NAT 网关和应用程序网关 |
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,以及如何为入站连接部署应用程序网关。 |
使用公共 DNS 区域创建专用 AKS 群集 |
此示例演示如何使用公共 DNS 区域部署专用 AKS 群集。 |
在 Azure 体系结构 上部署体育分析 |
创建启用了 ADLS Gen 2 的 Azure 存储帐户、存储帐户的链接服务的 Azure 数据工厂实例(如果已部署的 Azure SQL 数据库)和 Azure Databricks 实例。 将为部署模板的用户的 AAD 标识以及 ADF 实例的托管标识授予存储帐户上的存储 Blob 数据参与者角色。 还有一些选项可用于部署 Azure Key Vault 实例、Azure SQL 数据库和 Azure 事件中心(用于流式处理用例)。 部署 Azure Key Vault 后,将为部署模板的用户提供数据工厂托管标识和 AAD 标识,并被授予 Key Vault 机密用户角色。 |
Azure 机器学习工作区 |
此模板创建新的 Azure 机器学习工作区,以及加密的存储帐户、KeyVault 和 Applications Insights 日志记录 |
创建 KeyVault |
此模块使用 apiVersion 2019-09-01 创建 KeyVault 资源。 |
从 KeyVault 使用 SSL 创建 API 管理服务 |
此模板部署配置有用户分配标识的 API 管理服务。 它使用此标识从 KeyVault 提取 SSL 证书,并通过每隔 4 小时检查一次来更新它。 |
使用容器应用创建 Dapr pub-sub servicebus 应用 |
使用容器应用创建 Dapr pub-sub servicebus 应用。 |
创建 Azure Stack HCI 23H2 群集 |
此模板使用 ARM 模板创建 Azure Stack HCI 23H2 群集。 |
创建 Azure Stack HCI 23H2 群集 |
此模板使用 ARM 模板(使用自定义存储 IP)创建 Azure Stack HCI 23H2 群集 |
在无交换机-双链路网络模式下创建 Azure Stack HCI 23H2 群集 |
此模板使用 ARM 模板创建 Azure Stack HCI 23H2 群集。 |
在 Switchless-SingleLink 网络模式下创建 Azure Stack HCI 23H2 群集 |
此模板使用 ARM 模板创建 Azure Stack HCI 23H2 群集。 |
从库映像 创建新的加密 Windows vm |
此模板使用服务器 2k12 库映像创建新的加密 Windows VM。 |
从库映像创建新的加密托管磁盘 win-vm |
此模板使用服务器 2k12 库映像创建新的加密托管磁盘 Windows VM。 |
此模板加密正在运行的 Windows VMSS |
此模板在正在运行的 Windows VM 规模集上启用加密 |
在正在运行的 Windows VM 上启用加密 |
此模板在正在运行的 Windows VM 上启用加密。 |
使用 jumpbox 创建和加密新的 Windows VMSS |
使用此模板,可以使用服务器 Windows 版本的最新修补版本部署简单的 Windows VM 规模集。 此模板还会在同一虚拟网络中部署具有公共 IP 地址的 jumpbox。 可以通过此公共 IP 地址连接到 jumpbox,然后通过专用 IP 地址从那里连接到规模集中的 VM。此模板在 WINDOWS VM 的 VM 规模集上启用加密。 |
创建 Azure Key Vault 和机密 |
此模板创建 Azure Key Vault 和机密。 |
使用 RBAC 和机密 创建 Azure Key Vault |
此模板创建 Azure Key Vault 和机密。 它利用 Azure RBAC 管理对机密的授权,而不是依赖于访问策略 |
创建密钥保管库、托管标识和角色分配 |
此模板创建密钥保管库、托管标识和角色分配。 |
通过专用终结点连接到 Key Vault |
此示例演示如何使用配置虚拟网络和专用 DNS 区域通过专用终结点访问 Key Vault。 |
创建 Key Vault 和机密列表 |
此模板创建 Key Vault 和密钥保管库中的机密列表(随参数一起传递) |
创建启用了日志记录的 Key Vault |
此模板创建用于日志记录的 Azure Key Vault 和 Azure 存储帐户。 它可以选择创建资源锁来保护 Key Vault 和存储资源。 |
Azure AI Studio 基本设置 |
此模板集演示如何使用基本设置设置设置 Azure AI Studio,这意味着启用了公共 Internet 访问、Microsoft托管密钥进行加密和 AI 资源的Microsoft托管标识配置。 |
Azure AI Studio 基本设置 |
此模板集演示如何使用基本设置设置设置 Azure AI Studio,这意味着启用了公共 Internet 访问、Microsoft托管密钥进行加密和 AI 资源的Microsoft托管标识配置。 |
使用 Microsoft Entra ID 身份验证 |
此模板集演示如何为依赖资源(例如 Azure AI 服务和 Azure 存储)设置具有 Microsoft Entra ID 身份验证的 Azure AI Studio。 |
创建包含多个数据集的 AML 工作区 & 数据存储 |
此模板创建包含多个数据集 & 数据存储的 Azure 机器学习工作区。 |
Azure 机器学习端到端安全设置 |
此 Bicep 模板集演示如何在安全设置中端到端设置 Azure 机器学习。 此参考实现包括工作区、计算群集、计算实例和附加的专用 AKS 群集。 |
Azure 机器学习端到端安全设置(旧版) |
此 Bicep 模板集演示如何在安全设置中端到端设置 Azure 机器学习。 此参考实现包括工作区、计算群集、计算实例和附加的专用 AKS 群集。 |
创建具有专用 IP 地址的 AKS 计算目标 |
此模板使用专用 IP 地址在给定的 Azure 机器学习服务工作区中创建 AKS 计算目标。 |
创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure Key Vault、Azure 存储、Azure Application Insights 和 Azure 容器注册表。 此配置描述了开始使用 Azure 机器学习所需的最少资源集。 |
创建 Azure 机器学习服务工作区(CMK) |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure Key Vault、Azure 存储、Azure Application Insights 和 Azure 容器注册表。 该示例演示如何使用客户管理的加密密钥配置 Azure 机器学习进行加密。 |
创建 Azure 机器学习服务工作区(CMK) |
此部署模板指定如何使用加密密钥创建具有服务端加密的 Azure 机器学习工作区。 |
创建 Azure 机器学习服务工作区(vnet) |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure Key Vault、Azure 存储、Azure Application Insights 和 Azure 容器注册表。 此配置描述了在网络隔离设置中开始使用 Azure 机器学习所需的资源集。 |
创建 Azure 机器学习服务工作区(旧版) |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure Key Vault、Azure 存储、Azure Application Insights 和 Azure 容器注册表。 此配置描述了在网络隔离设置中开始使用 Azure 机器学习所需的资源集。 |
使用应用程序网关入口控制器 |
此示例演示如何使用应用程序网关、应用程序网关入口控制器、Azure 容器注册表、Log Analytics 和 Key Vault 部署 AKS 群集 |
使用 Key Vault 创建应用程序网关 V2 |
此模板在虚拟网络、用户定义的标识、Key Vault、机密(证书数据)和 Key Vault 和应用程序网关上的访问策略中部署应用程序网关 V2。 |
Azure 防火墙高级版 的 |
此模板创建具有高级功能(例如入侵检查检测(IDPS)、TLS 检查和 Web 类别筛选等高级功能的 Azure 防火墙高级和防火墙策略 |
创建跨租户专用终结点资源 |
此模板允许你在相同或跨租户环境中创建 Priavate Endpoint 资源,并添加 dns 区域配置。 |
使用证书创建应用程序网关 |
此模板演示如何生成 Key Vault 自签名证书,然后从应用程序网关引用。 |
使用客户管理的密钥 |
此模板部署一个存储帐户,其中包含客户管理的密钥,用于加密,该密钥生成并放置在 Key Vault 中。 |
使用 Azure SQL 后端 |
此模板创建具有 Azure SQL 后端的应用服务环境以及专用终结点以及通常用于专用/隔离环境中的关联资源。 |
Azure 函数应用和 HTTP 触发的函数 |
此示例在模板中部署 Azure 函数应用和 HTTP 触发的函数内联。 它还部署 Key Vault,并使用函数应用的主机密钥填充机密。 |
使用内部 API 管理和 Web 应用 |
应用程序网关将 Internet 流量路由到虚拟网络(内部模式)API 管理实例,该实例服务 Azure Web 应用中托管的 Web API。 |
ARM 模板资源定义
可以使用目标操作部署保管库资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
言论
有关使用密钥保管库获取安全值的指南,请参阅 使用 Bicep管理机密。
有关创建机密的快速入门,请参阅 快速入门:使用 ARM 模板设置和检索 Azure Key Vault 中的机密。
有关创建密钥的快速入门,请参阅 快速入门:使用 ARM 模板创建 Azure 密钥保管库和密钥。
资源格式
若要创建 Microsoft.KeyVault/vaults 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2023-02-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"properties": {
"accessPolicies": [
{
"applicationId": "string",
"objectId": "string",
"permissions": {
"certificates": [ "string" ],
"keys": [ "string" ],
"secrets": [ "string" ],
"storage": [ "string" ]
},
"tenantId": "string"
}
],
"createMode": "string",
"enabledForDeployment": "bool",
"enabledForDiskEncryption": "bool",
"enabledForTemplateDeployment": "bool",
"enablePurgeProtection": "bool",
"enableRbacAuthorization": "bool",
"enableSoftDelete": "bool",
"networkAcls": {
"bypass": "string",
"defaultAction": "string",
"ipRules": [
{
"value": "string"
}
],
"virtualNetworkRules": [
{
"id": "string",
"ignoreMissingVnetServiceEndpoint": "bool"
}
]
},
"provisioningState": "string",
"publicNetworkAccess": "string",
"sku": {
"family": "A",
"name": "string"
},
"softDeleteRetentionInDays": "int",
"tenantId": "string",
"vaultUri": "string"
}
}
属性值
金库
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.KeyVault/vaults” |
apiVersion | 资源 API 版本 | '2023-02-01' |
名字 | 资源名称 | string (必需) 字符限制:3-24 有效字符: 字母数字和连字符。 以字母开头。 以字母或数字结尾。 不能包含连续连字符。 资源名称在 Azure 中必须是唯一的。 |
位置 | 应在其中创建密钥保管库的受支持 Azure 位置。 | string (必需) |
标签 | 将分配给密钥保管库的标记。 | 标记名称和值的字典。 请参阅模板 中的 |
性能 | 保管库的属性 | VaultProperties(必需) |
VaultProperties
名字 | 描述 | 价值 |
---|---|---|
accessPolicies | 有权访问密钥保管库的 0 到 1024 标识的数组。 数组中的所有标识都必须使用与密钥保管库租户 ID 相同的租户 ID。 当 createMode 设置为 recover 时,不需要访问策略。 否则,需要访问策略。 |
AccessPolicyEntry[] |
createMode | 保管库的创建模式,用于指示是否需要恢复保管库。 | “default” “recover” |
enabledForDeployment | 用于指定是否允许 Azure 虚拟机从密钥保管库检索存储为机密的证书的属性。 | bool |
enabledForDiskEncryption | 用于指定是否允许 Azure 磁盘加密从保管库检索机密和解包密钥的属性。 | bool |
enabledForTemplateDeployment | 用于指定是否允许 Azure 资源管理器从密钥保管库检索机密的属性。 | bool |
enablePurgeProtection | 指定是否为此保管库启用了针对清除的保护的属性。 将此属性设置为 true 可激活针对此保管库及其内容的清除保护 - 只有 Key Vault 服务可能会启动难以、不可恢复的删除。 仅当启用软删除时,此设置才有效。 启用此功能不可逆 - 也就是说,属性不接受 false 作为其值。 | bool |
enableRbacAuthorization | 用于控制如何授权数据操作的属性。 如果为 true,密钥保管库将使用基于角色的访问控制(RBAC)来授权数据操作,并且将忽略保管库属性中指定的访问策略。 如果为 false,密钥保管库将使用保管库属性中指定的访问策略,并且将忽略 Azure 资源管理器上存储的任何策略。 如果为 null 或未指定,则会使用默认值 false 创建保管库。 请注意,管理操作始终使用 RBAC 进行授权。 | bool |
enableSoftDelete | 用于指定是否为此密钥保管库启用了“软删除”功能的属性。 如果在创建新密钥保管库时它未设置为任何值(true 或 false),则默认情况下会将其设置为 true。 设置为 true 后,无法将其还原为 false。 | bool |
networkAcls | 控制从特定网络位置访问密钥保管库的可访问性的规则。 | NetworkRuleSet |
provisioningState | 保管库的预配状态。 | “RegisteringDns” “Succeeded” |
publicNetworkAccess | 用于指定保管库是否接受来自公共 Internet 的流量的属性。 如果设置为“禁用”除专用终结点流量之外的所有流量,并且源自受信任的服务的所有流量将被阻止。 这将替代设置的防火墙规则,这意味着即使存在防火墙规则,我们也不会遵守这些规则。 | 字符串 |
sku | SKU 详细信息 | Sku(必需) |
softDeleteRetentionInDays | softDelete 数据保留天数。 它接受 >=7,<=90。 | int |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | string (必需) 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
vaultUri | 用于对密钥和机密执行操作的保管库的 URI。 | 字符串 |
AccessPolicyEntry
名字 | 描述 | 价值 |
---|---|---|
applicationId | 代表主体发出请求的客户端的应用程序 ID | 字符串 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
objectId | 保管库的 Azure Active Directory 租户中用户、服务主体或安全组的对象 ID。 对象 ID 对于访问策略列表必须是唯一的。 | string (必需) |
权限 | 标识对密钥、机密和证书的权限。 | 权限(必需) |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | string (必需) 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
权限
名字 | 描述 | 价值 |
---|---|---|
证书 | 证书权限 | 包含任一项的字符串数组: “all” “backup” “create” “delete” “deleteissuers” “get” “getissuers” “import” “list” “listissuers” “managecontacts” “manageissuers” “purge” “recover” “restore” “setissuers” “update” |
钥匙 | 密钥权限 | 包含任一项的字符串数组: “all” “backup” “create” “decrypt” “delete” “encrypt” “get” “getrotationpolicy” “import” “list” “purge” “recover” 'release' “restore” “rotate” “setrotationpolicy” “sign” “unwrapKey” “update” “verify” “wrapKey” |
秘密 | 对机密的权限 | 包含任一项的字符串数组: “all” “backup” “delete” “get” “list” “purge” “recover” “restore” “set” |
存储 | 对存储帐户的权限 | 包含任一项的字符串数组: “all” “backup” “delete” “deletesas” “get” “getsas” “list” “listsas” “purge” “recover” “regeneratekey” “restore” “set” “setsas” “update” |
NetworkRuleSet
名字 | 描述 | 价值 |
---|---|---|
旁路 | 告知哪些流量可以绕过网络规则。 这可以是“AzureServices”或“None”。 如果未指定默认值,则为“AzureServices”。 | “AzureServices” “None” |
defaultAction | 当没有来自 ipRules 和 virtualNetworkRules 的规则匹配时,默认操作。 仅当评估绕过属性后,才使用此属性。 | “允许” “拒绝” |
ipRules | IP 地址规则的列表。 | IPRule[] |
virtualNetworkRules | 虚拟网络规则的列表。 | VirtualNetworkRule[] |
IPRule
名字 | 描述 | 价值 |
---|---|---|
价值 | CIDR 表示法中的 IPv4 地址范围,例如“124.56.78.91”(简单 IP 地址)或“124.56.78.0/24”(以 124.56.78 开头的所有地址)。 | string (必需) |
VirtualNetworkRule
名字 | 描述 | 价值 |
---|---|---|
id | vnet 子网的完整资源 ID,例如“/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1”。 | string (必需) |
ignoreMissingVnetServiceEndpoint | 用于指定 NRP 是否将忽略检查父子网是否配置 serviceEndpoints 的属性。 | bool |
Sku
名字 | 描述 | 价值 |
---|---|---|
家庭 | SKU 系列名称 | “A”(必需) |
名字 | 用于指定密钥保管库是标准保管库还是高级保管库的 SKU 名称。 | “premium” “standard”(必需) |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
使用 NAT 网关和应用程序网关 |
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,以及如何为入站连接部署应用程序网关。 |
使用公共 DNS 区域创建专用 AKS 群集 |
此示例演示如何使用公共 DNS 区域部署专用 AKS 群集。 |
在 Azure 体系结构 上部署体育分析 |
创建启用了 ADLS Gen 2 的 Azure 存储帐户、存储帐户的链接服务的 Azure 数据工厂实例(如果已部署的 Azure SQL 数据库)和 Azure Databricks 实例。 将为部署模板的用户的 AAD 标识以及 ADF 实例的托管标识授予存储帐户上的存储 Blob 数据参与者角色。 还有一些选项可用于部署 Azure Key Vault 实例、Azure SQL 数据库和 Azure 事件中心(用于流式处理用例)。 部署 Azure Key Vault 后,将为部署模板的用户提供数据工厂托管标识和 AAD 标识,并被授予 Key Vault 机密用户角色。 |
Azure 机器学习工作区 |
此模板创建新的 Azure 机器学习工作区,以及加密的存储帐户、KeyVault 和 Applications Insights 日志记录 |
创建 KeyVault |
此模块使用 apiVersion 2019-09-01 创建 KeyVault 资源。 |
从 KeyVault 使用 SSL 创建 API 管理服务 |
此模板部署配置有用户分配标识的 API 管理服务。 它使用此标识从 KeyVault 提取 SSL 证书,并通过每隔 4 小时检查一次来更新它。 |
使用容器应用创建 Dapr pub-sub servicebus 应用 |
使用容器应用创建 Dapr pub-sub servicebus 应用。 |
创建 Azure Stack HCI 23H2 群集 |
此模板使用 ARM 模板创建 Azure Stack HCI 23H2 群集。 |
创建 Azure Stack HCI 23H2 群集 |
此模板使用 ARM 模板(使用自定义存储 IP)创建 Azure Stack HCI 23H2 群集 |
在无交换机-双链路网络模式下创建 Azure Stack HCI 23H2 群集 |
此模板使用 ARM 模板创建 Azure Stack HCI 23H2 群集。 |
在 Switchless-SingleLink 网络模式下创建 Azure Stack HCI 23H2 群集 |
此模板使用 ARM 模板创建 Azure Stack HCI 23H2 群集。 |
从库映像 创建新的加密 Windows vm |
此模板使用服务器 2k12 库映像创建新的加密 Windows VM。 |
从库映像创建新的加密托管磁盘 win-vm |
此模板使用服务器 2k12 库映像创建新的加密托管磁盘 Windows VM。 |
此模板加密正在运行的 Windows VMSS |
此模板在正在运行的 Windows VM 规模集上启用加密 |
在正在运行的 Windows VM 上启用加密 |
此模板在正在运行的 Windows VM 上启用加密。 |
使用 jumpbox 创建和加密新的 Windows VMSS |
使用此模板,可以使用服务器 Windows 版本的最新修补版本部署简单的 Windows VM 规模集。 此模板还会在同一虚拟网络中部署具有公共 IP 地址的 jumpbox。 可以通过此公共 IP 地址连接到 jumpbox,然后通过专用 IP 地址从那里连接到规模集中的 VM。此模板在 WINDOWS VM 的 VM 规模集上启用加密。 |
创建 Azure Key Vault 和机密 |
此模板创建 Azure Key Vault 和机密。 |
使用 RBAC 和机密 创建 Azure Key Vault |
此模板创建 Azure Key Vault 和机密。 它利用 Azure RBAC 管理对机密的授权,而不是依赖于访问策略 |
创建密钥保管库、托管标识和角色分配 |
此模板创建密钥保管库、托管标识和角色分配。 |
通过专用终结点连接到 Key Vault |
此示例演示如何使用配置虚拟网络和专用 DNS 区域通过专用终结点访问 Key Vault。 |
创建 Key Vault 和机密列表 |
此模板创建 Key Vault 和密钥保管库中的机密列表(随参数一起传递) |
创建启用了日志记录的 Key Vault |
此模板创建用于日志记录的 Azure Key Vault 和 Azure 存储帐户。 它可以选择创建资源锁来保护 Key Vault 和存储资源。 |
Azure AI Studio 基本设置 |
此模板集演示如何使用基本设置设置设置 Azure AI Studio,这意味着启用了公共 Internet 访问、Microsoft托管密钥进行加密和 AI 资源的Microsoft托管标识配置。 |
Azure AI Studio 基本设置 |
此模板集演示如何使用基本设置设置设置 Azure AI Studio,这意味着启用了公共 Internet 访问、Microsoft托管密钥进行加密和 AI 资源的Microsoft托管标识配置。 |
使用 Microsoft Entra ID 身份验证 |
此模板集演示如何为依赖资源(例如 Azure AI 服务和 Azure 存储)设置具有 Microsoft Entra ID 身份验证的 Azure AI Studio。 |
创建包含多个数据集的 AML 工作区 & 数据存储 |
此模板创建包含多个数据集 & 数据存储的 Azure 机器学习工作区。 |
Azure 机器学习端到端安全设置 |
此 Bicep 模板集演示如何在安全设置中端到端设置 Azure 机器学习。 此参考实现包括工作区、计算群集、计算实例和附加的专用 AKS 群集。 |
Azure 机器学习端到端安全设置(旧版) |
此 Bicep 模板集演示如何在安全设置中端到端设置 Azure 机器学习。 此参考实现包括工作区、计算群集、计算实例和附加的专用 AKS 群集。 |
创建具有专用 IP 地址的 AKS 计算目标 |
此模板使用专用 IP 地址在给定的 Azure 机器学习服务工作区中创建 AKS 计算目标。 |
创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure Key Vault、Azure 存储、Azure Application Insights 和 Azure 容器注册表。 此配置描述了开始使用 Azure 机器学习所需的最少资源集。 |
创建 Azure 机器学习服务工作区(CMK) |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure Key Vault、Azure 存储、Azure Application Insights 和 Azure 容器注册表。 该示例演示如何使用客户管理的加密密钥配置 Azure 机器学习进行加密。 |
创建 Azure 机器学习服务工作区(CMK) |
此部署模板指定如何使用加密密钥创建具有服务端加密的 Azure 机器学习工作区。 |
创建 Azure 机器学习服务工作区(vnet) |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure Key Vault、Azure 存储、Azure Application Insights 和 Azure 容器注册表。 此配置描述了在网络隔离设置中开始使用 Azure 机器学习所需的资源集。 |
创建 Azure 机器学习服务工作区(旧版) |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure Key Vault、Azure 存储、Azure Application Insights 和 Azure 容器注册表。 此配置描述了在网络隔离设置中开始使用 Azure 机器学习所需的资源集。 |
使用应用程序网关入口控制器 |
此示例演示如何使用应用程序网关、应用程序网关入口控制器、Azure 容器注册表、Log Analytics 和 Key Vault 部署 AKS 群集 |
使用 Key Vault 创建应用程序网关 V2 |
此模板在虚拟网络、用户定义的标识、Key Vault、机密(证书数据)和 Key Vault 和应用程序网关上的访问策略中部署应用程序网关 V2。 |
Azure 防火墙高级版 的 |
此模板创建具有高级功能(例如入侵检查检测(IDPS)、TLS 检查和 Web 类别筛选等高级功能的 Azure 防火墙高级和防火墙策略 |
创建跨租户专用终结点资源 |
此模板允许你在相同或跨租户环境中创建 Priavate Endpoint 资源,并添加 dns 区域配置。 |
使用证书创建应用程序网关 |
此模板演示如何生成 Key Vault 自签名证书,然后从应用程序网关引用。 |
使用客户管理的密钥 |
此模板部署一个存储帐户,其中包含客户管理的密钥,用于加密,该密钥生成并放置在 Key Vault 中。 |
使用 Azure SQL 后端 |
此模板创建具有 Azure SQL 后端的应用服务环境以及专用终结点以及通常用于专用/隔离环境中的关联资源。 |
Azure 函数应用和 HTTP 触发的函数 |
此示例在模板中部署 Azure 函数应用和 HTTP 触发的函数内联。 它还部署 Key Vault,并使用函数应用的主机密钥填充机密。 |
使用内部 API 管理和 Web 应用 |
应用程序网关将 Internet 流量路由到虚拟网络(内部模式)API 管理实例,该实例服务 Azure Web 应用中托管的 Web API。 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署保管库资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.KeyVault/vaults 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.KeyVault/vaults@2023-02-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
accessPolicies = [
{
applicationId = "string"
objectId = "string"
permissions = {
certificates = [
"string"
]
keys = [
"string"
]
secrets = [
"string"
]
storage = [
"string"
]
}
tenantId = "string"
}
]
createMode = "string"
enabledForDeployment = bool
enabledForDiskEncryption = bool
enabledForTemplateDeployment = bool
enablePurgeProtection = bool
enableRbacAuthorization = bool
enableSoftDelete = bool
networkAcls = {
bypass = "string"
defaultAction = "string"
ipRules = [
{
value = "string"
}
]
virtualNetworkRules = [
{
id = "string"
ignoreMissingVnetServiceEndpoint = bool
}
]
}
provisioningState = "string"
publicNetworkAccess = "string"
sku = {
family = "A"
name = "string"
}
softDeleteRetentionInDays = int
tenantId = "string"
vaultUri = "string"
}
})
}
属性值
金库
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.KeyVault/vaults@2023-02-01” |
名字 | 资源名称 | string (必需) 字符限制:3-24 有效字符: 字母数字和连字符。 以字母开头。 以字母或数字结尾。 不能包含连续连字符。 资源名称在 Azure 中必须是唯一的。 |
位置 | 应在其中创建密钥保管库的受支持 Azure 位置。 | string (必需) |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | string (必需) |
标签 | 将分配给密钥保管库的标记。 | 标记名称和值的字典。 |
性能 | 保管库的属性 | VaultProperties(必需) |
VaultProperties
名字 | 描述 | 价值 |
---|---|---|
accessPolicies | 有权访问密钥保管库的 0 到 1024 标识的数组。 数组中的所有标识都必须使用与密钥保管库租户 ID 相同的租户 ID。 当 createMode 设置为 recover 时,不需要访问策略。 否则,需要访问策略。 |
AccessPolicyEntry[] |
createMode | 保管库的创建模式,用于指示是否需要恢复保管库。 | “default” “recover” |
enabledForDeployment | 用于指定是否允许 Azure 虚拟机从密钥保管库检索存储为机密的证书的属性。 | bool |
enabledForDiskEncryption | 用于指定是否允许 Azure 磁盘加密从保管库检索机密和解包密钥的属性。 | bool |
enabledForTemplateDeployment | 用于指定是否允许 Azure 资源管理器从密钥保管库检索机密的属性。 | bool |
enablePurgeProtection | 指定是否为此保管库启用了针对清除的保护的属性。 将此属性设置为 true 可激活针对此保管库及其内容的清除保护 - 只有 Key Vault 服务可能会启动难以、不可恢复的删除。 仅当启用软删除时,此设置才有效。 启用此功能不可逆 - 也就是说,属性不接受 false 作为其值。 | bool |
enableRbacAuthorization | 用于控制如何授权数据操作的属性。 如果为 true,密钥保管库将使用基于角色的访问控制(RBAC)来授权数据操作,并且将忽略保管库属性中指定的访问策略。 如果为 false,密钥保管库将使用保管库属性中指定的访问策略,并且将忽略 Azure 资源管理器上存储的任何策略。 如果为 null 或未指定,则会使用默认值 false 创建保管库。 请注意,管理操作始终使用 RBAC 进行授权。 | bool |
enableSoftDelete | 用于指定是否为此密钥保管库启用了“软删除”功能的属性。 如果在创建新密钥保管库时它未设置为任何值(true 或 false),则默认情况下会将其设置为 true。 设置为 true 后,无法将其还原为 false。 | bool |
networkAcls | 控制从特定网络位置访问密钥保管库的可访问性的规则。 | NetworkRuleSet |
provisioningState | 保管库的预配状态。 | “RegisteringDns” “Succeeded” |
publicNetworkAccess | 用于指定保管库是否接受来自公共 Internet 的流量的属性。 如果设置为“禁用”除专用终结点流量之外的所有流量,并且源自受信任的服务的所有流量将被阻止。 这将替代设置的防火墙规则,这意味着即使存在防火墙规则,我们也不会遵守这些规则。 | 字符串 |
sku | SKU 详细信息 | Sku(必需) |
softDeleteRetentionInDays | softDelete 数据保留天数。 它接受 >=7,<=90。 | int |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | string (必需) 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
vaultUri | 用于对密钥和机密执行操作的保管库的 URI。 | 字符串 |
AccessPolicyEntry
名字 | 描述 | 价值 |
---|---|---|
applicationId | 代表主体发出请求的客户端的应用程序 ID | 字符串 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
objectId | 保管库的 Azure Active Directory 租户中用户、服务主体或安全组的对象 ID。 对象 ID 对于访问策略列表必须是唯一的。 | string (必需) |
权限 | 标识对密钥、机密和证书的权限。 | 权限(必需) |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | string (必需) 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
权限
名字 | 描述 | 价值 |
---|---|---|
证书 | 证书权限 | 包含任一项的字符串数组: “all” “backup” “create” “delete” “deleteissuers” “get” “getissuers” “import” “list” “listissuers” “managecontacts” “manageissuers” “purge” “recover” “restore” “setissuers” “update” |
钥匙 | 密钥权限 | 包含任一项的字符串数组: “all” “backup” “create” “decrypt” “delete” “encrypt” “get” “getrotationpolicy” “import” “list” “purge” “recover” “release” “restore” “旋转” “setrotationpolicy” “sign” “unwrapKey” “update” “verify” “wrapKey” |
秘密 | 对机密的权限 | 包含任一项的字符串数组: “all” “backup” “delete” “get” “list” “purge” “recover” “restore” “set” |
存储 | 对存储帐户的权限 | 包含任一项的字符串数组: “all” “backup” “delete” “deletesas” “get” “getsas” “list” “listsas” “purge” “recover” “regeneratekey” “restore” “set” “setsas” “update” |
NetworkRuleSet
名字 | 描述 | 价值 |
---|---|---|
旁路 | 告知哪些流量可以绕过网络规则。 这可以是“AzureServices”或“None”。 如果未指定默认值,则为“AzureServices”。 | “AzureServices” “None” |
defaultAction | 当没有来自 ipRules 和 virtualNetworkRules 的规则匹配时,默认操作。 仅当评估绕过属性后,才使用此属性。 | “允许” “拒绝” |
ipRules | IP 地址规则的列表。 | IPRule[] |
virtualNetworkRules | 虚拟网络规则的列表。 | VirtualNetworkRule[] |
IPRule
名字 | 描述 | 价值 |
---|---|---|
价值 | CIDR 表示法中的 IPv4 地址范围,例如“124.56.78.91”(简单 IP 地址)或“124.56.78.0/24”(以 124.56.78 开头的所有地址)。 | string (必需) |
VirtualNetworkRule
名字 | 描述 | 价值 |
---|---|---|
id | vnet 子网的完整资源 ID,例如“/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1”。 | string (必需) |
ignoreMissingVnetServiceEndpoint | 用于指定 NRP 是否将忽略检查父子网是否配置 serviceEndpoints 的属性。 | bool |
Sku
名字 | 描述 | 价值 |
---|---|---|
家庭 | SKU 系列名称 | “A”(必需) |
名字 | 用于指定密钥保管库是标准保管库还是高级保管库的 SKU 名称。 | “premium” “标准”(必需) |