Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Felügyelt Példány
Az SqlServer PowerShell-modul parancsmagokat biztosít Always Encrypted konfigurálásához az Azure SQL Database-ben és az SQL Serveren egyaránt.
Biztonsági szempontok az Always Encrypted konfigurálásához használt PowerShell használatakor
Mivel az Always Encrypted elsődleges célja annak biztosítása, hogy a titkosított bizalmas adatok biztonságosak legyenek, még akkor is, ha az adatbázisrendszer biztonsága sérül, az SQL Server-számítógépen kulcsokat vagy bizalmas adatokat feldolgozó PowerShell-szkriptek végrehajtása csökkentheti vagy csökkentheti a funkció előnyeit. A biztonsággal kapcsolatos további javaslatokért tekintse meg a kulcskezelés biztonsági szempontjait.
A PowerShell segítségével szerepkör-elkülönítéssel és anélkül is kezelheti az Always Encrypted kulcsokat, így szabályozhatja, hogy ki férhet hozzá a kulcstárolóban lévő tényleges titkosítási kulcsokhoz, és ki férhet hozzá az adatbázishoz.
További javaslatokért tekintse meg a kulcskezelés biztonsági szempontjait.
Előfeltételek
Telepítse a SqlServer PowerShell-modul 22.0.50-es vagy újabb verzióját olyan biztonságos számítógépre, amely NEM az SQL Server-példányt futtató számítógép. A modul közvetlenül a PowerShell-katalógusból telepíthető. További részletekért tekintse meg a letöltési utasításait.
Az SqlServer modul importálása
Az SqlServer modul betöltése:
- A Set-ExecutionPolicy parancsmaggal állítsa be a megfelelő szkriptvégrehajtási szabályzatot.
- Az SqlServer-modul importálásához használja az Import-Module parancsmagot.
Ez a példa betölti az SqlServer modult.
# Import the SQL Server Module.
Import-Module "SqlServer" -MinimumVersion 22.0.50
Csatlakozás adatbázishoz
Az Always Encrypted parancsmagok némelyike az adatbázisban lévő adatokkal vagy metaadatokkal dolgozik, és először az adatbázishoz kell csatlakoznia. Az Always Encrypted sqlserver modullal történő konfigurálásakor két ajánlott módszer létezik az adatbázishoz való csatlakozásra:
- Csatlakozás a Get-SqlDatabase parancsmaggal.
- Csatlakozás AZ SQL Server PowerShell-szolgáltatóval.
A Get-SqlDatabase használata
A Get-SqlDatabase parancsmaggal sql serveres vagy Azure SQL Database-adatbázishoz csatlakozhat. Visszaad egy adatbázis-objektumot, amelyet aztán átadhat az adatbázishoz csatlakozó parancsmag InputObject paraméterével.
Az SQL Server PowerShell használata
# 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
Másik lehetőségként használhatja a csöveket:
$database | Get-SqlColumnMasterKey
Az SQL Server PowerShell Provider használata
Az SQL Server PowerShell-szolgáltató az SQL Server-objektumok hierarchiáját a fájlrendszer elérési útjaihoz hasonló elérési utakon teszi elérhetővé. Az SQL Server PowerShell-lel a windowsos PowerShell-aliasok használatával navigálhat az útvonalak között, hasonlóan a fájlrendszer elérési útjaihoz általában használt parancsokhoz. Miután megnyitja a célpéldányt és az adatbázist, a következő parancsmagok az adatbázist célba érik az alábbi példában látható módon.
Jegyzet
Ez az adatbázishoz való kapcsolódási módszer csak SQL Server esetén működik (az Azure SQL Database nem támogatja).
# 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
Másik lehetőségként megadhat egy adatbázis-elérési utat az általános Elérési út paraméterrel az adatbázisra való navigálás helyett.
# 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
Mindig titkosított feladatok a PowerShell használatával
- Mindig titkosított kulcsok biztosítása PowerShell használatával
- Mindig titkosított kulcsok forgatása a PowerShell segítségével
- Oszlopok titkosítása, újratitkosítása vagy visszafejtése Always Encrypted használatával a PowerShell-
Always Encrypted parancsmag útmutató
Az Always Encryptedhez a következő PowerShell-parancsmagok érhetők el:
| cmdlet | Leírás |
|---|---|
| Add-SqlAzureAuthenticationContext | Hitelesítést végez az Azure-ban, és beszerez egy hitelesítési jogkivonatot. |
| Add-SqlColumnEncryptionKeyValue | Új titkosított értéket ad hozzá egy meglévő oszloptitkosítási kulcsobjektumhoz az adatbázisban. |
| Complete-SqlColumnMasterKeyRotation | Befejezi az oszlop főkulcsának forgatását |
| Get-SqlColumnEncryptionKey | Az adatbázisban definiált összes oszloptitkosítási kulcsobjektumot visszaadja, vagy egy oszloptitkosítási kulcsobjektumot ad vissza a megadott névvel. |
| Get-SqlColumnMasterKey | Az adatbázisban definiált oszlopmintakulcs-objektumokat adja vissza, vagy egy oszlop főkulcs-objektumát adja vissza a megadott névvel. |
| Invoke-SqlColumnMasterKeyRotation | Elindítja az oszlop főkulcsának elforgatását. |
| New-SqlAzureKeyVaultColumnMasterKeySettings | Létrehoz egy SqlColumnMasterKeySettings objektumot, amely az Azure Key Vaultban tárolt aszimmetrikus kulcsot írja le. |
| New-SqlCngColumnMasterKeySettings | Létrehoz egy SqlColumnMasterKeySettings objektumot, amely egy kulcstárolóban tárolt aszimmetrikus kulcsot ír le, amely támogatja a Cryptography Next Generation (CNG) API-t. |
| New-SqlColumnEncryptionKey | Létrehoz egy oszloptitkosítási kulcsobjektumot az adatbázisban. |
| New-SqlColumnEncryptionKeyEncryptedValue | Egy oszloptitkosítási kulcs titkosított értékét állítja elő. |
| New-SqlColumnEncryptionSettings | Létrehoz egy SqlColumnEncryptionSettings objektumot, amely egyetlen oszlop titkosítására vonatkozó információkat foglal magában, beleértve a CEK-et és a titkosítás típusát. |
| New-SqlColumnMasterKey | Létrehoz egy oszlop főkulcs-objektumot az adatbázisban. |
| New-SqlColumnMasterKeySettings | Létrehoz egy SqlColumnMasterKeySettings objektumot egy oszlop főkulcsához a megadott szolgáltatóval és kulcs elérési útjával. |
| New-SqlCspColumnMasterKeySettings | Létrehoz egy SqlColumnMasterKeySettings objektumot, amely egy kulcstárolóban tárolt aszimmetrikus kulcsot ír le egy titkosítási szolgáltatóval (CSP), amely támogatja a titkosítási API-t (CAPI). |
| Remove-SqlColumnEncryptionKey | Eltávolítja az oszloptitkosítási kulcs objektumát az adatbázisból. |
| Remove-SqlColumnEncryptionKeyValue | Eltávolít egy titkosított értéket az adatbázis meglévő oszloptitkosítási kulcsobjektumából. |
| Remove-SqlColumnMasterKey | Eltávolítja az oszlop főkulcs-objektumát az adatbázisból. |
| Set-SqlColumnEncryption | Titkosítja, visszafejti vagy újra titkosítja az adatbázis megadott oszlopait. |
Kapcsolódó tartalom
- Always Encrypted
- Always Encrypted kulcskezelésének áttekintése
- Always Encrypted konfigurálása az SQL Server Management Studio használatával
- Alkalmazások fejlesztése Always Encrypted használatával