New-SqlColumnMasterKeySettings

Erstellt ein SqlColumnMasterKeySettings-Objekt, das einen master Schlüssel beschreibt, der in einem willkürlich angegebenen Schlüsselspeicheranbieter und Pfad gespeichert ist.

Syntax

New-SqlColumnMasterKeySettings
   [-KeyStoreProviderName] <String>
   [-KeyPath] <String>
   [[-Signature] <String>]
   [-KeyVaultAccessToken <String>]
   [-ManagedHsmAccessToken <String>]
   [-AllowEnclaveComputations]
   [<CommonParameters>]

Beschreibung

Das Cmdlet New-SqlColumnMasterKeySettings erstellt ein SqlColumnMasterKeySettings-In-Memory-Objekt, das Eigenschaften einer Spalte master Schlüssel für Always Encrypted speichert: KeyStoreProviderName, KeyPath, AllowEnclaveComputations und Signature. Dieses Cmdlet kann für benutzerdefinierte Schlüsselspeicheranbieter und verwendet werden, wenn sowohl der Name des Schlüsselspeicheranbieters als auch ein vollständig formatierter Schlüsselpfad bekannt sind.

Das Cmdlet kann mit einem Schlüsselspeicher kommunizieren, der die Spalte master Schlüssel enthält, um eine Signatur von Schlüsselmetadateneigenschaften zu generieren. Wenn der Schlüssel in Azure gespeichert ist, müssen Sie ein gültiges Authentifizierungstoken für einen Schlüsseltresor oder ein verwaltetes HSM angeben, das den Schlüssel enthält. Alternativ können Sie sich bei Azure mit Add-SqlAzureAuthenticationContext authentifizieren, bevor Sie dieses Cmdlet aufrufen.

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

Beispiele

Beispiel 1: Generieren von Einstellungen für eine Spalte master Schlüssel, der sich in Azure Key Vault befindet und nicht Enclaved-fähig ist.

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'

Beispiel 2: Generieren von Einstellungen für eine Spalte master Schlüssel, der sich in einem benutzerdefinierten Anbieter befindet

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'CUSTOM_PROVIDER' -KeyPath '\\SecureNetworkShare\Keys\AlwaysEncrypted.key'

Beispiel 3: Generieren von Einstellungen für eine Spalte master Schlüssel, der sich in Azure Key Vault befindet, Enclave-Berechnungen zulässt und mit der bereitgestellten Signatur signiert wird.

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -Signature '0x19BEB4F27F582FDBBD0C7E5F92CF161D79D5E7F5A5183F9C8E710252E7028A3654FBEAF834EE45925024F1A32BD3C6D7D92B46E38690830E20E0777607B073E6665EB05E39263C02557D1208ACECB2251A108D0DEFC25232B67FD223C590258C817292FAFCE2388507812D64A0AEC9E546B0B8E4B2F3EA436053CB158F3CF478C5F5EDA511D0F752F60C3B129BF21356A93368FCC7FD6FAA8DB4E919EB551F375181CA3F4D0404A811C99BD2C8D10C0003AC12B138371F2D76611768B4E84D44116C42F00D679B36D41FBD9467B58291B1F4348C7B422793DA0614EF980CA0A7F42B6D627AFA5A753F0869D2C2F9B0FD38289D5433CE9266C6F867334654BE12'

Beispiel 4: Generieren von Einstellungen für eine Spalte master Schlüssel, der sich in Azure Key Vault befindet, Enclaveberechnungen zulässt und automatisch signiert wird.

# Connect to Azure account.
Import-Module Az.Accounts -MinimumVersion 2.2.0
Connect-AzAccount

# Obtain an access token for key vaults.
$keyVaultAccessToken = (Get-AzAccessToken -ResourceUrl https://vault.azure.net).Token

# Pass the token to the cmdlet. It will use the token to communicate with a key vault in Azure Key Vault to sign the column master key properties.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -KeyVaultAccessToken $keyVaultAccessToken

Parameter

-AllowEnclaveComputations

Gibt an, ob die Spalte master Schlüssel Enclave-Berechnungen zulässt. Wenn der Parameter angegeben ist, können serverseitige Secure Enclaves Berechnungen für Daten ausführen, die mit dem Spaltenschlüssel master geschützt sind. Ungültig für SQL Server 2017 und ältere Versionen.

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

-KeyPath

Gibt den Pfad im Schlüsselspeicher des physischen master Schlüssels an.

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

-KeyStoreProviderName

Gibt den Anbieternamen des Schlüsselspeichers an, der zum Schutz des physischen master Schlüssels verwendet wird.

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

-KeyVaultAccessToken

Gibt ein Zugriffstoken für Schlüsseltresore in Azure Key Vault an. Verwenden Sie diesen Parameter, wenn die angegebene Spalte master Schlüssel in einem Schlüsseltresor in Azure Key Vault gespeichert ist und das Cmdlet Schlüsselmetadaten signiert.

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

-ManagedHsmAccessToken

Gibt ein Zugriffstoken für verwaltete HSMs in Azure Key Vault an. Verwenden Sie diesen Parameter, wenn die angegebene Spalte master Schlüssel in einem verwalteten HSM in Azure Key Vault gespeichert ist und das Cmdlet Schlüsselmetadaten signiert.

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

-Signature

Gibt eine hexadezimale Zeichenfolge an, die eine digitale Signatur von Spalten master Schlüsseleigenschaften ist. Ein Clienttreiber kann die Signatur überprüfen, um sicherzustellen, dass die Spalte master Schlüsseleigenschaften nicht manipuliert wurde. Dieser Parameter ist nur zulässig, wenn AllowEnclaveComputations angegeben ist. Wenn AllowEnclaveComputations angegeben ist, Signatur jedoch nicht, berechnet das Cmdlet automatisch die Signatur und füllt die Signature-Eigenschaft des neuen SqlColumnMasterKeySettings-Objekts auf.

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