Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
En el módulo SqlServer PowerShell se proporcionan cmdlets para configurar Always Encrypted en Azure SQL Database o SQL Server.
Dado que el objetivo principal de Always Encrypted es garantizar la seguridad de la información confidencial cifrada, incluso si el sistema de base de datos está en peligro, la ejecución de un script de PowerShell que procese las claves o la información confidencial en el equipo con SQL Server puede reducir o anular las ventajas de la característica. Para obtener más recomendaciones relacionadas con la seguridad, vea Security Considerations for Key Management(Consideraciones de seguridad para la administración de claves).
Puede usar PowerShell para administrar claves de Always Encrypted con y sin separación de roles, lo que proporciona control sobre quién tiene acceso a las claves de cifrado reales del almacén de claves y quién tiene acceso a la base de datos.
Para obtener más recomendaciones, vea Security Considerations for Key Management(Consideraciones de seguridad para la administración de claves).
Instale el módulo SqlServer PowerShell versión 22.0.50 o posterior en un equipo seguro distinto del equipo que hospeda la instancia de SQL Server. El módulo se puede instalar directamente desde la Galería de PowerShell. Vea las instrucciones de descarga para obtener más información.
Para cargar el módulo SqlServer:
En este ejemplo se carga el módulo SqlServer.
# Import the SQL Server Module.
Import-Module "SqlServer" -MinimumVersion 22.0.50
Algunos de los cmdlets de Always Encrypted funcionan con datos o metadatos de la base de datos y requieren que se conecte primero a la base de datos. Hay dos métodos recomendados para conectarse a una base de datos al configurar Always Encrypted con el módulo SqlServer:
El cmdlet Get-SqlDatabase le permite conectarse a una base de datos en SQL Server o en Azure SQL Database. Devuelve un objeto de base de datos, que luego se puede pasar con el parámetro InputObject de un cmdlet que se conecta a la base de datos.
# 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
También puede usar la canalización:
$database | Get-SqlColumnMasterKey
El proveedor de SQL Server PowerShell expone la jerarquía de objetos de SQL Server en rutas similares a las rutas de acceso al sistema de archivos. Con SQL Server PowerShell, puede navegar por las rutas de acceso mediante alias de Windows PowerShell similares a los comandos que se usan normalmente para navegar por las rutas de acceso al sistema de archivos. Una vez que se haya desplazado a la instancia de destino y la base de datos, los cmdlets posteriores tendrán como destino esa base de datos, como se muestra en el ejemplo siguiente.
Nota
Este método de conexión a una base de datos solo funciona para SQL Server (no se admite en Base de datos SQL de Azure).
# 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
También puede especificar una ruta de acceso a la base de datos mediante el parámetro genérico Path , en lugar de desplazarse a la base de datos.
# 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
Los siguientes cmdlets de PowerShell están disponibles para Always Encrypted:
CMDLET | Descripción |
---|---|
Add-SqlAzureAuthenticationContext | Realiza la autenticación en Azure y adquiere un token de autenticación. |
Add-SqlColumnEncryptionKeyValue | Agrega un nuevo valor cifrado para un objeto de clave de cifrado de columnas existente en la base de datos. |
Complete-SqlColumnMasterKeyRotation | Completa la rotación de una clave maestra de columna. |
Get-SqlColumnEncryptionKey | Devuelve todos los objetos de clave de cifrado de columnas definidos en la base de datos, o devuelve un objeto de clave de cifrado de columnas con el nombre especificado. |
Get-SqlColumnMasterKey | Devuelve los objetos de clave maestra de columna definidos en la base de datos, o devuelve un objeto de clave maestra de columna con el nombre especificado. |
Invoke-SqlColumnMasterKeyRotation | Inicia la rotación de una clave maestra de columna. |
New-SqlAzureKeyVaultColumnMasterKeySettings | Crea un objeto SqlColumnMasterKeySettings que describe una clave asimétrica almacenada en el Almacén de claves de Azure. |
New-SqlCngColumnMasterKeySettings | Crea un objeto SqlColumnMasterKeySettings que describe una clave asimétrica almacenada en un almacén de claves compatible con la API Cryptography Next Generation (CNG). |
New-SqlColumnEncryptionKey | Crea un objeto de clave de cifrado de columnas en la base de datos. |
New-SqlColumnEncryptionKeyEncryptedValue | Produce un valor cifrado de una clave de cifrado de columnas. |
New-SqlColumnEncryptionSettings | Crea un objeto SqlColumnEncryptionSettings que encapsula la información sobre el cifrado de una sola columna, incluida la CEK y el tipo de cifrado. |
New-SqlColumnMasterKey | Crea un objeto de clave maestra de columna en la base de datos. |
New-SqlColumnMasterKeySettings | Crea un objeto SqlColumnMasterKeySettings para una clave maestra de columna con el proveedor y la ruta de acceso de la clave especificados. |
New-SqlCspColumnMasterKeySettings | Crea un objeto SqlColumnMasterKeySettings que describe una clave asimétrica almacenada en un almacén de claves con un proveedor de servicios criptográficos (CSP) compatible con Cryptography API (CAPI). |
Remove-SqlColumnEncryptionKey | Quita de la base de datos el objeto de clave de cifrado de columnas. |
Remove-SqlColumnEncryptionKeyValue | Quita un valor cifrado de un objeto de clave de cifrado de columnas existente en la base de datos. |
Remove-SqlColumnMasterKey | Quita de la base de datos el objeto de clave maestra de columna. |
Set-SqlColumnEncryption | Cifra, descifra o vuelve a cifrar las columnas especificadas de la base de datos. |
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyCursos
Módulo
Protección de los datos en tránsito y en reposo - Training
Protección de los datos en tránsito y en reposo
Certificación
Microsoft Certified: Azure Database Administrator Associate - Certifications
Administre una infraestructura de base de datos de SQL Server para bases de datos relacionales locales e híbridas en la nube mediante las ofertas de bases de datos relacionales PaaS de Microsoft.
Documentación
Creación y almacenamiento de claves maestras de columna para Always Encrypted - SQL Server
Obtenga información sobre cómo seleccionar un almacén de claves y crear claves maestras de columna para SQL Server Always Encrypted.
Configure Always Encrypted using SSMS (Configurar Always Encrypted con SSMS) - SQL Server
Describe tareas para configurar y administrar bases de datos de Always Encrypted con SQL Server Management Studio (SSMS).
Configuración del cifrado de columnas mediante el asistente para Always Encrypted - SQL Server
Obtenga información sobre cómo establecer la configuración de Always Encrypted para las columnas de las bases de datos mediante el Asistente para Always Encrypted en SQL Server.