你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
New-AzKeyVault
创建密钥保管库。
语法
New-AzKeyVault
[-Name] <String>
[-ResourceGroupName] <String>
[-Location] <String>
[-EnabledForDeployment]
[-EnabledForTemplateDeployment]
[-EnabledForDiskEncryption]
[-EnablePurgeProtection]
[-DisableRbacAuthorization]
[-SoftDeleteRetentionInDays <Int32>]
[-PublicNetworkAccess <String>]
[-Sku <String>]
[-Tag <Hashtable>]
[-NetworkRuleSet <PSKeyVaultNetworkRuleSet>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[-SubscriptionId <String>]
[<CommonParameters>]
说明
New-AzKeyVault cmdlet 在指定的资源组中创建密钥保管库。 此 cmdlet 还向当前登录的用户授予权限,以在密钥保管库中添加、删除或列出密钥和机密。 注意:如果在尝试创建新密钥保管库时订阅未注册为使用命名空间“Microsoft.KeyVault”的错误,请运行 Register-AzResourceProvider -ProviderNamespace “Microsoft.KeyVault”,然后重新运行 New-AzKeyVault 命令。 有关详细信息,请参阅 Register-AzResourceProvider。
cmdlet 可以根据输入参数调用以下Microsoft图形 API:
- GET /directoryObjects/{id}
- GET /users/{id}
- GET /servicePrincipals/{id}
- GET /groups/{id}
- GET /me
示例
示例 1:创建标准密钥保管库
New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US'
Vault Name : contoso03vault
Resource Group Name : group14
Location : East US
Resource ID : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/group14/providers
/Microsoft.KeyVault/vaults/contoso03vault
Vault URI : https://contoso03vault.vault.azure.net/
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
SKU : Standard
Enabled For Deployment? :
Enabled For Template Deployment? :
Enabled For Disk Encryption? :
Soft Delete Enabled? : True
Access Policies :
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Application ID :
Display Name : User Name (username@microsoft.com)
Permissions to Keys : all
Permissions to Secrets : all
Permissions to Certificates : all
Permissions to (Key Vault Managed) Storage : all
Network Rule Set :
Default Action : Allow
Bypass : AzureServices
IP Rules :
Virtual Network Rules :
Tags :
此命令在 Azure 区域美国东部创建名为 Contoso03Vault 的密钥保管库。 该命令将密钥保管库添加到名为 Group14 的资源组。 由于该命令未指定 SKU 参数的值,因此会创建标准密钥保管库。
示例 2:创建高级密钥保管库
New-AzKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US' -Sku 'Premium'
Vault Name : contoso03vault
Resource Group Name : group14
Location : East US
Resource ID : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/group14/providers
/Microsoft.KeyVault/vaults/contoso03vault
Vault URI : https://contoso03vault.vault.azure.net/
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
SKU : Premium
Enabled For Deployment? : False
Enabled For Template Deployment? : False
Enabled For Disk Encryption? : False
Soft Delete Enabled? :
Access Policies :
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Application ID :
Display Name : User Name (username@microsoft.com)
Permissions to Keys : all
Permissions to Secrets : all
Permissions to Certificates : all
Permissions to (Key Vault Managed) Storage : all
Network Rule Set :
Default Action : Allow
Bypass : AzureServices
IP Rules :
Virtual Network Rules :
Tags :
此命令将创建密钥保管库,就像前面的示例一样。 但是,它指定用于创建高级密钥保管库的 SKU 参数的高级值。
示例 3
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name frontendSubnet -AddressPrefix "110.0.1.0/24" -ServiceEndpoint Microsoft.KeyVault
$virtualNetwork = New-AzVirtualNetwork -Name myVNet -ResourceGroupName myRG -Location westus -AddressPrefix "110.0.0.0/16" -Subnet $frontendSubnet
$myNetworkResId = (Get-AzVirtualNetwork -Name myVNet -ResourceGroupName myRG).Subnets[0].Id
$ruleSet = New-AzKeyVaultNetworkRuleSetObject -DefaultAction Allow -Bypass AzureServices -IpAddressRange "110.0.1.0/24" -VirtualNetworkResourceId $myNetworkResId
New-AzKeyVault -ResourceGroupName "myRg" -VaultName "myVault" -NetworkRuleSet $ruleSet -Location westus
Vault Name : myVault
Resource Group Name : myRg
Location : East US
Resource ID : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/myRg/providers
/Microsoft.KeyVault/vaults/myVault
Vault URI : https://myVault.vault.azure.net/
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
SKU : Premium
Enabled For Deployment? : False
Enabled For Template Deployment? : False
Enabled For Disk Encryption? : False
Soft Delete Enabled? :
Access Policies :
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Application ID :
Display Name : User Name (username@microsoft.com)
Permissions to Keys : all
Permissions to Secrets : all
Permissions to Certificates : all
Permissions to (Key Vault Managed) Storage : all
Network Rule Set :
Default Action : Allow
Bypass : AzureServices
IP Rules : 110.0.1.0/24
Virtual Network Rules : /subscriptions/0b1f6471-1bf0-4dda-ae
c3-cb9272f09590/resourcegroups/myRg/providers/microsoft.network/virtualnetworks
/myvnet/subnets/frontendsubnet
Tags :
创建密钥保管库并指定网络规则,以允许从$myNetworkResId标识的虚拟网络访问指定的 IP 地址。 有关详细信息,请参阅New-AzKeyVaultNetworkRuleSetObject
。
参数
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 azure 通信的凭据、帐户、租户和订阅
类型: | IAzureContextContainer |
别名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisableRbacAuthorization
如果已指定,则禁用通过基于角色访问控制(RBAC)对数据操作进行授权,然后将遵循保管库属性中指定的访问策略。 请注意,管理操作始终使用 RBAC 进行授权。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EnabledForDeployment
在资源创建操作中引用此 Key Vault(例如,创建虚拟机)时,使 Microsoft.Compute 资源提供程序能够从此 Key Vault 中检索机密。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-EnabledForDiskEncryption
使 Azure 磁盘加密服务能够从此密钥保管库中获取机密和解包密钥。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-EnabledForTemplateDeployment
在模板部署中引用此 Key Vault 时,使 Azure 资源管理器能够从此 Key Vault 中获取机密。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-EnablePurgeProtection
如果指定,则会为此保管库启用针对立即删除的保护;还需要启用软删除。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Location
指定要在其中创建密钥保管库的 Azure 区域。 使用命令 Get-AzLocation 查看你的选择。
类型: | String |
Position: | 2 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Name
指定要创建的密钥保管库的名称。 名称可以是字母、数字或连字符的任意组合。 名称必须以字母或数字开头和结尾。 名称必须全局唯一。
类型: | String |
别名: | VaultName |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-NetworkRuleSet
指定保管库的网络规则集。 它控制从特定网络位置访问密钥保管库的可访问性。 创建者 New-AzKeyVaultNetworkRuleSetObject
。
类型: | PSKeyVaultNetworkRuleSet |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PublicNetworkAccess
指定保管库是否接受来自公共 Internet 的流量。 如果设置为“禁用”除专用终结点流量之外的所有流量,并且源自受信任的服务的所有流量将被阻止。 这将替代设置的防火墙规则,这意味着即使存在防火墙规则,我们也不会遵守这些规则。 默认情况下,我们将启用公用网络访问。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ResourceGroupName
指定要在其中创建密钥保管库的现有资源组的名称。
类型: | String |
Position: | 1 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Sku
指定密钥保管库实例的 SKU。 有关每个 SKU 可用的功能的信息,请参阅 Azure 密钥库定价网站(https://go.microsoft.com/fwlink/?linkid=512521)。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-SoftDeleteRetentionInDays
指定删除的资源保留时间,以及可以清除处于已删除状态的保管库或对象的时间。 默认值为 90 天。
类型: | Int32 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SubscriptionId
订阅 ID。 默认情况下,cmdlet 在当前上下文中设置的订阅中执行。 如果用户指定另一个订阅,则当前 cmdlet 在用户指定的订阅中执行。 重写订阅仅在当前 cmdlet 的生命周期内生效。 它不会更改上下文中的订阅,并且不会影响后续 cmdlet。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Tag
以哈希表的形式进行键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}
类型: | Hashtable |
别名: | Tags |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |