New-SqlColumnMasterKeySettings
Crée un objet SqlColumnMasterKeySettings décrivant une clé master stockée dans un fournisseur et un chemin de magasin de clés spécifiés arbitrairement.
Syntax
New-SqlColumnMasterKeySettings
[-KeyStoreProviderName] <String>
[-KeyPath] <String>
[[-Signature] <String>]
[-KeyVaultAccessToken <String>]
[-ManagedHsmAccessToken <String>]
[-AllowEnclaveComputations]
[<CommonParameters>]
Description
L’applet de commande New-SqlColumnMasterKeySettings crée un objet en mémoire SqlColumnMasterKeySettings qui stocke les propriétés d’une colonne master clé pour Always Encrypted : KeyStoreProviderName, KeyPath, AllowEnclaveComputations et Signature. Cette applet de commande peut être utilisée pour les fournisseurs de magasins de clés personnalisés et lorsque le nom du fournisseur de magasin de clés et un chemin de clé entièrement mis en forme sont connus.
L’applet de commande peut communiquer avec un magasin de clés contenant la colonne master clé pour générer une signature des propriétés de métadonnées de clé. Si la clé est stockée dans Azure, vous devez spécifier un jeton d’authentification valide pour un coffre de clés ou un HSM managé contenant la clé. Vous pouvez également vous authentifier auprès d’Azure avec Add-SqlAzureAuthenticationContext avant d’appeler cette applet de commande.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Exemples
Exemple 1 : Générer des paramètres pour une colonne master clé qui se trouve dans Azure Key Vault et qui n’est pas en enclave.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'
Exemple 2 : Générer des paramètres pour une colonne master clé qui se trouve dans un fournisseur personnalisé
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'CUSTOM_PROVIDER' -KeyPath '\\SecureNetworkShare\Keys\AlwaysEncrypted.key'
Exemple 3 : Générer des paramètres pour une colonne master clé qui se trouve dans Azure Key Vault, autorise les calculs d’enclave et est signée à l’aide de la signature fournie.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -Signature '0x19BEB4F27F582FDBBD0C7E5F92CF161D79D5E7F5A5183F9C8E710252E7028A3654FBEAF834EE45925024F1A32BD3C6D7D92B46E38690830E20E0777607B073E6665EB05E39263C02557D1208ACECB2251A108D0DEFC25232B67FD223C590258C817292FAFCE2388507812D64A0AEC9E546B0B8E4B2F3EA436053CB158F3CF478C5F5EDA511D0F752F60C3B129BF21356A93368FCC7FD6FAA8DB4E919EB551F375181CA3F4D0404A811C99BD2C8D10C0003AC12B138371F2D76611768B4E84D44116C42F00D679B36D41FBD9467B58291B1F4348C7B422793DA0614EF980CA0A7F42B6D627AFA5A753F0869D2C2F9B0FD38289D5433CE9266C6F867334654BE12'
Exemple 4 : Générer des paramètres pour une colonne master clé qui se trouve dans Azure Key Vault, autorise les calculs d’enclave et est signée automatiquement.
# 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
Paramètres
-AllowEnclaveComputations
Spécifie si la colonne master clé autorise les calculs d’enclave. Si le paramètre est spécifié, les enclaves sécurisées côté serveur sont autorisées à effectuer des calculs sur les données protégées avec la colonne master clé. Non valide pour SQL Server versions 2017 et antérieures.
Type: | SwitchParameter |
Position: | 2 |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyPath
Spécifie le chemin d’accès dans le magasin de clés de la clé physique master.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyStoreProviderName
Spécifie le nom du fournisseur du magasin de clés utilisé pour protéger la clé master physique.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyVaultAccessToken
Spécifie un jeton d’accès pour les coffres de clés dans Azure Key Vault. Utilisez ce paramètre si la colonne spécifiée master clé est stockée dans un coffre de clés dans Azure Key Vault et que l’applet de commande doit signer les métadonnées de clé.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ManagedHsmAccessToken
Spécifie un jeton d’accès pour les HSM managés dans Azure Key Vault. Utilisez ce paramètre si la colonne spécifiée master clé est stockée dans un HSM managé dans Azure Key Vault et que l’applet de commande doit signer les métadonnées de clé.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Signature
Spécifie une chaîne hexadécimale qui est une signature numérique des propriétés de la colonne master clé. Un pilote client peut vérifier la signature pour s’assurer que la colonne master propriétés de clé n’a pas été falsifiée. Ce paramètre n’est autorisé que si AllowEnclaveComputations est spécifié. Si AllowEnclaveComputations est spécifié, mais que Signature ne l’est pas, l’applet de commande calcule automatiquement la signature et remplit la propriété Signature du nouvel objet SqlColumnMasterKeySettings .
Type: | String |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |