New-SqlColumnMasterKey
Crée un objet clé principale de colonne dans la base de données.
Syntax
New-SqlColumnMasterKey
-ColumnMasterKeySettings <SqlColumnMasterKeySettings>
[-Name] <String>
[-InputObject] <Database>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
New-SqlColumnMasterKey
-ColumnMasterKeySettings <SqlColumnMasterKeySettings>
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Description
L’applet de commande New-SqlColumnMasterKey crée une colonne master objet clé dans la base de données. Un objet de clé master colonne capture l’emplacement d’une clé de chiffrement physique destinée à être utilisée comme clé master colonne pour la fonctionnalité Always Encrypted.
Exemples
Exemple 1 : Créer une colonne master objet clé qui référence un certificat
$CmkSettings = New-SqlCertificateStoreColumnMasterKeySettings -CertificateStoreLocation 'CurrentUser' -CertificateThumbprint 'f2260f28d909d21c642a3d8e0b45a830e79a1420'
New-SqlColumnMasterKey -Name 'CMK1' -ColumnMasterKeySettings $CmkSettings
La première commande utilise l’applet de commande New-SqlCertificateStoreColumnMasterKeySettings pour créer une colonne master paramètres référençant un certificat dans le Magasin de certificats Windows et stocke le résultat dans la variable nommée $CmkSettings
.
Exemple 2 : Créer une colonne master objet clé qui référence une clé dans Azure Key Vault
$CmkSettings = New-SqlAzureKeyVaultColumnMasterKeySettings -KeyUrl 'https://myvault.vault.contoso.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'
New-SqlColumnMasterKey 'CMK1' -ColumnMasterKeySettings $CmkSettings
La première commande utilise l’applet de commande New-SqlCertificateStoreColumnMasterKeySettings pour créer un objet de clé de colonne master référençant une clé dans Azure Key Vault et stocke le résultat dans la variable nommée $CmkSettings
.
Exemple 3 : Créer une colonne master objet clé qui référence une clé prenant en charge CNG
$CmkSettings = New-SqlCngColumnMasterKeySettings -CngProviderName 'Microsoft Software Key Storage Provider' -KeyName 'AlwaysEncryptedKey'
New-SqlColumnMasterKey 'CMK1' -ColumnMasterKeySettings $CmkSettings
La première commande utilise l’applet de commande New-SqlCertificateStoreColumnMasterKeySettings pour créer un objet de clé de colonne master référençant une clé dans un magasin de clés prenant en charge l’API Cryptography Next Generation (CNG) et stocke le résultat dans la variable nommée $CmkSettings
.
Exemple 4 : Créer une colonne master objet clé qui fait référence à une clé prenant en charge csp
$CmkSettings = New-SqlCspColumnMasterKeySettings 'MyCspProvider' 'AlwaysEncryptedKey'
New-SqlColumnMasterKey 'CMK1' -ColumnMasterKeySettings $CmkSettings
La première commande utilise l’applet de commande New-SqlCertificateStoreColumnMasterKeySettings pour créer un objet de clé master colonne référençant une clé dans un magasin de clés avec un fournisseur de services de chiffrement (CSP) prenant en charge l’API de chiffrement (CAPI).
Exemple 5 : Créer une colonne master objet clé qui fait référence à un certificat, il est signé automatiquement et prend en charge les calculs d’enclave
$CmkSettings = New-SqlCertificateStoreColumnMasterKeySettings -CertificateStoreLocation 'CurrentUser' -CertificateThumbprint 'f2260f28d909d21c642a3d8e0b45a830e79a1420' -AllowEnclaveComputations
New-SqlColumnMasterKey -Name 'CMK1' -ColumnMasterKeySettings $CmkSettings
La première commande utilise l’applet de commande New-SqlCertificateStoreColumnMasterKeySettings pour créer des paramètres de master de colonne référençant un certificat qui prend en charge les calculs d’enclave et qui est stocké dans le magasin de certificats Windows.
Paramètres
-AccessToken
Jeton d’accès utilisé pour s’authentifier auprès de SQL Server, comme alternative à l’authentification utilisateur/mot de passe ou Windows.
Cela peut être utilisé, par exemple, pour se connecter à et à SQL Azure DB
l’aide d’un Service Principal
ou d’un Managed Identity
.SQL Azure Managed Instance
Le paramètre à utiliser peut être une chaîne représentant le jeton ou un PSAccessToken
objet tel que retourné par l’exécution Get-AzAccessToken -ResourceUrl https://database.windows.net
de .
Ce paramètre est nouveau dans la version 22 du module.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ColumnMasterKeySettings
Spécifie l’objet SqlColumnMasterKeySettings qui spécifie l’emplacement de la clé master colonne réelle.
L’objet SqlColumnMasterKeySettings a deux propriétés : KeyStoreProviderName et KeyPath.
KeyStoreProviderName spécifie le nom d’une colonne master fournisseur de magasins de clés, qu’un pilote client Always Encrypted doit utiliser pour accéder au magasin de clés contenant la colonne master clé.
KeyPath spécifie l’emplacement de la colonne master clé dans le magasin de clés. Le format KeyPath est spécifique au magasin de clés.
Type: | SqlColumnMasterKeySettings |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Type de chiffrement à utiliser lors de la connexion à SQL Server.
Cette valeur est mappée à la Encrypt
propriété SqlConnectionEncryptOption
sur l’objet SqlConnection du pilote Microsoft.Data.SqlClient.
Dans la version 22 du module, la valeur par défaut est Optional
(pour la compatibilité avec v21). Dans la version 23+ du module, la valeur par défaut est « Obligatoire », ce qui peut créer une modification cassant pour les scripts existants.
Ce paramètre est nouveau dans la version 22 du module.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Nom d’hôte à utiliser pour valider le certificat SQL Server TLS/SSL. Vous devez passer ce paramètre si votre SQL Server instance est activé pour Forcer le chiffrement et que vous souhaitez vous connecter à un instance à l’aide de nom d’hôte/nom_court. Si ce paramètre est omis, le passage du nom de domaine complet (FQDN) à -ServerInstance est nécessaire pour se connecter à un SQL Server instance activé pour forcer le chiffrement.
Ce paramètre est nouveau dans la version 22 du module.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Spécifie l’objet de base de données SQL pour lequel cette applet de commande exécute l’opération.
Type: | Database |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Spécifie le nom de la colonne master objet clé créé par cette applet de commande.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Spécifie le chemin de la base de données SQL pour laquelle cette applet de commande exécute l’opération. Si vous ne spécifiez pas de valeur pour ce paramètre, l’applet de commande utilise l’emplacement de travail actuel.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Indique que cette applet de commande retourne un script Transact-SQL qui effectue la tâche effectuée par cette applet de commande.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Indique si le canal sera chiffré tout en contournant la chaîne de certificats pour valider l’approbation.
Dans la version 22 du module, la valeur par défaut est $true
(pour la compatibilité avec v21). Dans v23+ du module, la valeur par défaut est « $false », ce qui peut créer une modification cassant pour les scripts existants.
Ce paramètre est nouveau dans la version 22 du module.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Microsoft.SqlServer.Management.Smo.Database
Sorties
Microsoft.SqlServer.Management.Smo.SqlColumnMasterKey