Megosztás a következőn keresztül:


Oktatóanyag: Az Always Encrypted használatának első lépései

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Ez az oktatóanyag bemutatja, hogyan kezdheti el az Always Encrypted szolgáltatást. A következőt jeleníti meg:

  • A kijelölt oszlopok titkosítása az adatbázisban.
  • Titkosított oszlopok lekérdezése.

Előfeltételek

Ebben az oktatóanyagban a következőkre van szüksége:

1. lépés: Az adatbázisséma létrehozása és feltöltése

Ebben a lépésben létrehozza a HR-sémát és az Alkalmazottak táblát . Ezután feltölti a táblát néhány adattal.

  1. Csatlakozzon az adatbázishoz. Az adatbázishoz SSMS-ből való csatlakozással kapcsolatos utasításokért tekintse meg a következő rövid útmutatót: Azure SQL Database vagy felügyelt Azure SQL-példány csatlakoztatása és lekérdezése AZ SQL Server Management Studio (SSMS) használatával vagy rövid útmutató: SQL Server-példány csatlakoztatása és lekérdezése az SQL Server Management Studio (SSMS) használatával.

  2. Nyisson meg egy új lekérdezési ablakot a ContosoHR-adatbázishoz .

  3. Illessze be és hajtsa végre az alábbi utasításokat egy új, Alkalmazottak nevű tábla létrehozásához.

    CREATE SCHEMA [HR];
    GO
    
    CREATE TABLE [HR].[Employees]
    (
        [EmployeeID] [int] IDENTITY(1,1) NOT NULL
        , [SSN] [char](11) NOT NULL
        , [FirstName] [nvarchar](50) NOT NULL
        , [LastName] [nvarchar](50) NOT NULL
        , [Salary] [money] NOT NULL
    ) ON [PRIMARY];
    
  4. Illessze be és hajtsa végre az alábbi utasításokat, hogy hozzáadjon néhány alkalmazotti rekordot az Alkalmazottak táblához.

    INSERT INTO [HR].[Employees]
    (
        [SSN]
        , [FirstName]
        , [LastName]
        , [Salary]
    )
    VALUES
    (
        '795-73-9838'
        , N'Catherine'
        , N'Abel'
        , $31692
    );
    
    INSERT INTO [HR].[Employees]
    (
        [SSN]
        , [FirstName]
        , [LastName]
        , [Salary]
    )
    VALUES
    (
        '990-00-6818'
        , N'Kim'
        , N'Abercrombie'
        , $55415
    );
    

2. lépés: Oszlopok titkosítása

Ebben a lépésben létrehoz egy oszlop főkulcsot és egy oszloptitkosítási kulcsot az Always Encryptedhez. Ezután titkosítja az Alkalmazottak tábla SSN és Fizetés oszlopait.

Az SSMS egy varázslót biztosít, amely segít az Always Encrypted egyszerű konfigurálásában egy oszlop főkulcsának, egy oszloptitkosítási kulcsnak és a kijelölt oszlopok titkosításának beállításával.

  1. Az Object Explorerben bontsa ki az Adatbázisokat>, ContosoHR> és a Táblákat.

  2. Kattintson a jobb gombbal az Alkalmazottak táblára, és válassza az Oszlopok titkosítása lehetőséget az Always Encrypted varázsló megnyitásához.

    Képernyőkép az Always Encrypted varázsló megnyitásáról.

  3. Válassza a Tovább lehetőséget a varázsló Bevezetés lapján.

  4. Az Oszlopkijelölés lapon.

    1. Válassza ki az SSN és a Fizetés oszlopot. Válassza ki az SSN oszlop determinisztikus titkosítását, a Fizetés oszlop véletlenszerű titkosítását. A determinisztikus titkosítás támogatja a lekérdezéseket, például a titkosított oszlopok egyenlőségi összehasonlítását tartalmazó pontkereséseket. A véletlenszerű titkosítás nem támogatja a titkosított oszlopok számításait.
    2. Hagyja CEK-Auto1 (Új) oszloptitkosítási kulcsot mindkét oszlophoz. Ez a kulcs még nem létezik, és a varázsló fogja létrehozni.
    3. Válassza a Következőlehetőséget.

    Képernyőkép az Always Encrypted varázsló oszlopkijelöléséről.

  5. A Főkulcs konfigurációja lapon konfiguráljon egy új oszlop főkulcsát, amelyet a varázsló fog létrehozni. Először ki kell választania, hogy hol szeretné tárolni az oszlop főkulcsát. A varázsló két kulcstároló-típust támogat:

    • Azure Key Vault – ajánlott, ha az adatbázis az Azure-ban van
    • Windows-tanúsítványtároló

    Általában az Azure Key Vault az ajánlott lehetőség, különösen akkor, ha az adatbázis az Azure-ban található.

    • Az Azure Key Vault használata:

      1. Válassza az Azure Key Vaultot.
      2. Válassza a Bejelentkezés lehetőséget, és fejezze be a bejelentkezést az Azure-ba.
      3. Miután bejelentkezett, a lapon megjelenik az előfizetések és a kulcstartók listája, amelyekhez hozzáférése van. Válassza ki a használni kívánt kulcstartót tartalmazó Azure-előfizetést.
      4. Válassza ki a kulcstartót.
      5. Válassza a Következőlehetőséget.

      Képernyőkép az Always Encrypted varázsló főkulcs-kiválasztásáról az Azure Key Vault használatával.

    • A Windows tanúsítványtároló használata:

      1. Válassza a Windows tanúsítványtárolót.

      2. Hagyja meg az Aktuális felhasználó alapértelmezett beállítását – ez arra utasítja a varázslót, hogy hozzon létre egy tanúsítványt (az új oszlop főkulcsát) az Aktuális felhasználó tárolóban.

        Képernyőkép az Always Encrypted varázsló főkulcsának kiválasztásáról a tanúsítványtároló használatával.

      3. Válassza a Következőlehetőséget.

  6. A In-Place Titkosítási beállítások lapon nincs szükség további konfigurációra, mert az adatbázis nem rendelkezik enklávéval. Válassza a Következőlehetőséget.

  7. A Futtatási beállítások lapon a rendszer megkérdezi, hogy folytatja-e a titkosítást, vagy létrehoz egy PowerShell-szkriptet, amelyet később végre szeretne hajtani. Hagyja meg az alapértelmezett beállításokat, és válassza a Tovább gombot.

  8. Az Összegzés lapon a varázsló tájékoztatja a végrehajtandó műveletekről. Ellenőrizze, hogy minden információ helyes-e, és válassza a Befejezés lehetőséget.

  9. Az Eredmények lapon figyelheti a varázsló műveleteinek előrehaladását. Várjon, amíg az összes művelet sikeresen befejeződik, és válassza a Bezárás lehetőséget.

    Képernyőkép az Always Encrypted varázsló összefoglalásáról.

  10. (Nem kötelező) Ismerje meg a varázsló által az adatbázisban végrehajtott módosításokat.

    1. Tárja fel a ContosoHR>Security>Always Encrypted Kulcsokat, hogy megismerje a varázsló által létrehozott oszlop főkulcs és oszloptitkosítás metaadat-objektumait.

    2. Az alábbi lekérdezéseket a kulcs metaadatokat tartalmazó rendszerkatalógus-nézeteken is futtathatja.

      SELECT * FROM sys.column_master_keys;
      SELECT * FROM sys.column_encryption_keys
      SELECT * FROM sys.column_encryption_key_values
      
    3. Az Object Explorerben kattintson a jobb gombbal az Alkalmazottak táblára, és válassza a Szkripttábla>>. Ekkor megnyílik egy új lekérdezési ablak az Alkalmazottak tábla CREATE TABLE utasításával. Figyelje meg az SSN és a Fizetés oszlopok definícióiban megjelenő ENCRYPTED WITH záradékot.

    4. Az alábbi lekérdezést a sys.columns használatával is futtathatja a két titkosított oszlop oszlopszintű titkosítási metaadatainak lekéréséhez.

      SELECT
      [name]
      , [encryption_type]
      , [encryption_type_desc]
      , [encryption_algorithm_name]
      , [column_encryption_key_id]
      FROM sys.columns
      WHERE [encryption_type] IS NOT NULL;
      

3. lépés: Titkosított oszlopok lekérdezése

  1. Csatlakozzon az adatbázishoz úgy, hogy az Always Encrypted le van tiltva a kapcsolathoz.

    1. Nyisson meg egy új lekérdezési ablakot.
    2. Kattintson a jobb gombbal a lekérdezés ablakának tetszőleges pontjára, és válassza a Kapcsolat>módosítása lehetőséget. Ekkor megnyílik a Csatlakozás adatbázismotorhoz párbeszédpanel.
    3. Válassza a Beállítások<< lehetőséget. Ez további lapokat jelenít meg a Csatlakozás az adatbázismotorhoz párbeszédpanelen.
    4. Válassza a Always Encrypted lapot.
    5. Győződjön meg arról, hogy az Always Encrypted engedélyezése (oszloptitkosítás) nincs kiválasztva.
    6. Válassza a Csatlakozás lehetőséget.

    Képernyőkép az Always Encrypted SSMS kapcsolati lehetőségéről.

  2. Illessze be és hajtsa végre a következő lekérdezést. A lekérdezésnek binárisan titkosított adatokat kell visszaadnia.

    SELECT [SSN], [Salary] FROM [HR].[Employees]
    

    A titkosított oszlopokból származó titkosítási szöveg eredményeinek képernyőképe.

  3. Csatlakozzon az adatbázishoz úgy, hogy az Always Encrypted engedélyezve van a kapcsolathoz.

    1. Kattintson a jobb gombbal a lekérdezés ablakának tetszőleges pontjára, és válassza a Kapcsolat>módosítása lehetőséget. Ekkor megnyílik a Csatlakozás adatbázismotorhoz párbeszédpanel.
    2. Válassza a Beállítások<< lehetőséget. Ez további lapokat jelenít meg a Csatlakozás az adatbázismotorhoz párbeszédpanelen.
    3. Válassza a Always Encrypted lapot.
    4. Válassza az Always Encrypted engedélyezése (oszloptitkosítás) lehetőséget.
    5. Válassza a Csatlakozás lehetőséget.

    Képernyőkép az Always Encrypted SSMS-kapcsolati lehetőségéről.

  4. Futtassa le újra ugyanazt a lekérdezést. Mivel az adatbázis-kapcsolathoz engedélyezve van az Always Encrypted, az SSMS ügyfélillesztője megpróbálja visszafejteni a mindkét titkosított oszlopban tárolt adatokat. Ha az Azure Key Vaultot használja, előfordulhat, hogy a rendszer kérni fogja, hogy jelentkezzen be az Azure-ba.

    Képernyőkép a titkosított oszlopok egyszerű szöveges eredményeiről.

  5. Engedélyezze az Always Encrypted paraméterezését. Ez a funkció lehetővé teszi olyan lekérdezések futtatását, amelyek titkosított oszlopok alapján szűrik az adatokat (vagy adatokat szúrnak be titkosított oszlopokba).

    1. Válassza a Lekérdezés lehetőséget az SSMS főmenüjében.
    2. Válassza a Lekérdezési beállítások... lehetőséget.
    3. Lépjen a Végrehajtás>Haladó elemre.
    4. Győződjön meg arról, hogy az Always Encrypted paraméterezésének engedélyezése be van jelölve.
    5. Kattintson az OK gombra.

    Képernyőkép a paraméterezés engedélyezéséről egy meglévő lekérdezési ablakban.

  6. Illessze be és hajtsa végre az alábbi lekérdezést, amely a titkosított SSN-oszlop alapján szűri az adatokat. A lekérdezésnek egy egyszerű szöveges értékeket tartalmazó sort kell visszaadnia.

    DECLARE @SSN [char](11) = '795-73-9838'
    SELECT [SSN], [Salary] FROM [HR].[Employees]
    WHERE [SSN] = @SSN
    
  7. Ha a hozzáférési szabályzat engedélymodelljével konfigurált Azure Key Vaultot használja, az alábbi lépéseket követve megtudhatja, hogy mi történik, ha egy felhasználó egyszerű szöveges adatokat próbál lekérni a titkosított oszlopokból anélkül, hogy hozzá kellene férnie az adatokat védő oszlop főkulcsához.

    1. Távolítsa el saját magának a kulcsengedélyt unwrap a kulcstartó hozzáférési szabályzatában. További információ: Key Vault hozzáférési szabályzat hozzárendelése.
    2. Mivel az SSMS-ügyfélmeghajtó 2 órán keresztül gyorsítótárazza a kulcstárból beszerzett oszloptitkosítási kulcsokat, zárja be az SSMS-t, és nyissa meg újra. Ez biztosítja, hogy a kulcsgyorsítótár üres legyen.
    3. Csatlakozzon az adatbázishoz úgy, hogy az Always Encrypted engedélyezve van a kapcsolathoz.
    4. Illessze be és hajtsa végre a következő lekérdezést. A lekérdezésnek a szükséges unwrap engedély hiányát jelző hibaüzenettel kell meghiúsulnia.
    SELECT [SSN], [Salary] FROM [HR].[Employees]
    

Következő lépések

Lásd még