Add-AzKeyVaultKey

Erstellt einen Schlüssel in einem Schlüsseltresor oder importiert einen Schlüssel in einen Schlüsseltresor.

Syntax

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

Beschreibung

Das Cmdlet "Add-AzKeyVaultKey " erstellt einen Schlüssel in einem Schlüsseltresor im Azure Key Vault oder importiert einen Schlüssel in einen Schlüsseltresor. Verwenden Sie dieses Cmdlet, um Schlüssel mithilfe einer der folgenden Methoden hinzuzufügen:

  • Erstellen Sie einen Schlüssel in einem Hardwaresicherheitsmodul (HSM) im Key Vault-Dienst.
  • Erstellen Sie einen Schlüssel in der Software im Key Vault-Dienst.
  • Importieren Sie einen Schlüssel aus Ihrem eigenen Hardwaresicherheitsmodul (HSM) in HSMs im Key Vault-Dienst.
  • Importieren Sie einen Schlüssel aus einer PFX-Datei auf Ihrem Computer.
  • Importieren Sie einen Schlüssel aus einer PFX-Datei auf Ihrem Computer in Hardwaresicherheitsmodule (HSMs) im Key Vault-Dienst. Für jeden dieser Vorgänge können Sie Schlüsselattribute bereitstellen oder Standardeinstellungen akzeptieren. Wenn Sie einen Schlüssel erstellen oder importieren, der denselben Namen wie ein vorhandener Schlüssel im Schlüsseltresor aufweist, wird der ursprüngliche Schlüssel mit den Werten aktualisiert, die Sie für den neuen Schlüssel angeben. Sie können auf die vorherigen Werte zugreifen, indem Sie den versionsspezifischen URI für diese Version des Schlüssels verwenden. Weitere Informationen zu wichtigen Versionen und der URI-Struktur finden Sie in der Dokumentation zur Key Vault-REST-API unter "Informationen zu Schlüsseln und Geheimen Schlüsseln ". Hinweis: Um einen Schlüssel aus Ihrem eigenen Hardwaresicherheitsmodul zu importieren, müssen Sie zuerst ein BYOK-Paket (eine Datei mit einer BYOK-Dateinamenerweiterung) mithilfe des Toolsets Azure Key Vault BYOK generieren. Weitere Informationen finden Sie unter Generieren und Übertragen von HSM-geschützten Schlüsseln für Azure Key Vault. Als bewährte Methode sollten Sie Ihren Schlüssel sichern, nachdem er erstellt oder aktualisiert wurde, mithilfe des Cmdlets Backup-AzKeyVaultKey. Es gibt keine Rückgängig-Funktionalität. Wenn Sie ihren Schlüssel versehentlich löschen oder ihn löschen und dann Ihre Meinung ändern, kann der Schlüssel nicht wiederhergestellt werden, es sei denn, Sie haben eine Sicherung davon, die Sie wiederherstellen können.

Beispiele

Beispiel 1: Erstellen eines Schlüssels

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           :

Mit diesem Befehl wird ein softwaregeschützter Schlüssel namens "ITSoftware" im Schlüsseltresor "Contoso" erstellt.

Beispiel 2: Erstellen eines EC-Schlüssels

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           :

Mit diesem Befehl wird ein softwaregeschützter EC-Schlüssel namens "Testschlüssel" im Schlüsseltresor namens "test-kv" erstellt. Der Kurvenname ist standardmäßig P-256.

Beispiel 3: Erstellen eines HSM-geschützten Schlüssels

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           :

Dieser Befehl erstellt einen HSM-geschützten Schlüssel im Schlüsseltresor namens Contoso.

Beispiel 4: Erstellen eines Schlüssels mit nicht standardmäßigen Werten

$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

Der erste Befehl speichert die Werte entschlüsseln und überprüfen in der variablen $KeyOperations. Der zweite Befehl erstellt ein DateTime-Objekt , das in UTC definiert ist, mithilfe des Cmdlets "Get-Date ". Dieses Objekt gibt eine Zeit von zwei Jahren in der Zukunft an. Der Befehl speichert dieses Datum in der variablen $Expires. Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help Get-Date. Der dritte Befehl erstellt ein DateTime-Objekt mithilfe des Cmdlets "Get-Date ". Dieses Objekt gibt die aktuelle UTC-Zeit an. Der Befehl speichert dieses Datum in der variablen $NotBefore. Der letzte Befehl erstellt einen Schlüssel namens ITHsmNonDefault, der ein HSM-geschützter Schlüssel ist. Der Befehl gibt Werte für zulässige Schlüsselvorgänge an, die $KeyOperations gespeichert sind. Der Befehl gibt Zeiten für die Parameter "Expires " und "NotBefore " an, die in den vorherigen Befehlen erstellt wurden, sowie Tags für hohen Schweregrad und IT. Der neue Schlüssel ist deaktiviert. Sie können es mithilfe des Cmdlets Set-AzKeyVaultKey aktivieren.

Beispiel 5: Importieren eines HSM-geschützten Schlüssels

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           :

Dieser Befehl importiert den Schlüssel mit dem Namen "ITByok" aus dem Speicherort, den der KeyFilePath-Parameter angibt. Der importierte Schlüssel ist ein HSM-geschützter Schlüssel. Um einen Schlüssel aus Ihrem eigenen Hardwaresicherheitsmodul zu importieren, müssen Sie zuerst ein BYOK-Paket (eine Datei mit einer BYOK-Dateinamenerweiterung) mithilfe des Toolsets "Azure Key Vault BYOK" generieren. Weitere Informationen finden Sie unter Generieren und Übertragen von HSM-geschützten Schlüsseln für Azure Key Vault.

Beispiel 6: Importieren eines softwaregeschützten Schlüssels

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

Der erste Befehl konvertiert eine Zeichenfolge mithilfe des Cmdlets ConvertTo-SecureString in eine sichere Zeichenfolge und speichert diese Zeichenfolge dann in der $Password Variablen. Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help ConvertTo-SecureString. Der zweite Befehl erstellt ein Softwarekennwort im Contoso-Schlüsseltresor. Der Befehl gibt den Speicherort für den Schlüssel und das in $Password gespeicherte Kennwort an.

Beispiel 7: Importieren eines Schlüssels und Zuweisen von Attributen

$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

Der erste Befehl konvertiert eine Zeichenfolge mithilfe des Cmdlets ConvertTo-SecureString in eine sichere Zeichenfolge und speichert diese Zeichenfolge dann in der $Password Variablen. Der zweite Befehl erstellt ein DateTime-Objekt mithilfe des Cmdlets "Get-Date ", und speichert das Objekt dann in der variablen $Expires. Der dritte Befehl erstellt die $tags Variable, um Tags für hohen Schweregrad und IT festzulegen. Der letzte Befehl importiert einen Schlüssel als HSM-Schlüssel aus dem angegebenen Speicherort. Der Befehl gibt die in $Expires gespeicherte Ablaufzeit und das Kennwort an, die in $Password gespeichert sind, und wendet die in $tags gespeicherten Tags an.

Beispiel 8: Generieren eines Schlüsselaustauschschlüssels (KEY Exchange Key, KEK) für "Bring your own key" (BYOK) Feature

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

Generiert einen Schlüssel (als Key Exchange Key (KEK) bezeichnet). Der KEK muss ein RSA-HSM-Schlüssel sein, der nur über den Importschlüsselvorgang verfügt. Nur die Premium-SKU von Key Vault unterstützt RSA-HSM-Schlüssel. Weitere Details finden Sie unter https://video2.skills-academy.com/azure/key-vault/keys/hsm-protected-keys.

Beispiel 9: Erstellen eines sicheren Schlüssels in verwaltetem 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           :

Erstellen Sie einen sicheren Schlüssel in verwaltetem hsm mit dem Namen "testmhsm". Der Name ist "Testschlüssel", und der Typ ist RSA.

Beispiel 10: Hinzufügen eines Schlüssels für einen vertraulichen virtuellen Computer zu einem Schlüsseltresor.

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           :

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-CurveName

Gibt den Kurvennamen der kryptografischen Kurve an, dieser Wert ist gültig, wenn KeyType EC ist.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Destination

Gibt an, ob der Schlüssel als softwaregeschützter Schlüssel oder hsM-geschützter Schlüssel im Key Vault-Dienst hinzugefügt werden soll. Gültige Werte sind: HSM und Software. Hinweis: Um HSM als Ziel zu verwenden, müssen Sie über einen Schlüsseltresor verfügen, der HSMs unterstützt. Weitere Informationen zu den Dienstebenen und Funktionen für Azure Key Vault finden Sie auf der Website Key Vault – Preise. Dieser Parameter ist erforderlich, wenn Sie einen neuen Schlüssel erstellen. Wenn Sie einen Schlüssel mithilfe des KeyFilePath-Parameters importieren, ist dieser Parameter optional:

  • Wenn Sie diesen Parameter nicht angeben und dieses Cmdlet einen Schlüssel importiert, der die Dateinamenerweiterung ".byok" aufweist, importiert er diesen Schlüssel als HSM-geschützten Schlüssel. Das Cmdlet kann diesen Schlüssel nicht als softwaregeschützter Schlüssel importieren.
  • Wenn Sie diesen Parameter nicht angeben und dieses Cmdlet einen Schlüssel importiert, der über eine PFX-Dateinamenerweiterung verfügt, wird der Schlüssel als softwaregeschützter Schlüssel importiert.
Typ:String
Zulässige Werte:HSM, Software, HSM, Software
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Disable

Gibt an, dass der hinzuzufügende Schlüssel auf einen anfangs deaktivierten Zustand festgelegt ist. Jeder Versuch, den Schlüssel zu verwenden, schlägt fehl. Verwenden Sie diesen Parameter, wenn Sie Schlüssel vorab laden, die Sie später aktivieren möchten.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Expires

Gibt die Ablaufzeit des Schlüssels in UTC als DateTime-Objekt für den von diesem Cmdlet hinzugefügten Schlüssel an. Wenn nicht angegeben, läuft der Schlüssel nicht ab. Verwenden Sie zum Abrufen eines DateTime-Objekts das Cmdlet "Get-Date ". Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help Get-Date. Beachten Sie, dass Ablaufwerte für den im BYOK-Prozess verwendeten Schlüsselaustauschschlüssel ignoriert werden.

Typ:Nullable<T>[DateTime]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Exportable

Gibt an, ob der private Schlüssel exportiert werden kann.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-HsmName

HSM-Name. Cmdlet erstellt den FQDN eines verwalteten HSM basierend auf dem Namen und der aktuell ausgewählten Umgebung.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-HsmObject

HSM-Objekt.

Typ:PSManagedHsm
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-HsmResourceId

Ressourcen-ID des HSM.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Immutable

Legt die Releaserichtlinie als unveränderlichen Zustand fest. Nachdem sie als unveränderlich markiert wurde, kann dieses Flag nicht zurückgesetzt werden, und die Richtlinie kann unter keinen Umständen geändert werden.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Vault-Objekt.

Typ:PSKeyVault
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-KeyFilePassword

Gibt ein Kennwort für die importierte Datei als SecureString-Objekt an. Verwenden Sie das Cmdlet ConvertTo-SecureString, um ein SecureString-Objekt abzurufen. Geben Sie Folgendes ein, um weitere Informationen zu erhalten: Get-Help ConvertTo-SecureString. Sie müssen dieses Kennwort angeben, um eine Datei mit der Dateinamenerweiterung PFX zu importieren.

Typ:SecureString
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-KeyFilePath

Gibt den Pfad einer lokalen Datei an, die Schlüsselmaterial enthält, das dieses Cmdlet importiert. Die gültigen Dateinamenerweiterungen sind BYOK und PFX.

  • Wenn es sich bei der Datei um eine BYOK-Datei handelt, wird der Schlüssel nach dem Import automatisch durch HSMs geschützt, und Sie können diese Standardeinstellung nicht außer Kraft setzen.
  • Wenn es sich bei der Datei um eine PFX-Datei handelt, wird der Schlüssel nach dem Import automatisch durch Software geschützt. Um diesen Standardwert außer Kraft zu setzen, legen Sie den Destination-Parameter auf HSM fest, sodass der Schlüssel HSM-geschützt ist. Wenn Sie diesen Parameter angeben, ist der Destination-Parameter optional.
Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-KeyOps

Gibt ein Array von Vorgängen an, die mithilfe des von diesem Cmdlet hinzugefügten Schlüssels ausgeführt werden können. Ohne Angabe dieses Parameters können alle Vorgänge ausgeführt werden. Zulässige Werte für diesen Parameter sind eine durch Kommas getrennte Liste mit Schlüsselvorgängen gemäß JWK-Spezifikation (JSON Web Key):

  • encrypt
  • decrypt
  • wrapKey
  • unwrapKey
  • sign
  • verify
  • Import (nur für KEK siehe Beispiel 7)
Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-KeyType

Gibt den Schlüsseltyp dieses Schlüssels an. Beim Importieren von BYOK-Schlüsseln wird standardmäßig "RSA" verwendet.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Name

Gibt den Namen des Schlüssels an, der dem Schlüsseltresor hinzugefügt werden soll. Dieses Cmdlet erstellt den vollqualifizierten Domänennamen (FQDN) eines Schlüssels basierend auf dem Namen, den dieser Parameter angibt, den Namen des Schlüsseltresors und die aktuelle Umgebung. Der Name muss eine Zeichenfolge von 1 bis 63 Zeichen sein, die nur 0-9, a-z, A-Z und - (das Strichsymbol) enthält.

Typ:String
Aliase:KeyName
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-NotBefore

Gibt die Uhrzeit als DateTime-Objekt an, vor der der Schlüssel nicht verwendet werden kann. Dieser Parameter verwendet UTC. Verwenden Sie zum Abrufen eines DateTime-Objekts das Cmdlet "Get-Date ". Wenn Sie diesen Parameter nicht angeben, kann der Schlüssel sofort verwendet werden.

Typ:Nullable<T>[DateTime]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ReleasePolicyPath

Ein Pfad zu einer Datei mit JSON-Richtliniendefinition. Die Richtlinienregeln, unter denen ein Schlüssel exportiert werden kann.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ResourceId

Vault-Ressourcen-ID.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Size

RSA-Schlüsselgröße in Bits. Wenn nicht angegeben, stellt der Dienst einen sicheren Standardwert bereit.

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Tag

Schlüssel-Wert-Paare in Form einer Hashtabelle. Beispiel: @{key0="value0"; key1=$null; key2="value2"}

Typ:Hashtable
Aliase:Tags
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-UseDefaultCVMPolicy

Gibt die Standardrichtlinie an, unter der der Schlüssel für die CVM-Datenträgerverschlüsselung exportiert werden kann.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VaultName

Gibt den Namen des Schlüsseltresors an, dem dieses Cmdlet den Schlüssel hinzufügt. Dieses Cmdlet erstellt den FQDN eines Schlüsseltresors basierend auf dem Namen, den dieser Parameter angibt, und Die aktuelle Umgebung.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

PSKeyVault

PSManagedHsm

String

Ausgaben

PSKeyVaultKey