New-SqlColumnMasterKey
Crée un objet clé principale de colonne dans la base de données.
Syntaxe
ByObject
New-SqlColumnMasterKey
[-Name] <String>
[-InputObject] <Database>
-ColumnMasterKeySettings <SqlColumnMasterKeySettings>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
ByPath
New-SqlColumnMasterKey
[-Name] <String>
[[-Path] <String>]
-ColumnMasterKeySettings <SqlColumnMasterKeySettings>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Description
L’applet de commande New-SqlColumnMasterKey crée un objet de clé principale de colonne dans la base de données. Un objet de clé principale de colonne capture l’emplacement d’une clé de chiffrement physique destinée à être utilisée comme clé principale de colonne pour la fonctionnalité Always Encrypted.
Exemples
Exemple 1 : Créer un objet clé principale de colonne 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 des paramètres principaux de colonne référençant un certificat dans le Windows Certificate Store et stocke le résultat dans la variable nommée $CmkSettings.
Exemple 2 : Créer un objet de clé principale de colonne 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é principale de colonne 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 un objet clé principale de colonne qui fait 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é principale de colonne 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 un objet clé principale de colonne qui référence une clé de prise en charge du fournisseur de solutions Cloud
$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é principale de colonne référençant une clé dans un magasin de clés de magasin de clés avec un fournisseur de services de chiffrement (CSP) prenant en charge l’API de chiffrement (CAPI).
Exemple 5 : Créer un objet clé principale de colonne qui 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 base de colonnes 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 à SQL Azure DBSQL Azure Managed Instance un Service Principal ou un Managed Identity.
Le paramètre à utiliser peut être une chaîne représentant le jeton ou un PSAccessToken objet tel qu’il est retourné en exécutant Get-AzAccessToken -ResourceUrl https://database.windows.net.
Ce paramètre est nouveau dans v22 du module.
Propriétés du paramètre
| Type: | PSObject |
| 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 |
-ColumnMasterKeySettings
Spécifie l’objet SqlColumnMasterKeySettings qui spécifie l’emplacement de la clé principale de colonne réelle.
L’objet SqlColumnMasterKeySettings a deux propriétés : KeyStoreProviderName et KeyPath.
KeyStoreProviderName spécifie le nom d’un fournisseur de magasin de clés principales de colonne, qu’un pilote client compatible Always Encrypted doit utiliser pour accéder au magasin de clés contenant la clé principale de colonne.
KeyPath spécifie l’emplacement de la clé principale de colonne dans le magasin de clés. Le format KeyPath est spécifique au magasin de clés.
Propriétés du paramètre
| Type: | SqlColumnMasterKeySettings |
| 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: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 v22 du module.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Valeurs acceptées: | Mandatory, Optional, Strict |
| 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 |
-HostNameInCertificate
Nom d’hôte à utiliser pour valider le certificat SQL Server TLS/SSL. Vous devez passer ce paramètre si votre instance SQL Server est activée pour Forcer le chiffrement et que vous souhaitez vous connecter à une instance à l’aide du nom d’hôte/shortname. Si ce paramètre est omis, le passage du nom de domaine complet (FQDN) à -ServerInstance est nécessaire pour se connecter à une instance SQL Server activée pour Forcer le chiffrement.
Ce paramètre est nouveau dans v22 du module.
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 |
-InputObject
Spécifie l’objet de base de données SQL pour lequel cette applet de commande exécute l’opération.
Propriétés du paramètre
| Type: | Database |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ByObject
| Position: | 2 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Name
Spécifie le nom de l’objet clé principale de colonne créé par cette applet de commande.
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 |
-Path
Spécifie le chemin d’accès 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.
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
ByPath
| Position: | 2 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | SwitchParameter |
| 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 |
-TrustServerCertificate
Indique si le canal sera chiffré lors du contournement de la marche à pied de 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 v22 du module.
Propriétés du paramètre
| Type: | SwitchParameter |
| 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 |
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.