你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzKeyVault

创建密钥保管库。

语法

New-AzKeyVault
   [-Name] <String>
   [-ResourceGroupName] <String>
   [-Location] <String>
   [-EnabledForDeployment]
   [-EnabledForTemplateDeployment]
   [-EnabledForDiskEncryption]
   [-EnablePurgeProtection]
   [-EnableRbacAuthorization]
   [-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 Graph 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 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnabledForDeployment

在资源创建操作中引用此 Key Vault(例如,创建虚拟机)时,使 Microsoft.Compute 资源提供程序能够从此 Key Vault 中检索机密。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnabledForDiskEncryption

使 Azure 磁盘加密服务能够从此密钥保管库中获取机密和解包密钥。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnabledForTemplateDeployment

在模板部署中引用此 Key Vault 时,使 Azure 资源管理器能够从此 Key Vault 中获取机密。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnablePurgeProtection

如果指定,则会为此保管库启用针对立即删除的保护;还需要启用软删除。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableRbacAuthorization

如果指定,则允许通过基于角色访问控制(RBAC)对数据操作进行授权,然后忽略保管库属性中指定的访问策略。 请注意,管理操作始终使用 RBAC 进行授权。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

指定要在其中创建密钥保管库的 Azure 区域。 使用命令 Get-AzLocation 查看你的选择。

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

指定要创建的密钥保管库的名称。 名称可以是字母、数字或连字符的任意组合。 名称必须以字母或数字开头和结尾。 名称必须全局唯一。

Type:String
Aliases:VaultName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NetworkRuleSet

指定保管库的网络规则集。 它控制从特定网络位置访问密钥保管库的可访问性。 创建者 New-AzKeyVaultNetworkRuleSetObject

Type:PSKeyVaultNetworkRuleSet
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PublicNetworkAccess

指定保管库是否接受来自公共 Internet 的流量。 如果设置为“禁用”除专用终结点流量之外的所有流量,并且源自受信任的服务的所有流量将被阻止。 这将替代设置的防火墙规则,这意味着即使存在防火墙规则,我们也不会遵守这些规则。 默认情况下,我们将启用公用网络访问。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

指定要在其中创建密钥保管库的现有资源组的名称。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Sku

指定密钥保管库实例的 SKU。 有关每个 SKU 可用的功能的信息,请参阅 Azure 密钥库定价网站(https://go.microsoft.com/fwlink/?linkid=512521)。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SoftDeleteRetentionInDays

指定删除的资源保留时间,以及可以清除处于已删除状态的保管库或对象的时间。 默认值为 90 天。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubscriptionId

订阅 ID。 默认情况下,cmdlet 在当前上下文中设置的订阅中执行。 如果用户指定另一个订阅,则当前 cmdlet 在用户指定的订阅中执行。 重写订阅仅在当前 cmdlet 的生命周期内生效。 它不会更改上下文中的订阅,并且不会影响后续 cmdlet。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Tag

以哈希表的形式进行键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

Type:Hashtable
Aliases:Tags
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

String

SwitchParameter

Hashtable

输出

PSKeyVault