New-AzKeyVault

建立金鑰保存庫。

Syntax

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>]

Description

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

當建立資源時參考此密鑰保存庫時,可讓 Microsoft.Compute 資源提供者從此密鑰保存庫擷取秘密,例如建立虛擬機時。

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

當範本部署中參考此金鑰保存庫時,可讓 Azure Resource Manager 從此密鑰保存庫取得秘密。

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

指定保存庫是否接受來自公用因特網的流量。 如果設定為 「已停用」,則私人端點流量以外的所有流量,且源自信任服務的所有流量都會遭到封鎖。 這會覆寫設定的防火牆規則,這表示即使防火牆規則存在,我們也不會遵守規則。 根據預設,我們將啟用公用網路存取。

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

訂用帳戶的標識碼。 根據預設,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