你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.KeyVault 保管库 2023-02-01
Bicep 资源定义
可以使用面向以下操作部署保管库资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
注解
有关使用密钥保管库获取安全值的指南,请参阅 使用 Bicep 管理机密。
有关创建机密的快速入门,请参阅快速入门:使用 ARM 模板从 Azure 密钥保管库设置和检索机密。
有关创建密钥的快速入门,请参阅 快速入门:使用 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'
}
}
属性值
vaults
名称 | 说明 | 值 |
---|---|---|
name | 资源名称 | 字符串 (必需) 字符限制:3-24 有效字符: 字母数字和连字符。 以字母开头。 以字母或数字结尾。 不能包含连续的连字符。 资源名称在 Azure 中必须是唯一的。 |
location | 应在其中创建密钥保管库的受支持 Azure 位置。 | 字符串 (必需) |
标记 | 将分配给密钥保管库的标记。 | 标记名称和值的字典。 请参阅 模板中的标记 |
properties | 保管库的属性 | 保管库属性 (必需) |
VaultProperties
名称 | 说明 | 值 |
---|---|---|
accessPolicies | 0 到 1024 个标识的数组,这些标识有权访问密钥保管库。 数组中的所有标识都必须使用与密钥保管库的租户 ID 相同的租户 ID。 当 设置为 recover 时createMode ,不需要访问策略。 否则,需要访问策略。 |
AccessPolicyEntry[] |
createMode | 保管库的创建模式,用于指示是否需要恢复保管库。 | 'default' 'recover' |
enabledForDeployment | 用于指定是否允许 Azure 虚拟机从密钥保管库检索存储为机密的证书的属性。 | bool |
enabledForDiskEncryption | 用于指定是否允许 Azure 磁盘加密从保管库检索机密和解包密钥的属性。 | bool |
enabledForTemplateDeployment | 用于指定是否允许 Azure 资源管理器 从密钥保管库检索机密的属性。 | bool |
enablePurgeProtection | 指定是否为此保管库启用清除防护的属性。 将此属性设置为 true 可激活针对此保管库及其内容的清除保护 - 只有密钥保管库服务可能会启动不可恢复的硬删除。 仅当还启用了软删除时,此设置才有效。 启用此功能是不可逆的 - 也就是说,属性不接受 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。 | 字符串 (必需) 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
vaultUri | 用于对密钥和机密执行操作的保管库的 URI。 | 字符串 |
AccessPolicyEntry
名称 | 说明 | 值 |
---|---|---|
applicationId | 代表主体发出请求的客户端的应用程序 ID | 字符串 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
objectId | 保管库的 Azure Active Directory 租户中用户、服务主体或安全组的对象 ID。 对于访问策略列表,对象 ID 必须是唯一的。 | 字符串 (必需) |
权限 | 标识对密钥、机密和证书拥有的权限。 | 所需的权限 () |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | 字符串 (必需) 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
权限
名称 | 说明 | 值 |
---|---|---|
certificates | 对证书的权限 | 包含任何一项的字符串数组: '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 中没有规则匹配时的默认操作。 仅在评估 bypass 属性后,才使用此选项。 | “允许” “拒绝” |
ipRules | IP 地址规则的列表。 | IPRule[] |
virtualNetworkRules | 虚拟网络规则列表。 | VirtualNetworkRule[] |
IPRule
名称 | 说明 | 值 |
---|---|---|
value | CIDR 表示法中的 IPv4 地址范围,例如“124.56.78.91” (简单 IP 地址) 或“124.56.78.0/24” (以 124.56.78) 开头的所有地址。 | 字符串 (必需) |
VirtualNetworkRule
名称 | 说明 | Value |
---|---|---|
id | vnet 子网的完整资源 ID,例如“/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1”。 | 字符串 (必需) |
ignoreMissingVnetServiceEndpoint | 属性,指定如果父子网配置了 serviceEndpoint,NRP 是否会忽略检查。 | bool |
SKU
名称 | 说明 | 值 |
---|---|---|
family | SKU 系列名称 | “A” (必需的) |
name | 用于指定密钥保管库是标准保管库还是高级保管库的 SKU 名称。 | “premium” 需要“标准” () |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 说明 |
---|---|
适用于 Azure 的 SAS 9.4 和 Viya 快速入门模板 |
适用于 Azure 的 SAS® 9.4 和 Viya 快速入门模板在云中部署这些产品:SAS® Enterprise BI Server 9.4、SAS® Enterprise Miner 15.1 和 Linux 上的 SAS® Visual Analytics 8.5,以及 Linux for Viya 上的 SAS® Visual Data Mining and Machine Learning 8.5。 本快速入门是一个参考体系结构,适用于想要使用云友好技术在 Azure 上部署 SAS® 9.4 和 Viya 组合的用户。 通过在 Azure 上部署 SAS® 平台,可以获得 SAS® 9.4 和 Viya 环境的集成环境,以便可以同时利用这两种环境。 SAS® Viya 是一个支持云的内存中分析引擎。 它使用弹性、可缩放和容错处理来解决复杂的分析挑战。 SAS® Viya 通过使用支持 SAS®、Python、R、Java 和 Lua 编程的标准化代码库,为分析提供更快的处理。 它还支持云、本地或混合环境,并无缝部署到任何基础结构或应用程序生态系统。 |
具有 NAT 网关和应用程序网关的 AKS 群集 |
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,为入站连接部署应用程序网关。 |
创建具有公共 DNS 区域的专用 AKS 群集 |
此示例演示如何部署具有公共 DNS 区域的专用 AKS 群集。 |
在 Azure 体系结构上部署体育分析 |
创建启用了 ADLS Gen 2 的 Azure 存储帐户、具有存储帐户链接服务的Azure 数据工厂实例 (Azure SQL数据库(如果部署) )和 Azure Databricks 实例。 部署模板的用户的 AAD 标识和 ADF 实例的托管标识将被授予存储帐户上的存储 Blob 数据参与者角色。 还有一些选项可用于部署 Azure 密钥保管库 实例、Azure SQL数据库和 Azure 事件中心 (,用于流式处理用例) 。 部署 Azure 密钥保管库时,将为部署模板的用户授予数据工厂托管标识和 AAD 标识密钥保管库机密用户角色。 |
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 群集。 |
从库映像创建新的加密 Windows VM |
此模板使用服务器 2k12 库映像创建新的加密 Windows VM。 |
从库映像创建新的加密托管磁盘 win-vm |
此模板使用服务器 2k12 库映像创建新的加密托管磁盘 Windows VM。 |
此模板加密正在运行的 Windows VMSS |
此模板在正在运行的 Windows VM 规模集上启用加密 |
在正在运行的 Windows VM 上启用加密 |
此模板在正在运行的 Windows VM 上启用加密。 |
使用 jumpbox 创建和加密新的 Windows VMSS |
此模板允许使用最新修补版本的服务器 Windows 版本部署 Windows VM 的简单 VM 规模集。 此模板还在同一虚拟网络中部署具有公共 IP 地址的 jumpbox。 可以通过此公共 IP 地址连接到 jumpbox,然后通过专用 IP 地址从那里连接到规模集中的 VM。此模板在 Windows VM 的 VM 规模集上启用加密。 |
创建 Azure Key Vault 和机密 |
此模板创建 Azure 密钥保管库和机密。 |
使用 RBAC 和机密创建 Azure 密钥保管库 |
此模板创建 Azure 密钥保管库和机密。 它不依赖于访问策略,而是利用 Azure RBAC 来管理机密授权 |
创建密钥保管库、托管标识和角色分配 |
此模板创建密钥保管库、托管标识和角色分配。 |
通过专用终结点连接到密钥保管库 |
此示例演示如何使用配置虚拟网络和专用 DNS 区域通过专用终结点访问密钥保管库。 |
创建 Key Vault 和机密列表 |
此模板在密钥保管库中创建与参数一起传递的密钥保管库和机密列表 |
创建启用了日志记录的密钥保管库 |
此模板创建一个 Azure 密钥保管库和一个用于日志记录的 Azure 存储帐户。 它可选择创建资源锁来保护密钥保管库和存储资源。 |
创建具有多个数据集的 AML 工作区 & 数据存储 |
此模板创建包含多个数据集的 Azure 机器学习工作区 & 数据存储。 |
Azure 机器学习端到端安全设置 |
这组 Bicep 模板演示如何在安全设置中端到端地设置 Azure 机器学习。 此参考实现包括工作区、计算群集、计算实例和附加的专用 AKS 群集。 |
Azure 机器学习端到端安全设置 (旧版) |
这组 Bicep 模板演示如何在安全设置中端到端地设置 Azure 机器学习。 此参考实现包括工作区、计算群集、计算实例和附加的专用 AKS 群集。 |
创建具有专用 IP 地址的 AKS 计算目标 |
此模板在给定的 Azure 机器学习服务工作区中创建具有专用 IP 地址的 AKS 计算目标。 |
创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure 密钥保管库、Azure 存储、Azure 应用程序见解和Azure 容器注册表。 此配置描述了开始使用 Azure 机器学习所需的最少资源集。 |
(CMK) 创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure 密钥保管库、Azure 存储、Azure 应用程序见解和Azure 容器注册表。 该示例演示如何使用客户管理的加密密钥配置 Azure 机器学习进行加密。 |
(vnet) 创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure 密钥保管库、Azure 存储、Azure 应用程序见解和Azure 容器注册表。 此配置描述了在网络隔离设置中开始使用 Azure 机器学习所需的资源集。 |
(旧版) 创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure 密钥保管库、Azure 存储、Azure 应用程序见解和Azure 容器注册表。 此配置描述了在网络隔离设置中开始使用 Azure 机器学习所需的资源集。 |
具有 应用程序网关 入口控制器的 AKS 群集 |
此示例演示如何使用 应用程序网关、应用程序网关 入口控制器、Azure 容器注册表、Log Analytics 和 密钥保管库 部署 AKS 群集 |
使用 密钥保管库 创建应用程序网关 V2 |
此模板在虚拟网络中部署应用程序网关 V2、用户定义的标识、密钥保管库、机密 (证书数据) ,以及密钥保管库和应用程序网关上的访问策略。 |
Azure 防火墙 Premium 的测试环境 |
此模板创建具有高级功能的 Azure 防火墙 Premium 和防火墙策略,例如入侵检查检测 (IDPS) 、TLS 检查和 Web 类别筛选 |
使用证书创建应用程序网关 |
此模板演示如何生成密钥保管库自签名证书,然后从应用程序网关引用。 |
使用客户管理的密钥进行 Azure 存储帐户加密 |
此模板部署一个存储帐户,其中包含客户管理的密钥,用于生成并放置在密钥保管库内的加密。 |
使用 Azure SQL 后端应用服务环境 |
此模板创建一个应用服务环境,其中包含Azure SQL后端、专用终结点以及通常在专用/隔离环境中使用的关联资源。 |
Azure 函数应用和 HTTP 触发的函数 |
此示例在模板中内联部署 Azure 函数应用和 HTTP 触发的函数。 它还部署密钥保管库并使用函数应用的主机密钥填充机密。 |
使用内部API 管理和 Web 应用应用程序网关 |
应用程序网关将 Internet 流量路由到虚拟网络 (内部模式) API 管理 实例,该实例为 Azure Web 应用中托管的 Web API 提供服务。 |
ARM 模板资源定义
可以使用面向以下操作部署保管库资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
注解
有关使用密钥保管库获取安全值的指南,请参阅 使用 Bicep 管理机密。
有关创建机密的快速入门,请参阅快速入门:使用 ARM 模板从 Azure 密钥保管库设置和检索机密。
有关创建密钥的快速入门,请参阅 快速入门:使用 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"
}
}
属性值
vaults
名称 | 说明 | Value |
---|---|---|
type | 资源类型 | 'Microsoft.KeyVault/vaults' |
apiVersion | 资源 API 版本 | '2023-02-01' |
name | 资源名称 | 字符串 (必需) 字符限制:3-24 有效字符: 字母数字和连字符。 以字母开头。 以字母或数字结尾。 不能包含连续的连字符。 资源名称在 Azure 中必须是唯一的。 |
location | 应在其中创建密钥保管库的受支持 Azure 位置。 | 字符串 (必需) |
标记 | 将分配给密钥保管库的标记。 | 标记名称和值的字典。 请参阅 模板中的标记 |
properties | 保管库的属性 | 保管库属性 (必需) |
VaultProperties
名称 | 说明 | 值 |
---|---|---|
accessPolicies | 0 到 1024 个标识的数组,这些标识有权访问密钥保管库。 数组中的所有标识都必须使用与密钥保管库的租户 ID 相同的租户 ID。 当 设置为 recover 时createMode ,不需要访问策略。 否则,需要访问策略。 |
AccessPolicyEntry[] |
createMode | 保管库的创建模式,用于指示是否需要恢复保管库。 | 'default' 'recover' |
enabledForDeployment | 用于指定是否允许 Azure 虚拟机从密钥保管库检索存储为机密的证书的属性。 | bool |
enabledForDiskEncryption | 用于指定是否允许 Azure 磁盘加密从保管库检索机密和解包密钥的属性。 | bool |
enabledForTemplateDeployment | 用于指定是否允许 Azure 资源管理器 从密钥保管库检索机密的属性。 | bool |
enablePurgeProtection | 指定是否为此保管库启用清除防护的属性。 将此属性设置为 true 可激活针对此保管库及其内容的清除保护 - 只有密钥保管库服务可能会启动不可恢复的硬删除。 仅当还启用了软删除时,此设置才有效。 启用此功能是不可逆的 - 也就是说,属性不接受 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。 | 字符串 (必需) 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
vaultUri | 用于对密钥和机密执行操作的保管库的 URI。 | 字符串 |
AccessPolicyEntry
名称 | 说明 | 值 |
---|---|---|
applicationId | 代表主体发出请求的客户端的应用程序 ID | 字符串 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
objectId | 保管库的 Azure Active Directory 租户中用户、服务主体或安全组的对象 ID。 对于访问策略列表,对象 ID 必须是唯一的。 | 字符串 (必需) |
权限 | 标识对密钥、机密和证书拥有的权限。 | 所需的权限 () |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | 字符串 (必需) 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
权限
名称 | 说明 | 值 |
---|---|---|
certificates | 对证书的权限 | 包含任何一项的字符串数组: '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 中没有规则匹配时的默认操作。 这仅在评估 bypass 属性后使用。 | “允许” “拒绝” |
ipRules | IP 地址规则的列表。 | IPRule[] |
virtualNetworkRules | 虚拟网络规则的列表。 | VirtualNetworkRule[] |
IPRule
名称 | 说明 | 值 |
---|---|---|
value | 以 CIDR 表示法表示的 IPv4 地址范围,例如“124.56.78.91” (简单 IP 地址) 或“124.56.78.0/24” (以 124.56.78) 开头的所有地址。 | 字符串 (必需) |
VirtualNetworkRule
名称 | 说明 | Value |
---|---|---|
id | vnet 子网的完整资源 ID,例如“/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1”。 | 字符串 (必需) |
ignoreMissingVnetServiceEndpoint | 属性,用于指定如果父子网配置了 serviceEndpoints,NRP 是否会忽略检查。 | bool |
SKU
名称 | 说明 | 值 |
---|---|---|
family | SKU 系列名称 | 需要“A” () |
name | 用于指定密钥保管库是标准保管库还是高级保管库的 SKU 名称。 | “premium” “standard” (必需) |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 说明 |
---|---|
适用于 Azure 的 SAS 9.4 和 Viya 快速入门模板 |
适用于 Azure 的 SAS® 9.4 和 Viya 快速入门模板在云中部署这些产品:SAS® Enterprise BI Server 9.4、SAS® Enterprise Miner 15.1 和 Linux 上的 SAS® Visual Analytics 8.5,以及 Linux for Viya 上的 SAS® 视觉数据挖掘和机器学习 8.5。 本快速入门是一个参考体系结构,适用于想要使用云友好技术在 Azure 上部署 SAS® 9.4 和 Viya 组合的用户。 通过在 Azure 上部署 SAS® 平台,可以获得 SAS® 9.4 和 Viya 环境的集成环境,以便充分利用这两种环境。 SAS® Viya 是一个支持云的内存中分析引擎。 它使用弹性、可缩放和容错处理来解决复杂的分析难题。 SAS® Viya 使用支持 SAS®、Python、R、Java 和 Lua 编程的标准化基本代码,从而加快分析处理速度。 它还支持云、本地或混合环境,并无缝部署到任何基础结构或应用程序生态系统。 |
具有 NAT 网关和应用程序网关的 AKS 群集 |
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,为入站连接部署应用程序网关。 |
创建具有公共 DNS 区域的专用 AKS 群集 |
此示例演示如何部署具有公共 DNS 区域的专用 AKS 群集。 |
在 Azure 上部署体育分析体系结构 |
创建启用了 ADLS Gen 2 的 Azure 存储帐户,创建一个Azure 数据工厂实例,其中包含存储帐户的链接服务 (Azure SQL数据库(如果已部署) ),以及一个 Azure Databricks 实例。 将为部署模板的用户的 AAD 标识和 ADF 实例的托管标识授予存储帐户上的存储 Blob 数据参与者角色。 还有一些选项可用于部署 Azure 密钥保管库 实例、Azure SQL数据库和 Azure 事件中心 (,用于流式处理用例) 。 部署 Azure 密钥保管库时,将为部署模板的用户授予数据工厂托管标识和 AAD 标识密钥保管库机密用户角色。 |
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 群集。 |
从库映像创建新的加密 Windows VM |
此模板使用服务器 2k12 库映像创建新的加密 Windows VM。 |
从库映像创建新的加密托管磁盘 win-vm |
此模板使用服务器 2k12 库映像创建新的加密托管磁盘 Windows VM。 |
此模板加密正在运行的 Windows VMSS |
此模板在正在运行的 Windows VM 规模集上启用加密 |
在正在运行的 Windows VM 上启用加密 |
此模板在正在运行的 Windows VM 上启用加密。 |
使用 jumpbox 创建和加密新的 Windows VMSS |
此模板允许你使用最新修补版本的服务器 Windows 版本部署 Windows VM 的简单 VM 规模集。 此模板还在同一虚拟网络中部署具有公共 IP 地址的 jumpbox。 可以通过此公共 IP 地址连接到 jumpbox,然后通过专用 IP 地址从那里连接到规模集中的 VM。此模板在 Windows VM 的 VM 规模集上启用加密。 |
创建 Azure Key Vault 和机密 |
此模板创建 Azure 密钥保管库和机密。 |
使用 RBAC 和机密创建 Azure 密钥保管库 |
此模板创建 Azure 密钥保管库和机密。 它不依赖于访问策略,而是利用 Azure RBAC 来管理机密上的授权 |
创建密钥保管库、托管标识和角色分配 |
此模板创建密钥保管库、托管标识和角色分配。 |
通过专用终结点连接到密钥保管库 |
此示例演示如何使用配置虚拟网络和专用 DNS 区域通过专用终结点访问密钥保管库。 |
创建 Key Vault 和机密列表 |
此模板在密钥保管库中创建与参数一起传递的密钥保管库和机密列表 |
创建启用了日志记录的密钥保管库 |
此模板创建一个 Azure 密钥保管库和一个用于日志记录的 Azure 存储帐户。 可以选择创建资源锁来保护密钥保管库和存储资源。 |
创建具有多个数据集的 AML 工作区 & 数据存储 |
此模板创建包含多个数据集的 Azure 机器学习工作区 & 数据存储。 |
Azure 机器学习端到端安全设置 |
这组 Bicep 模板演示如何在安全设置中端到端设置 Azure 机器学习。 此参考实现包括工作区、计算群集、计算实例和附加的专用 AKS 群集。 |
Azure 机器学习端到端安全设置 (旧版) |
这组 Bicep 模板演示如何在安全设置中端到端设置 Azure 机器学习。 此参考实现包括工作区、计算群集、计算实例和附加的专用 AKS 群集。 |
使用专用 IP 地址创建 AKS 计算目标 |
此模板使用专用 IP 地址在给定的 Azure 机器学习服务工作区中创建 AKS 计算目标。 |
创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure 密钥保管库、Azure 存储、Azure 应用程序 Insights 和 Azure 容器注册表。 此配置描述了开始使用 Azure 机器学习所需的最少资源集。 |
(CMK) 创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure 密钥保管库、Azure 存储、Azure 应用程序 Insights 和 Azure 容器注册表。 该示例演示如何使用客户管理的加密密钥配置 Azure 机器学习进行加密。 |
(vnet) 创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure 密钥保管库、Azure 存储、Azure 应用程序 Insights 和 Azure 容器注册表。 此配置描述了在网络隔离设置中开始使用 Azure 机器学习所需的资源集。 |
(旧版) 创建 Azure 机器学习服务工作区 |
此部署模板指定 Azure 机器学习工作区及其关联的资源,包括 Azure 密钥保管库、Azure 存储、Azure 应用程序 Insights 和 Azure 容器注册表。 此配置描述了在网络隔离设置中开始使用 Azure 机器学习所需的资源集。 |
具有 应用程序网关 入口控制器的 AKS 群集 |
此示例演示如何使用 应用程序网关、应用程序网关 入口控制器、Azure 容器注册表、Log Analytics 和 密钥保管库 部署 AKS 群集 |
使用 密钥保管库 创建应用程序网关 V2 |
此模板在虚拟网络中部署应用程序网关 V2、用户定义的标识、密钥保管库、机密 (证书数据) ,以及密钥保管库和应用程序网关上的访问策略。 |
Azure 防火墙 Premium 的测试环境 |
此模板创建具有高级功能的Azure 防火墙高级和防火墙策略,例如入侵检查 (IDPS) 、TLS 检查和 Web 类别筛选 |
使用证书创建应用程序网关 |
此模板演示如何生成密钥保管库自签名证书,然后从应用程序网关引用。 |
使用客户管理的密钥进行 Azure 存储帐户加密 |
此模板部署一个存储帐户,其中包含客户管理的密钥,用于生成并放置在密钥保管库内的加密。 |
使用Azure SQL后端应用服务环境 |
此模板创建一个应用服务环境,其中包含Azure SQL后端、专用终结点以及通常在专用/隔离环境中使用的关联资源。 |
Azure 函数应用和 HTTP 触发的函数 |
此示例在模板中内联部署 Azure 函数应用和 HTTP 触发的函数。 它还部署密钥保管库并使用函数应用的主机密钥填充机密。 |
使用内部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"
}
})
}
属性值
vaults
名称 | 说明 | Value |
---|---|---|
type | 资源类型 | “Microsoft.KeyVault/vaults@2023-02-01” |
name | 资源名称 | 字符串 (必需) 字符限制:3-24 有效字符: 字母数字和连字符。 以字母开头。 以字母或数字结尾。 不能包含连续的连字符。 资源名称在 Azure 中必须是唯一的。 |
location | 应在其中创建密钥保管库的受支持 Azure 位置。 | 字符串 (必需) |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | 字符串 (必需) |
标记 | 将分配给密钥保管库的标记。 | 标记名称和值的字典。 |
properties | 保管库的属性 | 保管库属性 (必需) |
VaultProperties
名称 | 说明 | 值 |
---|---|---|
accessPolicies | 0 到 1024 个标识的数组,这些标识有权访问密钥保管库。 数组中的所有标识都必须使用与密钥保管库的租户 ID 相同的租户 ID。 当 设置为 recover 时createMode ,不需要访问策略。 否则,需要访问策略。 |
AccessPolicyEntry[] |
createMode | 保管库的创建模式,用于指示是否需要恢复保管库。 | "default" “recover” |
enabledForDeployment | 用于指定是否允许 Azure 虚拟机从密钥保管库检索存储为机密的证书的属性。 | bool |
enabledForDiskEncryption | 用于指定是否允许 Azure 磁盘加密从保管库检索机密和解包密钥的属性。 | bool |
enabledForTemplateDeployment | 用于指定是否允许 Azure 资源管理器 从密钥保管库检索机密的属性。 | bool |
enablePurgeProtection | 指定是否为此保管库启用清除防护的属性。 将此属性设置为 true 可激活针对此保管库及其内容的清除保护 - 只有密钥保管库服务可能会启动不可恢复的硬删除。 仅当还启用了软删除时,此设置才有效。 启用此功能是不可逆的 - 也就是说,属性不接受 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。 | 字符串 (必需) 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
vaultUri | 用于对密钥和机密执行操作的保管库的 URI。 | 字符串 |
AccessPolicyEntry
名称 | 说明 | 值 |
---|---|---|
applicationId | 代表主体发出请求的客户端的应用程序 ID | 字符串 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
objectId | 保管库的 Azure Active Directory 租户中用户、服务主体或安全组的对象 ID。 对于访问策略列表,对象 ID 必须是唯一的。 | 字符串 (必需) |
权限 | 标识对密钥、机密和证书拥有的权限。 | 所需的权限 () |
tenantId | 应用于对密钥保管库的请求进行身份验证的 Azure Active Directory 租户 ID。 | 字符串 (必需) 约束: 最小长度 = 36 最大长度 = 36 模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
权限
名称 | 说明 | 值 |
---|---|---|
certificates | 对证书的权限 | 包含任何一项的字符串数组: “all” “backup” “create” “delete” “deleteissuers” “get” “getissuers” “import” “列表” “listissuers” “managecontacts” “manageissuers” “purge” “recover” “restore” “setissuers” “update” |
密钥 | 密钥权限 | 包含任何一项的字符串数组: “all” “backup” “create” “decrypt” “delete” “encrypt” “get” “getrotationpolicy” “import” “列表” “purge” “recover” “release” “restore” “rotate” “setrotationpolicy” “sign” “unwrapKey” “update” “verify” “wrapKey” |
机密 | 对机密的权限 | 包含任何一项的字符串数组: “all” “backup” “delete” “get” “列表” “purge” “recover” “restore” “set” |
存储 | 存储帐户的权限 | 包含任何一项的字符串数组: “all” “backup” “delete” “deletesas” “get” “getsas” “列表” “listsas” “purge” “recover” “regeneratekey” “restore” “set” “setsas” “update” |
NetworkRuleSet
名称 | 说明 | 值 |
---|---|---|
绕过 | 告知哪些流量可以绕过网络规则。 这可以是“AzureServices”或“None”。 如果未指定,则默认值为“AzureServices”。 | “AzureServices” "None" |
defaultAction | ipRules 和 virtualNetworkRules 中没有规则匹配时的默认操作。 这仅在评估 bypass 属性后使用。 | “允许” “拒绝” |
ipRules | IP 地址规则的列表。 | IPRule[] |
virtualNetworkRules | 虚拟网络规则的列表。 | VirtualNetworkRule[] |
IPRule
名称 | 说明 | 值 |
---|---|---|
value | 以 CIDR 表示法表示的 IPv4 地址范围,例如“124.56.78.91” (简单 IP 地址) 或“124.56.78.0/24” (以 124.56.78) 开头的所有地址。 | 字符串 (必需) |
VirtualNetworkRule
名称 | 说明 | Value |
---|---|---|
id | vnet 子网的完整资源 ID,例如“/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1”。 | 字符串 (必需) |
ignoreMissingVnetServiceEndpoint | 属性,用于指定如果父子网配置了 serviceEndpoints,NRP 是否会忽略检查。 | bool |
SKU
名称 | 说明 | 值 |
---|---|---|
family | SKU 系列名称 | 需要“A” () |
name | 用于指定密钥保管库是标准保管库还是高级保管库的 SKU 名称。 | “premium” 需要“标准” () |