Az Always Encrypted és a biztonságos enklávék gyakori hibáinak elhárítása

A következőkre vonatkozik: SQL Server 2019 (15.x) és újabb verziók Windows Azure SQL Database-en

Ez a cikk azt ismerteti, hogyan azonosíthatja és oldhatja meg a Transact-SQL (TSQL) utasítások biztonságos enklávékkal történő futtatásakor előforduló gyakori problémákat.

A lekérdezések biztonságos enklávékkal való futtatásával kapcsolatos információkért lásd: Transact-SQL utasítások futtatása biztonságos enklávékkal.

Adatbázis-kapcsolati hibák

Az utasítások biztonságos enklávéval való futtatásához engedélyeznie kell az Always Encryptedt, meg kell adnia egy igazolási protokollt és adott esetben egy igazolási URL-címet az adatbázis-kapcsolathoz, amint azt az utasítások biztonságos enklávékkal történő futtatásának előfeltételei című témakörben ismertetettük. A kapcsolat azonban meghiúsul, ha igazolási protokollt ad meg, de az Azure SQL Database vagy a cél SQL Server-példány nem támogatja a biztonságos enklávékat, vagy helytelenül van konfigurálva.

Igazolási hibák a Microsoft Azure-igazolás használatakor

Megjegyzés:

Ez a szakasz csak az Intel SGX-enklávékkal rendelkező Azure SQL Database-ekre vonatkozik.

Mielőtt egy ügyfélillesztő elküld egy T-SQL-utasítást az Azure SQL logikai kiszolgálónak végrehajtás céljából, az illesztőprogram a következő enklávéigazolási munkafolyamatot indítja el a Microsoft Azure-igazolás használatával.

  1. Az ügyfélillesztő átadja az adatbázis-kapcsolatban megadott igazolási URL-címet az Azure SQL logikai kiszolgálónak.
  2. Az Azure SQL logikai kiszolgáló összegyűjti az enklávéval, annak üzemeltetési környezetével és az enklávéban futó kóddal kapcsolatos bizonyítékokat. A kiszolgáló ezután egy igazolási kérelmet küld az igazolási szolgáltatónak, amely az igazolási URL-címre hivatkozik.
  3. Az igazolási szolgáltató ellenőrzi a bizonyítékokat a konfigurált szabályzattal szemben, és igazolási jogkivonatot ad ki az Azure SQL logikai kiszolgálónak. Az igazolási szolgáltató aláírja az igazolási jogkivonatot a titkos kulcsával.
  4. Az Azure SQL logikai kiszolgáló elküldi az igazolási jogkivonatot az ügyfél-illesztőprogramnak.
  5. Az ügyfél a megadott igazolási URL-címen kapcsolatba lép az igazolási szolgáltatóval a nyilvános kulcs lekéréséhez, és ellenőrzi az aláírást az igazolási jogkivonatban.

A fenti munkafolyamat különböző lépéseinél hibák léphetnek fel helytelen konfigurációk miatt. Az alábbi gyakori igazolási hibák, azok kiváltó okai és a javasolt hibaelhárítási lépések:

  • Az Azure SQL logikai kiszolgáló nem tud csatlakozni az igazolási szolgáltatóhoz az Igazolás URL-címében megadott Azure-igazolásban (a fenti munkafolyamat 2. lépése). A valószínű okok a következők:
    • Az igazolás URL-címe helytelen vagy hiányos. További információ: Igazolási szabályzat igazolási URL-címének meghatározása.
    • A tanúsítvány szolgáltató véletlenül törlődött.
    • A tűzfal az igazolási szolgáltatóhoz lett konfigurálva, de nem teszi lehetővé a Microsoft-szolgáltatásokhoz való hozzáférést.
    • Időszakos hálózati hiba miatt az igazolási szolgáltató nem érhető el.
  • Az Azure SQL logikai kiszolgálója nem jogosult igazolási kérelmek küldésére az igazolási szolgáltatónak. Győződjön meg arról, hogy az igazolási szolgáltató rendszergazdája hozzáadta az adatbázis-kiszolgálót az Igazolásolvasó szerepkörhöz.
  • Az igazolási szabályzat érvényesítése sikertelen (a fenti munkafolyamat 3. lépésében).
    • A valószínű kiváltó ok a helytelen igazolási szabályzat. Győződjön meg arról, hogy a Microsoft által ajánlott szabályzatot használja. További információt az igazolásszolgáltató létrehozását és konfigurálását ismertető szakaszban talál.
    • A szabályzat érvényesítése a kiszolgálóoldali enklávét veszélyeztető biztonsági incidens miatt is meghiúsulhat.
  • Az ügyfélalkalmazás nem tud csatlakozni az igazolási szolgáltatóhoz, így nem tudja lekérni a nyilvános aláírási kulcsot (az 5. lépésben). A valószínű okok a következők:
    • Az alkalmazás és az igazolási szolgáltató közötti tűzfalak konfigurálása blokkolhatja a kapcsolatokat. A blokkolt kapcsolat hibaelhárításához ellenőrizze, hogy tud-e csatlakozni az igazolási szolgáltató OpenId-végpontjához. Használjon például egy webböngészőt az alkalmazást üzemeltető gépről, és ellenőrizze, hogy tud-e csatlakozni az OpenID-végponthoz. További információ: Metadata Configuration – Get.

Igazolási hibák a Host Guardian Szolgáltatás használatakor

Megjegyzés:

Ez a szakasz csak az SQL Server 2019 (15.x) és újabb verzióira vonatkozik.

Mielőtt egy ügyfélillesztő elküld egy T-SQL-utasítást az SQL Servernek végrehajtás céljából, az illesztőprogram elindítja a következő enklávéigazolási munkafolyamatot a Host Guardian Service (HGS) használatával.

  1. Az ügyfélillesztő meghívja az SQL Servert, hogy kezdeményezze az igazolást.
  2. Az SQL Server összegyűjti a bizonyítékokat az enklávéjáról, az üzemeltetési környezetéről és az enklávéban futó kódról. Az SQL Server egy állapottanúsítványt kér a HGS-példánytól, amelynél az SQL Servert üzemeltető gép regisztrálva lett. További információért lásd: Számítógép regisztrálása a Host Guardian Service szolgáltatással.
  3. A HGS ellenőrzi a bizonyítékokat, és kiadja az állapottanúsítványt az SQL Servernek. A HGS aláírja az egészségügyi tanúsítványt a saját titkos kulcsával.
  4. Az SQL Server elküldi az állapottanúsítványt az ügyfélillesztőnek.
  5. Az ügyfélillesztő az adatbázis-kapcsolathoz megadott igazolási URL-címen kapcsolatba lép a HGS-lel a HGS nyilvános kulcsának lekéréséhez. Az ügyfélillesztő ellenőrzi az aláírást az állapottanúsítványban.

A fenti munkafolyamat különböző lépései során hibák léphetnek fel helytelen konfigurációk miatt. Íme néhány gyakori igazolási hiba, azok kiváltó okai és a javasolt hibaelhárítási lépések:

  • Az SQL Server időszakos hálózati hiba miatt nem tud csatlakozni a HGS-hez (a fenti munkafolyamat 2. lépése). A kapcsolati probléma elhárításához az SQL Server-számítógép rendszergazdájának ellenőriznie kell, hogy a számítógép képes-e csatlakozni a HGS-géphez.
  • A 3. lépésben az ellenőrzés sikertelen. Az érvényesítési probléma elhárítása:
    • Az SQL Server-számítógép rendszergazdájának az ügyfélalkalmazás rendszergazdájával kell együttműködnie annak ellenőrzéséhez, hogy az SQL Server-számítógép regisztrálva van-e ugyanazzal a HGS-példánysal, mint az ügyféloldali igazolási URL-címben hivatkozott példány.
    • Az SQL Server számítógép rendszergazdájának meg kell győződnie arról, hogy az SQL Server számítógép sikeresen hitelesített azáltal, hogy követi az 5. lépésben leírt útmutatót: Győződjön meg arról, hogy a gazdagép sikeresen hitelesíthető.
  • Az ügyfélalkalmazás nem tud csatlakozni a HGS-hez, és nem tudja lekérni a nyilvános aláírókulcsát (az 5. lépésben). A valószínű ok a következő:
    • Az alkalmazás és az igazolási szolgáltató közötti tűzfalak konfigurációja blokkolhatja a kapcsolatokat. Ellenőrizze, hogy az alkalmazást üzemeltető gép tud-e csatlakozni a HGS-géphez.

Helyszíni titkosítási hibák

Ez a szakasz a helyszíni titkosítás használatakor ALTER TABLE/ALTER COLUMN előforduló gyakori hibákat sorolja fel (a korábbi szakaszokban ismertetett igazolási hibák mellett). További információ: Az oszloptitkosítás konfigurálása az Always Encrypted használatával biztonságos enklávékkal.

  • Az adatok titkosításához, visszafejtéséhez vagy újratitkosításához használni kívánt oszloptitkosítási kulcs nem enklávé-kompatibilis kulcs. A helyszíni titkosítás előfeltételeiről további információt az Előfeltételek című témakörben talál. További információ az enklávé-kompatibilis kulcsok kiépítéséről: Enklávé-kompatibilis kulcsok kiépítése.
  • Nem engedélyezte az Always Encrypted és az enklávé számítások használatát az adatbázis-kapcsolathoz. Tekintse meg az utasítások biztonságos enklávékkal való futtatásának előfeltételeit.
  • Az ALTER TABLE/ALTER COLUMN utasítás egy titkosítási műveletet indít el, és megváltoztatja az oszlop adattípusát, vagy rendezést állít be az aktuális rendezési kódlaptól eltérő kódlappal. A titkosítási műveletek adattípus- vagy rendezési oldalmódosításokkal való kombinálása nem engedélyezett. A probléma megoldásához használjon külön utasításokat; egy utasítással módosíthatja az adattípust vagy a rendezési kódlapot, valamint egy másik utasítást a helyszíni titkosításhoz.

Hibák a bizalmas DML-lekérdezések biztonságos enklávékkal történő futtatásakor

Ez a szakasz a bizalmas DML-lekérdezések biztonságos enklávékkal történő futtatásakor előforduló gyakori hibákat sorolja fel (a korábbi szakaszokban ismertetett igazolási hibák mellett).

Következő lépések

Lásd még