共用方式為


Add-AzKeyVaultKey

在金鑰保存庫中建立金鑰,或將金鑰匯入金鑰保存庫。

語法

Add-AzKeyVaultKey
   [-VaultName] <String>
   [-Name] <String>
   -Destination <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   [-KeyType <String>]
   [-CurveName <String>]
   [-Exportable]
   [-Immutable]
   [-ReleasePolicyPath <String>]
   [-UseDefaultCVMPolicy]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   [-VaultName] <String>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Destination <String>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-KeyType <String>]
   [-CurveName <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   -HsmName <String>
   [-Name] <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   -KeyType <String>
   [-CurveName <String>]
   [-Exportable]
   [-Immutable]
   [-ReleasePolicyPath <String>]
   [-UseDefaultCVMPolicy]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   -HsmName <String>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   [-InputObject] <PSKeyVault>
   [-Name] <String>
   -Destination <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   [-KeyType <String>]
   [-CurveName <String>]
   [-Exportable]
   [-Immutable]
   [-ReleasePolicyPath <String>]
   [-UseDefaultCVMPolicy]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   [-InputObject] <PSKeyVault>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Destination <String>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-KeyType <String>]
   [-CurveName <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   [-HsmObject] <PSManagedHsm>
   [-Name] <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   -KeyType <String>
   [-CurveName <String>]
   [-Exportable]
   [-Immutable]
   [-ReleasePolicyPath <String>]
   [-UseDefaultCVMPolicy]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   [-HsmObject] <PSManagedHsm>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   [-ResourceId] <String>
   [-Name] <String>
   -Destination <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   [-KeyType <String>]
   [-CurveName <String>]
   [-Exportable]
   [-Immutable]
   [-ReleasePolicyPath <String>]
   [-UseDefaultCVMPolicy]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   [-ResourceId] <String>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Destination <String>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-KeyType <String>]
   [-CurveName <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   -HsmResourceId <String>
   [-Name] <String>
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-Size <Int32>]
   -KeyType <String>
   [-CurveName <String>]
   [-Exportable]
   [-Immutable]
   [-ReleasePolicyPath <String>]
   [-UseDefaultCVMPolicy]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-AzKeyVaultKey
   -HsmResourceId <String>
   [-Name] <String>
   -KeyFilePath <String>
   [-KeyFilePassword <SecureString>]
   [-Disable]
   [-KeyOps <String[]>]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Add-AzKeyVaultKey Cmdlet 會在 Azure 金鑰保存庫 的密鑰保存庫中建立金鑰,或將密鑰匯入密鑰保存庫。 使用此 Cmdlet 使用下列任一方法新增金鑰:

  • 在 金鑰保存庫 服務的硬體安全性模組 (HSM) 中建立金鑰。
  • 在 金鑰保存庫 服務中建立軟體中的金鑰。
  • 將金鑰從您自己的硬體安全性模組 (HSM) 匯入 金鑰保存庫 服務中的 HSM。
  • 從電腦上的 .pfx 檔案匯入金鑰。
  • 從電腦上的 .pfx 檔案將密鑰匯入 金鑰保存庫 服務的硬體安全性模組 (HSM)。 針對任何這些作業,您可以提供索引鍵屬性或接受預設設定。 如果您建立或匯入金鑰保存庫中現有金鑰名稱相同的金鑰,原始金鑰會以您為新金鑰指定的值進行更新。 您可以使用該金鑰版本的版本特定 URI 來存取先前的值。 若要瞭解金鑰版本和 URI 結構,請參閱關於 金鑰保存庫 REST API 檔中的金鑰和秘密。 注意:若要從您自己的硬體安全性模組匯入密鑰,您必須先使用 Azure 金鑰保存庫 BYOK 工具組產生 BYOK 套件(擴展名為 .byok 的檔案)。 如需詳細資訊,請參閱如何為 Azure 金鑰保存庫 產生和傳輸受 HSM 保護的密鑰。 最佳做法是,使用Backup-AzKeyVaultKey Cmdlet 在建立或更新密鑰之後備份密鑰。 沒有無法刪除的功能,因此,如果您不小心刪除密鑰或刪除金鑰,然後變更主意,除非您有可還原的備份密鑰,否則無法復原密鑰。

範例

範例 1:建立金鑰

Add-AzKeyVaultKey -VaultName 'contoso' -Name 'ITSoftware' -Destination 'Software'

Vault/HSM Name : contoso
Name           : ITSoftware
Key Type       : RSA
Key Size       : 2048
Curve Name     : 
Version        : 67da57e9cadf48a2ad8d366b115843ab
Id             : https://contoso.vault.azure.net:443/keys/ITSoftware/67da57e9cadf48a2ad8d366b115843ab
Enabled        : True
Expires        :
Not Before     :
Created        : 5/21/2018 11:10:58 PM
Updated        : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags           :

此命令會在名為 Contoso 的金鑰保存庫中建立名為 ITSoftware 的軟體保護密鑰。

範例 2:建立 EC 金鑰

Add-AzKeyVaultKey -VaultName test-kv -Name test-key -Destination Software -KeyType EC

Vault/HSM Name : test-kv
Name           : test-key
Key Type       : EC
Key Size       :
Curve Name     : P-256
Version        : 4da74af2b4fd47d6b1aa0b05c9a2ed13
Id             : https://test-kv.vault.azure.net:443/keys/test-key/4da74af2b4fd47d6b1aa0b05c9a2ed13
Enabled        : True
Expires        :
Not Before     :
Created        : 8/24/2021 6:38:34 AM
Updated        : 8/24/2021 6:38:34 AM
Recovery Level : Recoverable+Purgeable
Tags           :

此命令會在名為test-kv的金鑰保存庫中建立名為test-key的軟體保護EC金鑰。 其曲線名稱預設為 P-256。

範例 3:建立受 HSM 保護的金鑰

Add-AzKeyVaultKey -VaultName 'contoso' -Name 'ITHsm' -Destination 'HSM'

Vault Name     : contoso
Name           : ITHsm
Version        : 67da57e9cadf48a2ad8d366b115843ab
Id             : https://contoso.vault.azure.net:443/keys/ITSoftware/67da57e9cadf48a2ad8d366b115843ab
Enabled        : True
Expires        :
Not Before     :
Created        : 5/21/2018 11:10:58 PM
Updated        : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags           :

此命令會在名為 Contoso 的金鑰保存庫中建立受 HSM 保護的密鑰。

範例 4:建立具有非預設值的索引鍵

$KeyOperations = 'decrypt', 'verify'
$Expires = (Get-Date).AddYears(2).ToUniversalTime()
$NotBefore = (Get-Date).ToUniversalTime()
$Tags = @{'Severity' = 'high'; 'Accounting' = "true"}
Add-AzKeyVaultKey -VaultName 'contoso' -Name 'ITHsmNonDefault' -Destination 'HSM' -Expires $Expires -NotBefore $NotBefore -KeyOps $KeyOperations -Disable -Tag $Tags

Vault/HSM Name : contoso
Name           : ITHsmNonDefault
Key Type       : RSA
Key Size       : 2048
Version        : 929bfc14db84439b823ffd1bedadaf5f
Id             : https://contoso.vault.azure.net:443/keys/ITHsmNonDefault/929bfc14db84439b823ffd1bedadaf5f
Enabled        : False
Expires        : 5/21/2020 11:12:43 PM
Not Before     : 5/21/2018 11:12:50 PM
Created        : 5/21/2018 11:13:17 PM
Updated        : 5/21/2018 11:13:17 PM
Purge Disabled : False
Tags           : Name        Value
                 Severity    high
                 Accounting  true

第一個命令會將值解密,並在$KeyOperations變數中驗證。 第二個命令會使用 Get-Date Cmdlet 建立以 UTC 定義的 DateTime 物件。 該物件會指定未來兩年的時間。 命令會將該日期儲存在$Expires變數中。 如需詳細資訊,請輸入 Get-Help Get-Date。 第三個命令會使用 Get-Date Cmdlet 建立 DateTime 物件。 該物件會指定目前的UTC時間。 命令會將該日期儲存在 $NotBefore 變數中。 最後一個命令會建立名為 ITHsmNonDefault 且為 HSM 保護密鑰的金鑰。 命令會指定儲存$KeyOperations之允許索引鍵作業的值。 此命令會指定在先前命令中建立的 ExpiresNotBefore 參數的時間,以及高嚴重性和 IT 的標記。 新的金鑰已停用。 您可以使用 Set-AzKeyVaultKey Cmdlet 來啟用它

範例 5:匯入受 HSM 保護的金鑰

Add-AzKeyVaultKey -VaultName 'contoso' -Name 'ITByok' -KeyFilePath 'C:\Contoso\ITByok.byok' -Destination 'HSM'

Vault Name     : contoso
Name           : ITByok
Version        : 67da57e9cadf48a2ad8d366b115843ab
Id             : https://contoso.vault.azure.net:443/keys/ITByok/67da57e9cadf48a2ad8d366b115843ab
Enabled        : True
Expires        :
Not Before     :
Created        : 5/21/2018 11:10:58 PM
Updated        : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags           :

此命令會從 KeyFilePath 參數指定的位置匯入名為 ITByok 的金鑰。 匯入的金鑰是受 HSM 保護的金鑰。 若要從您自己的硬體安全性模組匯入密鑰,您必須先使用 Azure 金鑰保存庫 BYOK 工具組產生 BYOK 套件(擴展名為 .byok 的檔案)。 如需詳細資訊,請參閱如何為 Azure 金鑰保存庫 產生和傳輸受 HSM 保護的密鑰。

範例 6:匯入受軟體保護的金鑰

$Password = ConvertTo-SecureString -String "****" -AsPlainText -Force
Add-AzKeyVaultKey -VaultName 'contoso' -Name 'ITPfx' -KeyFilePath 'C:\Contoso\ITPfx.pfx' -KeyFilePassword $Password

Vault Name     : contoso
Name           : ITPfx
Version        : 67da57e9cadf48a2ad8d366b115843ab
Id             : https://contoso.vault.azure.net:443/keys/ITPfx/67da57e9cadf48a2ad8d366b115843ab
Enabled        : True
Expires        :
Not Before     :
Created        : 5/21/2018 11:10:58 PM
Updated        : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags           :

第一個命令會使用 ConvertTo-SecureString Cmdlet 將字串轉換成安全字串,然後將該字串儲存在$Password變數中。 如需詳細資訊,請輸入 Get-Help ConvertTo-SecureString。 第二個命令會在 Contoso 金鑰保存庫中建立軟體密碼。 命令會指定儲存在 $Password 中的金鑰和密碼的位置。

範例 7:匯入金鑰並指派屬性

$Password = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Expires = (Get-Date).AddYears(2).ToUniversalTime()
$Tags = @{ 'Severity' = 'high'; 'Accounting' = "true" }
Add-AzKeyVaultKey -VaultName 'contoso' -Name 'ITPfxToHSM' -Destination 'HSM' -KeyFilePath 'C:\Contoso\ITPfx.pfx' -KeyFilePassword $Password -Expires $Expires -Tag $Tags

Vault Name     : contoso
Name           : ITPfxToHSM
Version        : 929bfc14db84439b823ffd1bedadaf5f
Id             : https://contoso.vault.azure.net:443/keys/ITPfxToHSM/929bfc14db84439b823ffd1bedadaf5f
Enabled        : True
Expires        : 5/21/2020 11:12:43 PM
Not Before     :
Created        : 5/21/2018 11:13:17 PM
Updated        : 5/21/2018 11:13:17 PM
Purge Disabled : False
Tags           : Name        Value
                 Severity    high
                 Accounting  true

第一個命令會使用 ConvertTo-SecureString Cmdlet 將字串轉換成安全字串,然後將該字串儲存在$Password變數中。 第二個命令會使用 Get-Date Cmdlet 建立 DateTime 對象,然後將該物件儲存在$Expires 變數中。 第三個命令會建立$tags變數,以設定高嚴重性和IT的標記。 最後一個命令會從指定的位置匯入金鑰作為 HSM 金鑰。 命令會指定儲存在 $Password 中$Expires和密碼中儲存的到期時間,並套用儲存在 $tags 中的標記。

範例 8:為「攜帶您自己的金鑰」(BYOK) 功能產生金鑰交換金鑰 (KEK)

$key = Add-AzKeyVaultKey -VaultName $vaultName -Name $keyName -Destination HSM -Size 2048 -KeyOps "import"

產生金鑰(稱為金鑰交換金鑰 (KEK) 。 KEK 必須是只有匯入金鑰作業的 RSA-HSM 金鑰。 只有 金鑰保存庫 Premium SKU 支援 RSA-HSM 金鑰。 如需詳細資料,請參閱 https://learn.microsoft.com/azure/key-vault/keys/hsm-protected-keys (英文)

範例 9:在 Managed hsm 中建立安全密鑰

<# release_policy_template.json
{
  "anyOf": [
    {
      "allOf": [
        {
          "claim": "<claim name>",
          "equals": "<value to match>"
        }
      ],
      "authority": "<issuer>"
    }
  ],
  "version": "1.0.0"
}
#>
Add-AzKeyVaultKey -HsmName testmhsm -Name test-key -KeyType RSA -Exportable -ReleasePolicyPath release_policy.json

Vault/HSM Name : testmhsm
Name           : test-key
Key Type       : RSA
Key Size       : 2048
Curve Name     : 
Version        : ed6b026bf0a605042006635713d33ef6
Id             : https://testmhsm.managedhsm.azure.net:443/keys/test-key/ed6b026bf0a605042006635713d33ef6
Enabled        : True
Expires        : 
Not Before     : 
Created        : 6/2/2022 7:14:37 AM
Updated        : 6/2/2022 7:14:37 AM
Recovery Level : Recoverable+Purgeable
Release Policy : 
                 Content Type   : application/json; charset=utf-8
                 Policy Content : {"anyOf":[{"allOf":[{"claim":"x-ms-sgx-is-debuggable","equals":"true"}],"authority":"htt 
                 ps://sharedeus.eus.attest.azure.net/"}],"version":"1.0.0"}
                 Immutable      : False


Tags           :

在受控 hsm 中建立名為 testmhsm 的安全金鑰。 其名稱為test-key,類型為 RSA。

範例 10:將機密 VM 的金鑰新增至金鑰保存庫。

New-AzKeyVault -Name $keyVaultName -Location $location -ResourceGroupName $resourceGroupName -Sku Premium -EnablePurgeProtection -EnabledForDiskEncryption;
$cvmAgent = Get-AzADServicePrincipal -ApplicationId '00001111-aaaa-2222-bbbb-3333cccc4444';
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ResourceGroupName $resourceGroupName -ObjectId $cvmAgent.id -PermissionsToKeys get,release;

$keySize = 3072;
Add-AzKeyVaultKey -VaultName $keyVaultName -Name $keyName -Size $keySize -KeyOps wrapKey,unwrapKey -KeyType RSA -Destination HSM -Exportable -UseDefaultCVMPolicy;

Vault/HSM Name : <Vault Name>
Name           : <Key Name>
Key Type       : RSA
Key Size       : 3072
Curve Name     :
Version        : <Version>
Id             : <Id>
Enabled        : True
Expires        :
Not Before     :
Created        : 9/9/2022 8:36:00 PM
Updated        : 9/9/2022 8:36:00 PM
Recovery Level : Recoverable
Release Policy :
                 Content Type   : application/json; charset=utf-8
                 Policy Content : <Policy Content>
                 Immutable      : False
Tags           :

參數

-Confirm

執行 Cmdlet 之前先提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-CurveName

指定橢圓曲線密碼編譯的曲線名稱,當KeyType為EC時,這個值是有效的。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶

類型:IAzureContextContainer
別名:AzContext, AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Destination

指定將金鑰新增為受軟體保護的金鑰,還是 金鑰保存庫 服務中受 HSM 保護的金鑰。 有效值為:HSM 和軟體。 注意:若要使用 HSM 作為目的地,您必須擁有支援 HSM 的密鑰保存庫。 如需 Azure 金鑰保存庫的服務層級和功能的詳細資訊,請參閱 Azure 金鑰保存庫價格 網站。 當您建立新的金鑰時,需要此參數。 如果您使用 KeyFilePath 參數匯入金鑰,此參數是選擇性的:

  • 如果您未指定此參數,而且此 Cmdlet 會匯入擴展名為 .byok 的金鑰,它會將該金鑰匯入為受 HSM 保護的金鑰。 Cmdlet 無法將該金鑰匯入為軟體保護的金鑰。
  • 如果您未指定此參數,而且此 Cmdlet 會匯入擴展名為 .pfx 的金鑰,它會將金鑰匯入為軟體保護的金鑰。
類型:String
接受的值:HSM, Software, HSM, Software
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Disable

表示您要新增的金鑰會設定為停用的初始狀態。 任何使用金鑰的嘗試都會失敗。 如果您要預先載入想要稍後啟用的金鑰,請使用此參數。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Expires

針對此 Cmdlet 所新增的索引鍵,以 UTC 指定密鑰的到期時間,做為 DateTime 物件。 如果未指定,金鑰將不會過期。 若要取得 DateTime 物件,請使用 Get-Date Cmdlet。 如需詳細資訊,請輸入 Get-Help Get-Date。 請注意,BYOK 程式中所使用的金鑰交換金鑰會忽略到期日。

類型:Nullable<T>[DateTime]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Exportable

指出是否可以匯出私鑰。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-HsmName

HSM 名稱。 Cmdlet 會根據名稱和目前選取的環境,建構受控 HSM 的 FQDN。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-HsmObject

HSM 物件。

類型:PSManagedHsm
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-HsmResourceId

HSM 的資源標識碼。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Immutable

將發行原則設定為不可變的狀態。 一旦標示為不可變,就無法重設此旗標,而且在任何情況下都無法變更原則。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-InputObject

Vault 物件。

類型:PSKeyVault
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-KeyFilePassword

指定匯入檔案的密碼做為 SecureString 物件。 若要取得 SecureString 物件,請使用 ConvertTo-SecureString Cmdlet。 如需詳細資訊,請輸入 Get-Help ConvertTo-SecureString。 您必須指定此密碼,才能匯入擴展名為 .pfx 的檔案。

類型:SecureString
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-KeyFilePath

指定本機檔案的路徑,其中包含此 Cmdlet 匯入的金鑰數據。 有效的擴展名為 .byok 和 .pfx。

  • 如果檔案是 .byok 檔案,在匯入之後,金鑰會自動受到 HSM 的保護,而且您無法覆寫此預設值。
  • 如果檔案是 .pfx 檔案,則密鑰會在匯入之後自動受到軟體的保護。 若要覆寫此預設值,請將 Destination 參數設定為 HSM,讓金鑰受到 HSM 保護。 當您指定此參數時, Destination 參數是選擇性的。
類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-KeyOps

指定可以使用這個 Cmdlet 新增的索引鍵來執行的作業陣列。 如果您未指定此參數,則可以執行所有作業。 此參數可接受的值是 JSON Web 金鑰 (JWK) 規格定義的索引鍵作業逗號分隔清單:

  • encrypt
  • 解密
  • wrapKey
  • unwrapKey
  • 簽署
  • verify
  • import (僅適用於 KEK,請參閱範例 7)
類型:String[]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-KeyType

指定此金鑰的索引鍵類型。 匯入 BYOK 金鑰時,預設為 'RSA'。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Name

指定要新增至金鑰保存庫的金鑰名稱。 此 Cmdlet 會根據此參數指定的名稱、金鑰保存庫的名稱,以及您目前的環境,建構密鑰的完整功能變數名稱 (FQDN)。 名稱必須是長度為 1 到 63 個字元的字串,長度只有 0-9、a-z、A-Z 和 - (虛線符號)。

類型:String
別名:KeyName
Position:1
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-NotBefore

指定時間,做為 DateTime 物件,此物件之前無法使用索引鍵。 此參數使用UTC。 若要取得 DateTime 物件,請使用 Get-Date Cmdlet。 如果您未指定此參數,則可以立即使用金鑰。

類型:Nullable<T>[DateTime]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ReleasePolicyPath

包含 JSON 原則定義的檔案路徑。 可匯出金鑰的原則規則。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ResourceId

保存庫資源標識碼。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Size

RSA 金鑰大小,以位為單位。 如果未指定,服務會提供安全的預設值。

類型:Nullable<T>[Int32]
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Tag

哈希表形式的索引鍵/值組。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

類型:Hashtable
別名:Tags
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UseDefaultCVMPolicy

指定使用默認原則,以匯出密鑰以進行 CVM 磁碟加密。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VaultName

指定此 Cmdlet 新增金鑰的金鑰儲存庫名稱。 此 Cmdlet 會根據此參數指定的名稱和您目前的環境,建構密鑰保存庫的 FQDN。

類型:String
Position:0
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

PSKeyVault

PSManagedHsm

String

輸出

PSKeyVaultKey