Partager via


New-SqlColumnMasterKeySettings

Crée un objet SqlColumnMasterKeySettings décrivant une clé principale stockée dans un fournisseur de magasins de clés et un chemin d’accès arbitrairement spécifiés.

Syntaxe

Default (Par défaut)

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 sqlColumnMasterKeySettings en mémoire qui stocke les propriétés d’une clé principale de colonne pour Always Encrypted : KeyStoreProviderName, KeyPath, AllowEnclaveComputations et Signature. Cette applet de commande peut être utilisée pour les fournisseurs de magasin 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 clé principale de colonne pour générer une signature de 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 clé principale de colonne qui se trouve dans Azure Key Vault et qui n’est pas activée 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 clé principale de colonne 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 clé principale de colonne qui se trouve dans Azure Key Vault, autorise les calculs d’enclave et est signé à 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 clé principale de colonne qui se trouve dans Azure Key Vault, autorise les calculs d’enclave et est signé 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 clé principale de colonne 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 clé principale de colonne. Non valide pour SQL Server 2017 et les versions antérieures.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:2
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-KeyPath

Spécifie le chemin d’accès dans le magasin de clés de la clé principale physique.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:1
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-KeyStoreProviderName

Spécifie le nom du fournisseur du magasin de clés utilisé pour protéger la clé principale physique.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 clé principale de colonne spécifiée est stockée dans un coffre de clés dans Azure Key Vault et que l’applet de commande est censée signer les métadonnées de clé.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ManagedHsmAccessToken

Spécifie un jeton d’accès pour les HSM managés dans Azure Key Vault. Utilisez ce paramètre si la clé principale de colonne spécifiée est stockée dans un HSM managé dans Azure Key Vault et que l’applet de commande est censée signer les métadonnées de clé.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Signature

Spécifie une chaîne hexadécimale qui est une signature numérique des propriétés de clé principale de colonne. Un pilote client peut vérifier la signature pour vous assurer que les propriétés de clé principale de colonne n’ont pas été falsifiées. Ce paramètre est autorisé uniquement si AllowEnclaveComputations est spécifié. Si AllowEnclaveComputations est spécifié, mais la signature n’est pas spécifiée, l’applet de commande calcule automatiquement la signature et remplit la propriété Signature de l’objet SqlColumnMasterKeySettings .

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:3
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.