Transzparens adattitkosítás engedélyezése az Azure Arc által engedélyezett felügyelt SQL-példányon (előzetes verzió)
Ez a cikk azt ismerteti, hogyan engedélyezheti és tilthatja le a transzparens adattitkosítást (TDE) inaktív állapotban az Azure Arc által engedélyezett felügyelt SQL-példányon. Ebben a cikkben a felügyelt példány kifejezés az Azure Arc által engedélyezett FELÜGYELT SQL-példány üzembe helyezésére vonatkozik, és a TDE engedélyezése/letiltása a felügyelt példányon futó összes adatbázisra vonatkozik.
A TDE-vel kapcsolatos további információkért tekintse meg a Transzparens adattitkosítást.
A TDE szolgáltatás bekapcsolása a következő:
- A rendszer mostantól automatikusan titkosítja az összes meglévő adatbázist.
- Minden újonnan létrehozott adatbázis automatikusan titkosítva lesz.
Megjegyzés:
Előzetes verziójú funkcióként a cikkben bemutatott technológia a Microsoft Azure előzetes verziójának kiegészítő használati feltételeire vonatkozik.
A legújabb frissítések a kibocsátási megjegyzésekben érhetők el.
Előfeltételek
A cikk folytatása előtt létre kell hoznia egy felügyelt SQL-példányt az Azure Arc-erőforrás által, és csatlakoznia kell hozzá.
- Felügyelt SQL-példány létrehozása az Azure Arc által engedélyezve
- Csatlakozás az Azure Arc által engedélyezett felügyelt SQL-példányra
Limitations
Az automatikus TDE engedélyezésekor a következő korlátozások érvényesek:
- Csak az általános célú szint támogatott.
- A feladatátvételi csoportok nem támogatottak.
Felügyelt példány létrehozása TDE-vel (Azure CLI)
Az alábbi példa létrehoz egy, az Azure Arc által engedélyezett felügyelt SQL-példányt egy TDE-kompatibilis replikával:
az sql mi-arc create --name sqlmi-tde --k8s-namespace arc --tde-mode ServiceManaged --use-k8s
A TDE bekapcsolása a felügyelt példányon
Ha a TDE engedélyezve van az Arc-kompatibilis felügyelt SQL-példányon, az adatszolgáltatás automatikusan elvégzi a következő feladatokat:
- Hozzáadja a szolgáltatás által felügyelt adatbázis főkulcsát az
master
adatbázisban. - Hozzáadja a szolgáltatás által felügyelt tanúsítványvédőt.
- Hozzáadja a társított adatbázis-titkosítási kulcsokat (DEK) a felügyelt példány összes adatbázisához.
- Engedélyezi a titkosítást a felügyelt példány összes adatbázisán.
Az Azure Arc TDE által engedélyezett felügyelt SQL-példányt kétféle módban állíthatja be:
- Szolgáltatás által felügyelt
- Ügyfél által felügyelt
Szolgáltatás által felügyelt módban a TDE megköveteli, hogy a felügyelt példány szolgáltatás által felügyelt adatbázis-főkulcsot és a szolgáltatás által felügyelt kiszolgálótanúsítványt használjon. Ezek a hitelesítő adatok automatikusan létrejönnek, ha a szolgáltatás által felügyelt TDE engedélyezve van.
Ügyfél által felügyelt módban a TDE egy szolgáltatás által felügyelt adatbázis főkulcsát használja, és a kiszolgálótanúsítványhoz megadott kulcsokat használja. Ügyfél által felügyelt mód konfigurálása:
- Hozzon létre egy tanúsítványt.
- A tanúsítványt titkos kódként tárolja ugyanabban a Kubernetes-névtérben, mint a példány.
Engedélyezés
Az alábbi szakasz bemutatja, hogyan engedélyezheti a TDE szolgáltatást felügyelt módban.
A TDE szolgáltatás által felügyelt módban való engedélyezéséhez futtassa a következő parancsot:
az sql mi-arc update --tde-mode ServiceManaged
A TDE kikapcsolása a felügyelt példányon
Ha a TDE le van tiltva az Arc-kompatibilis felügyelt SQL-példányon, az adatszolgáltatás automatikusan elvégzi a következő feladatokat:
- Letiltja a titkosítást a felügyelt példány összes adatbázisán.
- A társított DEK-k elvetése a felügyelt példány összes adatbázisára.
- Elveti a szolgáltatás által felügyelt tanúsítványvédőt.
- A szolgáltatás által felügyelt adatbázis főkulcsának elvetése az
master
adatbázisban.
A TDE letiltása:
az sql mi-arc update --tde-mode Disabled
TDE-hitelesítő adatok biztonsági mentése
Amikor biztonsági másolatot készít a felügyelt példány hitelesítő adatairól, a hitelesítő adatok a tárolóban lesznek tárolva. Ha állandó köteten szeretné tárolni a hitelesítő adatokat, adja meg a csatlakoztatási útvonalat a tárolóban. For example, var/opt/mssql/data
. Az alábbi példa egy felügyelt példány tanúsítványáról készít biztonsági másolatot:
Megjegyzés:
Ha a kubectl cp
parancs Windowsból fut, a parancs az abszolút Windows-elérési utak használatakor meghiúsulhat. Használjon relatív elérési utakat vagy az alább megadott parancsokat.
A tanúsítvány biztonsági mentése a tárolóból a következőre
/var/opt/mssql/data
: .USE master; GO BACKUP CERTIFICATE <cert-name> TO FILE = '<cert-path>' WITH PRIVATE KEY ( FILE = '<private-key-path>', ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>');
Példa:
USE master; GO BACKUP CERTIFICATE MyServerCert TO FILE = '/var/opt/mssql/data/servercert.crt' WITH PRIVATE KEY ( FILE = '/var/opt/mssql/data/servercert.key', ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>');
Másolja a tanúsítványt a tárolóból a fájlrendszerbe.
Másolja a titkos kulcsot a tárolóból a fájlrendszerbe.
Törölje a tanúsítványt és a titkos kulcsot a tárolóból.
kubectl exec -it --namespace <namespace> --container arc-sqlmi <pod-name> -- bash -c "rm <certificate-path> <private-key-path>
Példa:
kubectl exec -it --namespace arc-ns --container arc-sqlmi sql-0 -- bash -c "rm /var/opt/mssql/data/servercert.crt /var/opt/mssql/data/servercert.key"
TDE-hitelesítő adatok visszaállítása felügyelt példányra
A fentiekhez hasonlóan a hitelesítő adatok visszaállításához másolja őket a tárolóba, és futtassa a megfelelő T-SQL-t utána.
Megjegyzés:
Ha a kubectl cp
parancs Windowsból fut, a parancs az abszolút Windows-elérési utak használatakor meghiúsulhat. Használjon relatív elérési utakat vagy az alább megadott parancsokat.
A TDE engedélyezése előtt készített adatbázis-biztonsági másolatok visszaállításához le kell tiltania a TDE-t a felügyelt SQL-példányon, vissza kell állítania az adatbázis biztonsági mentését, és újra engedélyeznie kell a TDE-t.
Másolja a tanúsítványt a fájlrendszerből a tárolóba.
Másolja a titkos kulcsot a fájlrendszerből a tárolóba.
Hozza létre a tanúsítványt a következő fájlelérési utak használatával: .
/var/opt/mssql/data
USE master; GO CREATE CERTIFICATE <certicate-name> FROM FILE = '<certificate-path>' WITH PRIVATE KEY ( FILE = '<private-key-path>', DECRYPTION BY PASSWORD = '<UseStrongPasswordHere>' );
Példa:
USE master; GO CREATE CERTIFICATE MyServerCertRestored FROM FILE = '/var/opt/mssql/data/servercert.crt' WITH PRIVATE KEY ( FILE = '/var/opt/mssql/data/servercert.key', DECRYPTION BY PASSWORD = '<UseStrongPasswordHere>' );
Törölje a tanúsítványt és a titkos kulcsot a tárolóból.
kubectl exec -it --namespace <namespace> --container arc-sqlmi <pod-name> -- bash -c "rm <certificate-path> <private-key-path>
Példa:
kubectl exec -it --namespace arc-ns --container arc-sqlmi sql-0 -- bash -c "rm /var/opt/mssql/data/servercert.crt /var/opt/mssql/data/servercert.key"