Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
S’applique à : SQL Server
Azure SQL Database
Azure SQL Managed Instance
Le module SqlServer PowerShell fournit des cmdlets pour configurer Always Encrypted dans la base de données Azure SQL ou SQL Server.
L’objectif principal d’Always Encrypted étant de garantir la sécurité des données sensibles chiffrées même si le système de base de données est compromis, l’exécution d’un script PowerShell qui traite des clés ou des données sensibles sur l’ordinateur SQL Server peut réduire ou annuler les avantages de la fonctionnalité. Pour obtenir des recommandations supplémentaires relatives à la sécurité, consultez Considérations en matière de sécurité pour la gestion des clés.
Vous pouvez utiliser PowerShell pour gérer des clés Always Encrypted avec et sans séparation des rôles, ce qui permet de contrôler qui a accès aux clés de chiffrement réelles du magasin de clés et qui a accès à la base de données.
Pour obtenir des recommandations supplémentaires, consultez Considérations en matière de sécurité pour la gestion des clés.
Installez le module SqlServer PowerShell version 22.0.50 ou ultérieure sur un ordinateur sécurisé qui n’est PAS un ordinateur hébergeant votre instance SQL Server. Vous pouvez installer le module directement à partir de PowerShell Gallery. Pour plus d’informations, consultez les instructions de téléchargement.
Pour charger le module SqlServer
Cet exemple charge le module SQL Server.
# Import the SQL Server Module.
Import-Module "SqlServer" -MinimumVersion 22.0.50
Certaines des applets de commande Always Encrypted fonctionnent avec des données ou des métadonnées dans la base de données et nécessitent que vous vous connectiez d’abord à la base de données. Il existe deux méthodes recommandées pour se connecter à une base de données lors de la configuration d’Always Encrypted à l’aide du module SqlServer :
L’applet de commande Get-SqlDatabase vous permet de vous connecter à une base de données dans SQL Server ou Azure SQL Database. Elle retourne un objet de base de données, que vous pouvez ensuite passer à l’aide du paramètre InputObject d’une applet de commande qui se connecte à la base de données.
# Import the SqlServer module
Import-Module "SqlServer" -MinimumVersion 22.0.50
# Connect to your database
# Set the valid server name, database name and authentication keywords in the connection string
$serverName = "<Azure SQL server name>.database.windows.net"
$databaseName = "<database name>"
$connStr = "Server = " + $serverName + "; Database = " + $databaseName + "; Authentication = Active Directory Integrated"
$database = Get-SqlDatabase -ConnectionString $connStr
# List column master keys for the specified database.
Get-SqlColumnMasterKey -InputObject $database
Vous pouvez également utiliser un canal :
$database | Get-SqlColumnMasterKey
Le fournisseur SQL Server PowerShell présente la hiérarchie des objets SQL Server dans des chemins semblables aux chemins de système de fichiers. Avec SQL Server PowerShell, vous pouvez parcourir les chemins à l’aide d’alias Windows PowerShell semblables aux commandes que vous utilisez généralement pour parcourir les chemins du système de fichiers. Une fois que vous accédez à l’instance cible et à la base de données, les applets de commande suivantes ciblent cette base de données, comme indiqué dans l’exemple suivant.
Note
Cette méthode de connexion à une base de données fonctionne uniquement pour SQL Server (elle n’est pas prise en charge dans Azure SQL Database).
# Import the SqlServer module.
Import-Module "SqlServer" -MinimumVersion 22.0.50
# Navigate to the database in the remote instance.
cd SQLSERVER:\SQL\servercomputer\DEFAULT\Databases\yourdatabase
# List column master keys in the above database.
Get-SqlColumnMasterKey
Vous pouvez également spécifier un chemin de base de données à l’aide du paramètre générique Path , au lieu de naviguer dans la base de données.
# Import the SqlServer module.
Import-Module "SqlServer" -MinimumVersion 22.0.50
# List column master keys for the specified database.
Get-SqlColumnMasterKey -Path SQLSERVER:\SQL\servercomputer\DEFAULT\Databases\yourdatabase
Les applets de commande PowerShell suivantes sont disponibles pour Always Encrypted :
APPLET DE COMMANDE | Description |
---|---|
Add-SqlAzureAuthenticationContext | Effectue une authentification dans Azure et acquiert un jeton d’authentification. |
Add-SqlColumnEncryptionKeyValue | Ajoute une nouvelle valeur chiffrée pour un objet de clé de chiffrement de colonne existant dans la base de données. |
Complete-SqlColumnMasterKeyRotation | Met fin à la permutation d’une clé principale de colonne |
Get-SqlColumnEncryptionKey | Retourne tous les objets de clés de chiffrement de colonne définis dans la base de données, ou retourne un objet de clé de chiffrement de colonne portant le nom spécifié. |
Get-SqlColumnMasterKey | Retourne les objets de clés principales de colonne définis dans la base de données, ou retourne un objet de clé principale de colonne portant le nom spécifié. |
Invoke-SqlColumnMasterKeyRotation | Lance la permutation d’une clé principale de colonne. |
New-SqlAzureKeyVaultColumnMasterKeySettings | Crée un objet SqlColumnMasterKeySettings décrivant une clé asymétrique stockée dans Azure Key Vault. |
New-SqlCngColumnMasterKeySettings | Crée un objet SqlColumnMasterKeySettings décrivant une clé asymétrique stockée dans un magasin de clés prenant en charge l’API CNG (Cryptography Next Generation). |
New-SqlColumnEncryptionKey | Crée un objet clé de chiffrement de colonne dans la base de données. |
New-SqlColumnEncryptionKeyEncryptedValue | Génère une valeur chiffrée d’une clé de chiffrement de colonne. |
New-SqlColumnEncryptionSettings | Crée un objet SqlColumnEncryptionSettings qui encapsule des informations sur le chiffrement d’une colonne unique, notamment le type de chiffrement et la clé de chiffrement de colonne. |
New-SqlColumnMasterKey | Crée un objet clé principale de colonne dans la base de données. |
New-SqlColumnMasterKeySettings | Crée un objet SqlColumnMasterKeySettings pour une clé principale de colonne avec le fournisseur et le chemin d’accès à la clé spécifiés. |
New-SqlCspColumnMasterKeySettings | Crée un objet SqlColumnMasterKeySettings décrivant une clé asymétrique stockée dans un magasin de clés avec un fournisseur de services de chiffrement prenant en charge l’API CAPI (Cryptography API). |
Remove-SqlColumnEncryptionKey | Supprime l’objet de clé de chiffrement de colonne de la base de données. |
Remove-SqlColumnEncryptionKeyValue | Supprime une valeur chiffrée d’un objet de clé de chiffrement de colonne existant dans la base de données. |
Remove-SqlColumnMasterKey | Supprime l’objet de clé principale de colonne de la base de données. |
Set-SqlColumnEncryption | Chiffre, déchiffre ou rechiffre les colonnes spécifiées dans la base de données. |
Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiFormation
Module
Protéger les données en transit et au repos - Training
Protéger les données en transit et au repos
Certification
Microsoft Certified : Azure Database Administrator Associate - Certifications
Administrer une infrastructure de base de données SQL Server pour les bases de données relationnelles cloud, locales et hybrides à l’aide des offres de bases de données relationnelles Microsoft PaaS.
Documentation
Configurer Always Encrypted à l’aide de SSMS - SQL Server
Décrit les tâches de configuration et de gestion des bases de données Always Encrypted avec SQL Server Management Studio (SSMS).
Provisionner des clés Always Encrypted avec SQL Server Management Studio - SQL Server
Découvrez comment approvisionner des clés principales de colonne et des clés de chiffrement de colonne Always Encrypted avec SQL Server Management Studio.
Effectuer une rotation des clés Always Encrypted avec SQL Server Management Studio - SQL Server
Découvrez la rotation des clés principales de colonne et des clés de chiffrement de colonne Always Encrypted avec SQL Server Management Studio.