Share via


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á.

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:

  1. Hozzáadja a szolgáltatás által felügyelt adatbázis főkulcsát az master adatbázisban.
  2. Hozzáadja a szolgáltatás által felügyelt tanúsítványvédőt.
  3. Hozzáadja a társított adatbázis-titkosítási kulcsokat (DEK) a felügyelt példány összes adatbázisához.
  4. 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:

  1. Hozzon létre egy tanúsítványt.
  2. 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:

  1. Letiltja a titkosítást a felügyelt példány összes adatbázisán.
  2. A társított DEK-k elvetése a felügyelt példány összes adatbázisára.
  3. Elveti a szolgáltatás által felügyelt tanúsítványvédőt.
  4. 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.

  1. 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>');
    
  2. Másolja a tanúsítványt a tárolóból a fájlrendszerbe.

    kubectl exec -n <namespace> -c arc-sqlmi <pod-name> -- cat <pod-certificate-path> > <local-certificate-path>
    

    Példa:

    kubectl exec -n arc-ns -c arc-sqlmi sql-0 -- cat /var/opt/mssql/data/servercert.crt > $HOME\sqlcerts\servercert.crt
    

  1. Másolja a titkos kulcsot a tárolóból a fájlrendszerbe.

     kubectl exec -n <namespace> -c arc-sqlmi <pod-name> -- cat <pod-private-key-path> > <local-private-key-path>
    

    Példa:

    kubectl exec -n arc-ns -c arc-sqlmi sql-0 -- cat /var/opt/mssql/data/servercert.key > $HOME\sqlcerts\servercert.key
    

  1. 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.

  1. Másolja a tanúsítványt a fájlrendszerből a tárolóba.

    type <local-certificate-path> | kubectl exec -i -n <namespace> -c arc-sqlmi <pod-name> -- tee <pod-certificate-path>
    

    Példa:

    type $HOME\sqlcerts\servercert.crt | kubectl exec -i -n arc-ns -c arc-sqlmi sql-0 -- tee /var/opt/mssql/data/servercert.crt
    

  1. Másolja a titkos kulcsot a fájlrendszerből a tárolóba.

    type <local-private-key-path> | kubectl exec -i -n <namespace> -c arc-sqlmi <pod-name> -- tee <pod-private-key-path>
    

    Példa:

    type $HOME\sqlcerts\servercert.key | kubectl exec -i -n arc-ns -c arc-sqlmi sql-0 -- tee /var/opt/mssql/data/servercert.key
    
  2. 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>' );
    
  3. 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"
    

Transzparens adattitkosítás