Udostępnij za pośrednictwem


Add-AzKeyVaultKey

Tworzy klucz w magazynie kluczy lub importuje klucz do magazynu kluczy.

Składnia

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

Opis

Polecenie cmdlet Add-AzKeyVaultKey tworzy klucz w magazynie kluczy w usłudze Azure Key Vault lub importuje klucz do magazynu kluczy. Użyj tego polecenia cmdlet, aby dodać klucze przy użyciu dowolnej z następujących metod:

  • Utwórz klucz w sprzętowym module zabezpieczeń (HSM) w usłudze Key Vault.
  • Utwórz klucz w oprogramowaniu w usłudze Key Vault.
  • Zaimportuj klucz z własnego sprzętowego modułu zabezpieczeń (HSM) do modułów HSM w usłudze Key Vault.
  • Zaimportuj klucz z pliku pfx na komputerze.
  • Zaimportuj klucz z pliku pfx na komputerze do sprzętowych modułów zabezpieczeń (HSM) w usłudze Key Vault. W przypadku dowolnej z tych operacji można podać atrybuty klucza lub zaakceptować ustawienia domyślne. Jeśli tworzysz lub importujesz klucz o takiej samej nazwie jak istniejący klucz w magazynie kluczy, oryginalny klucz zostanie zaktualizowany o wartości określone dla nowego klucza. Dostęp do poprzednich wartości można uzyskać przy użyciu identyfikatora URI specyficznego dla wersji dla tej wersji klucza. Aby dowiedzieć się więcej o kluczowych wersjach i strukturze identyfikatora URI, zobacz Informacje o kluczach i wpisach tajnych w dokumentacji interfejsu API REST usługi Key Vault. Uwaga: Aby zaimportować klucz z własnego sprzętowego modułu zabezpieczeń, należy najpierw wygenerować pakiet BYOK (plik z rozszerzeniem nazwy pliku byok) przy użyciu zestawu narzędzi BYOK usługi Azure Key Vault. Aby uzyskać więcej informacji, zobacz How to Generate and Transfer HSM-Protected Keys for Azure Key Vault (Jak generować i transferować klucze chronione przez moduł HSM dla usługi Azure Key Vault). Najlepszym rozwiązaniem jest utworzenie lub zaktualizowanie klucza przy użyciu polecenia cmdlet Backup-AzKeyVaultKey. Nie ma funkcji cofania usuwania, więc jeśli przypadkowo usuniesz klucz lub usuniesz go, a następnie zmienisz zdanie, klucz nie będzie możliwy do odzyskania, chyba że masz kopię zapasową, którą można przywrócić.

Przykłady

Przykład 1. Tworzenie klucza

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           :

To polecenie tworzy klucz chroniony przez oprogramowanie o nazwie ITSoftware w magazynie kluczy o nazwie Contoso.

Przykład 2. Tworzenie klucza 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           :

To polecenie tworzy klucz EC chroniony przez oprogramowanie o nazwie test-key w magazynie kluczy o nazwie test-kv. Jego nazwa krzywej jest domyślnie P-256.

Przykład 3. Tworzenie klucza chronionego przez moduł 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           :

To polecenie tworzy klucz chroniony przez moduł HSM w magazynie kluczy o nazwie Contoso.

Przykład 4. Tworzenie klucza z wartościami innymi niż domyślne

$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

Pierwsze polecenie przechowuje wartości odszyfrowywania i weryfikowania w zmiennej $KeyOperations. Drugie polecenie tworzy obiekt DateTime zdefiniowany w formacie UTC przy użyciu polecenia cmdlet Get-Date . Ten obiekt określa czas dwóch lat w przyszłości. Polecenie przechowuje datę w zmiennej $Expires. Aby uzyskać więcej informacji, wpisz Get-Help Get-Date. Trzecie polecenie tworzy obiekt DateTime przy użyciu polecenia cmdlet Get-Date . Ten obiekt określa bieżącą godzinę UTC. Polecenie przechowuje datę w zmiennej $NotBefore. Ostatnie polecenie tworzy klucz o nazwie ITHsmNonDefault, który jest kluczem chronionym przez moduł HSM. Polecenie określa wartości dozwolonych operacji klucza przechowywanych $KeyOperations. Polecenie określa czasy dla parametrów Expires i NotBefore utworzonych w poprzednich poleceniach oraz tagów dla wysokiej ważności i IT. Nowy klucz jest wyłączony. Można ją włączyć za pomocą polecenia cmdlet Set-AzKeyVaultKey .

Przykład 5. Importowanie klucza chronionego przez moduł 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           :

To polecenie importuje klucz o nazwie ITByok z lokalizacji, która określa parametr KeyFilePath . Zaimportowany klucz jest kluczem chronionym przez moduł HSM. Aby zaimportować klucz z własnego sprzętowego modułu zabezpieczeń, należy najpierw wygenerować pakiet BYOK (plik z rozszerzeniem nazwy pliku byok) przy użyciu zestawu narzędzi BYOK usługi Azure Key Vault. Aby uzyskać więcej informacji, zobacz How to Generate and Transfer HSM-Protected Keys for Azure Key Vault (Jak generować i transferować klucze chronione przez moduł HSM dla usługi Azure Key Vault).

Przykład 6. Importowanie klucza chronionego przez oprogramowanie

$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           :

Pierwsze polecenie konwertuje ciąg na bezpieczny ciąg przy użyciu polecenia cmdlet ConvertTo-SecureString , a następnie przechowuje ten ciąg w zmiennej $Password. Aby uzyskać więcej informacji, wpisz Get-Help ConvertTo-SecureString. Drugie polecenie tworzy hasło oprogramowania w magazynie kluczy firmy Contoso. Polecenie określa lokalizację klucza i hasła przechowywanego w $Password.

Przykład 7. Importowanie klucza i przypisywanie atrybutów

$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

Pierwsze polecenie konwertuje ciąg na bezpieczny ciąg przy użyciu polecenia cmdlet ConvertTo-SecureString , a następnie przechowuje ten ciąg w zmiennej $Password. Drugie polecenie tworzy obiekt DateTime przy użyciu polecenia cmdlet Get-Date , a następnie przechowuje ten obiekt w zmiennej $Expires. Trzecie polecenie tworzy zmienną $tags, aby ustawić tagi dla wysokiej ważności i IT. Ostatnie polecenie importuje klucz jako klucz HSM z określonej lokalizacji. Polecenie określa czas wygaśnięcia przechowywany w $Expires i hasło przechowywane w $Password i stosuje tagi przechowywane w $tags.

Przykład 8. Generowanie klucza wymiany kluczy (KEK) dla funkcji "bring your own key" (BYOK)

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

Generuje klucz (nazywany kluczem wymiany kluczy (KEK)). Klucz KEK musi być kluczem RSA-HSM, który ma tylko operację importowania klucza. Tylko jednostka SKU Usługi Key Vault Premium obsługuje klucze RSA-HSM. Aby uzyskać więcej informacji, zobacz https://learn.microsoft.com/azure/key-vault/keys/hsm-protected-keys

Przykład 9. Tworzenie bezpiecznego klucza w zarządzanym module 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           :

Utwórz bezpieczny klucz w zarządzanym module hsm o nazwie testmhsm. Jego nazwa to test-key, a typ to RSA.

Przykład 10: Dodawanie klucza poufnej maszyny wirtualnej do magazynu kluczy.

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           :

Parametry

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CurveName

Określa nazwę krzywej kryptografii krzywej eliptycznej, ta wartość jest prawidłowa, gdy keyType to EC.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DefaultProfile

Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure

Typ:IAzureContextContainer
Aliasy:AzContext, AzureRmContext, AzureCredential
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Destination

Określa, czy należy dodać klucz jako klucz chroniony przez oprogramowanie, czy klucz chroniony przez moduł HSM w usłudze Key Vault. Prawidłowe wartości to: HSM i Oprogramowanie. Uwaga: Aby użyć modułu HSM jako miejsca docelowego, musisz mieć magazyn kluczy obsługujący moduły HSM. Aby uzyskać więcej informacji na temat warstw usług i możliwości usługi Azure Key Vault, zobacz witrynę internetową Cennik usługi Azure Key Vault. Ten parametr jest wymagany podczas tworzenia nowego klucza. Jeśli zaimportujesz klucz przy użyciu parametru KeyFilePath , ten parametr jest opcjonalny:

  • Jeśli nie określisz tego parametru, a to polecenie cmdlet importuje klucz z rozszerzeniem nazwy pliku byok, importuje ten klucz jako klucz chroniony przez moduł HSM. Polecenie cmdlet nie może zaimportować tego klucza jako klucza chronionego przez oprogramowanie.
  • Jeśli nie określisz tego parametru, a to polecenie cmdlet importuje klucz, który ma rozszerzenie nazwy pliku pfx, importuje klucz jako klucz chroniony przez oprogramowanie.
Typ:String
Dopuszczalne wartości:HSM, Software, HSM, Software
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Disable

Wskazuje, że dodany klucz jest ustawiony na początkowy stan wyłączenia. Próba użycia klucza zakończy się niepowodzeniem. Użyj tego parametru, jeśli wstępnie ładujesz klucze, które zamierzasz włączyć później.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Expires

Określa czas wygaśnięcia klucza w formacie UTC jako obiekt DateTime dla klucza, który dodaje to polecenie cmdlet. Jeśli nie zostanie określony, klucz nie wygaśnie. Aby uzyskać obiekt DateTime , użyj polecenia cmdlet Get-Date . Aby uzyskać więcej informacji, wpisz Get-Help Get-Date. Zwróć uwagę, że wygaśnięcie jest ignorowane dla klucza wymiany kluczy używanego w procesie BYOK.

Typ:Nullable<T>[DateTime]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Exportable

Wskazuje, czy klucz prywatny można wyeksportować.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-HsmName

Nazwa modułu HSM. Polecenie cmdlet tworzy nazwę FQDN zarządzanego modułu HSM na podstawie nazwy i aktualnie wybranego środowiska.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-HsmObject

Obiekt HSM.

Typ:PSManagedHsm
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-HsmResourceId

Identyfikator zasobu modułu HSM.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Immutable

Ustawia zasady wydania jako stan niezmienny. Po oznaczeniu niezmiennym tej flagi nie można zresetować i nie można zmienić zasad w żadnym wypadku.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-InputObject

Obiekt magazynu.

Typ:PSKeyVault
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-KeyFilePassword

Określa hasło dla zaimportowanego pliku jako obiektu SecureString . Aby uzyskać obiekt SecureString , użyj polecenia cmdlet ConvertTo-SecureString . Aby uzyskać więcej informacji, wpisz Get-Help ConvertTo-SecureString. Należy określić to hasło, aby zaimportować plik z rozszerzeniem nazwy pliku pfx.

Typ:SecureString
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-KeyFilePath

Określa ścieżkę pliku lokalnego zawierającego materiał klucza importujący to polecenie cmdlet. Prawidłowe rozszerzenia nazw plików to .byok i pfx.

  • Jeśli plik jest plikiem byok, klucz jest automatycznie chroniony przez moduły HSM po zaimportowaniu i nie można zastąpić tej wartości domyślnej.
  • Jeśli plik jest plikiem pfx, klucz jest automatycznie chroniony przez oprogramowanie po zaimportowaniu. Aby zastąpić tę wartość domyślną, ustaw parametr Docelowy na moduł HSM, aby klucz był chroniony przez moduł HSM. Po określeniu tego parametru parametr docelowy jest opcjonalny.
Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-KeyOps

Określa tablicę operacji, które można wykonać przy użyciu klucza, który dodaje to polecenie cmdlet. Jeśli nie określisz tego parametru, wszystkie operacje można wykonać. Dopuszczalne wartości dla tego parametru to rozdzielona przecinkami lista operacji klucza zdefiniowanych przez specyfikację klucza internetowego JSON (JWK):

  • szyfrowanie
  • odszyfrować
  • wrapKey
  • unwrapKey
  • znak
  • verify
  • import (tylko w przypadku klucza KEK, zobacz przykład 7)
Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-KeyType

Określa typ klucza tego klucza. Podczas importowania kluczy BYOK wartość domyślna to "RSA".

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Name

Określa nazwę klucza, który ma zostać dodany do magazynu kluczy. To polecenie cmdlet konstruuje w pełni kwalifikowaną nazwę domeny (FQDN) klucza na podstawie nazwy określonej przez ten parametr, nazwy magazynu kluczy i bieżącego środowiska. Nazwa musi być ciągiem o długości od 1 do 63 znaków, który zawiera tylko 0–9, a–z, A–Z i — (symbol kreski).

Typ:String
Aliasy:KeyName
Position:1
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-NotBefore

Określa godzinę jako obiekt DateTime , przed którym nie można użyć klucza. Ten parametr używa czasu UTC. Aby uzyskać obiekt DateTime , użyj polecenia cmdlet Get-Date . Jeśli nie określisz tego parametru, klucz może być używany natychmiast.

Typ:Nullable<T>[DateTime]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ReleasePolicyPath

Ścieżka do pliku zawierającego definicję zasad JSON. Reguły zasad, w ramach których można wyeksportować klucz.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ResourceId

Identyfikator zasobu magazynu.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Size

Rozmiar klucza RSA w bitach. Jeśli nie zostanie określony, usługa zapewni bezpieczne ustawienie domyślne.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Tag

Pary klucz-wartość w postaci tabeli skrótów. Na przykład: @{key0="value0"; key1=$null; key2="value2"}

Typ:Hashtable
Aliasy:Tags
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-UseDefaultCVMPolicy

Określa, aby używać domyślnych zasad, w których klucz można wyeksportować na potrzeby szyfrowania dysków CVM.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-VaultName

Określa nazwę magazynu kluczy, do którego to polecenie cmdlet dodaje klucz. To polecenie cmdlet konstruuje nazwę FQDN magazynu kluczy na podstawie nazwy określonej przez ten parametr i bieżącego środowiska.

Typ:String
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

PSKeyVault

PSManagedHsm

String

Dane wyjściowe

PSKeyVaultKey