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
Ebben a cikkben az Azure Key Vaulthoz készült SQL Server-összekötőt telepíti és konfigurálja.
Jegyzet
A Microsoft Entra ID-t korábban Azure Active Directorynak (Azure AD) nevezték.
Az Azure Key Vaultot (AKV) használó bővíthető kulcskezelés linuxos környezetekben elérhető az SQL Serverhez, kezdve az SQL Server 2022 (16.x) 12. kumulatív frissítésével. Kövesse ugyanazokat az utasításokat, de hagyja ki a 3. és a 4. lépést.
Előfeltételek
Mielőtt elkezdené használni az Azure Key Vaultot az SQL Server-példányával, győződjön meg arról, hogy megfelelt az alábbi előfeltételeknek:
Azure-előfizetéssel kell rendelkeznie.
Telepítse az Azure PowerShell 5.2.0-s vagy újabb verzióját.
Hozzon létre egy Microsoft Entra-bérlőt.
Az Extensible Key Management (EKM) storage és az Azure Key Vault alapelveinek megismeréséhez tekintse át az Azure Key Vault (SQL Server) használatával végzett bővíthető kulcskezelést.
Módosíthatja a beállításjegyzéket az SQL Server-számítógépen.
Telepítse a Visual Studio C++ terjeszthető verzióját, amely a futó SQL Server verzióján alapul:
SQL Server-verzió Visual Studio C++ terjeszthető verzió 2008, 2008 R2, 2012, 2014 Visual C++ terjeszthető csomagok a Visual Studio 2013-hoz 2016, 2017, 2019, 2022 Visual C++ terjeszthető a Visual Studio 2015-höz Ismerkedjen meg az Azure Key Vault tűzfal mögötti hozzáférésével , ha tűzfal vagy proxykiszolgáló mögött szeretné használni az Azure Key Vaulthoz készült SQL Server-összekötőt.
Jegyzet
Az SQL Server 2022 (16.x) CU 14-es és újabb verzióiban a Linuxon futó SQL Server támogatja a TDE bővíthető kulcskezelést az Azure Key Vaulttal. Az útmutató 3. és 4. lépése nem szükséges a Linuxon futó SQL Serverhez.
1. lépés: Microsoft Entra szolgáltatásnév beállítása
Annak érdekében, hogy az SQL Server-példány hozzáférési engedélyeket kapjon az Azure kulcstartóhoz, szüksége van egy szolgáltatás-alapú fiókra a Microsoft Entra azonosítóban.
Jelentkezzen be az Azure Portalra, és tegye az alábbiak egyikét:
Válassza a Microsoft Entra ID gombot .
Válassza a További szolgáltatások lehetőséget, majd a Minden szolgáltatás panelen írja be a Microsoft Entra-azonosítót.
Regisztráljon egy alkalmazást a Microsoft Entra-azonosítóval az alábbi lépésekkel. Részletes részletes útmutatásért tekintse meg az Azure Key Vault Azure Key Vault – Lépésről lépésre című blogbejegyzésének alkalmazásszakaszához tartozó identitás lekérését.
A Microsoft Entra ID-erőforrásKezelés szakaszában válassza az Alkalmazásregisztrációk lehetőséget.
Az Alkalmazásregisztrációk lapon válassza az Új regisztráció lehetőséget.
Az Alkalmazás regisztrálása panelen adja meg az alkalmazás felhasználói nevét, majd válassza a Regisztráció lehetőséget.
A bal oldali panelen válassza a Tanúsítványok > titkos ügyfélkulcsok > új ügyféltitkot>.
Az Ügyfélkód hozzáadása csoportban adja meg a leírást és a megfelelő lejáratot, majd válassza a Hozzáadás lehetőséget. Nem választhat 24 hónapnál hosszabb lejárati időt. További információ: Ügyfélkód hozzáadása.
A Tanúsítványok > titkos kulcsok panel Érték csoportjában válassza a Másolás gombot annak az ügyfélkulcsnak az értéke mellett, amellyel aszimmetrikus kulcsot szeretne létrehozni az SQL Serverben.
A bal oldali panelen válassza az Áttekintés lehetőséget, majd az Alkalmazás (ügyfél) azonosító mezőjében másolja ki az aszimmetrikus kulcs SQL Serverben való létrehozásához használandó értéket.
2. lépés: Kulcstár létrehozása
Válassza ki a kulcstár létrehozásához használni kívánt módszert.
Jegyzet
Csak az Azure Key Vault és az Azure Key Vault által felügyelt HSM támogatott. Az Azure Cloud HSM nem támogatott.
Kulcstár létrehozása az Azure portal használatával
Az Azure portált használhatja a kulcstartó létrehozásához, majd hozzáadhat egy Microsoft Entra-szerepkört.
Hozzon létre egy erőforráscsoportot.
Az Azure portálon létrehozott összes Azure-erőforrásnak egy erőforráscsoportban kell lennie, amelyet azért hoz létre, hogy abban elhelyezze a kulcstartó tárolóját. Ebben a példában az erőforrás neve DocsSampleRG. Válassza ki a saját erőforráscsoportját és kulcstartónevét, mert minden kulcstartónévnek globálisan egyedinek kell lennie.
Az Erőforráscsoport létrehozása panel Projekt részletei csoportjában adja meg az értékeket, majd válassza a Véleményezés + létrehozás lehetőséget.
Az Azure Portalon keressen vagy válassza ki a Key Vaults-szolgáltatásokat egy kulcstartó létrehozásához. Válassza a Létrehozás lehetőséget.
A Kulcstartó létrehozása panelen válassza az Alapszintű beállítások lapot. Adja meg a lap megfelelő értékeit. Azt is javasoljuk, hogy engedélyezze a törlés elleni védelmet.
Az Access konfigurációs lapján kiválaszthatja az Azure szerepköralapú hozzáférés-vezérlési vagy tárolóhozzáférési szabályzatot. Mindkét lehetőséget átmegyünk, de az Azure szerepköralapú hozzáférés-vezérlési lehetősége ajánlott. További információ: Access-modell áttekintése.
A Hálózatkezelés lapot alapértelmezettként hagyhatja, vagy konfigurálhatja a kulcstartó hálózati beállításait. Ha tűzfalat használ a kulcstartóval, engedélyezni kell a megbízható Microsoft-szolgáltatások tűzfal megkerülését , kivéve, ha privát végpontkapcsolatokat használ. További információ: Azure Key Vault-tűzfalak és virtuális hálózatok konfigurálása.
Válassza a Felülvizsgálat + létrehozás lehetőséget, és hozza létre a kulcstartót.
Azure szerepköralapú hozzáférés-vezérlés
Az ajánlott módszer az Azure szerepköralapú hozzáférés-vezérlés (RBAC) használata a kulcstartóhoz való engedélyek hozzárendeléséhez. Ezzel a módszerrel részletesebben rendelhet engedélyeket felhasználókhoz, csoportokhoz és alkalmazásokhoz. Engedélyeket rendelhet a kulcstartóhoz a felügyeleti síkon (Azure-szerepkör-hozzárendelések) és az adatsíkon (kulcstartó hozzáférési szabályzatai). Ha csak hozzáférési szabályzatot tud használni, kihagyhatja ezt a szakaszt, és továbbléphet a Tároló hozzáférési szabályzat szakaszára. Az Azure Key Vault RBAC-engedélyeivel kapcsolatos további információkért lásd az Azure beépített szerepköreit a Key Vault adatsík-műveleteihez.
Lépjen a létrehozott Key Vault-erőforrásra, és válassza a Hozzáférés-vezérlés (IAM) beállítást.
Válassza a >szerepkör-hozzárendelés hozzáadása lehetőséget.
Az EKM-alkalmazásnak szüksége van a Key Vault titkosítási szolgáltatás titkosítási felhasználói szerepkörére a körbefuttatási és a feloldási műveletek végrehajtásához. Keresse meg a Key Vault kriptószolgáltatás titkosítási felhasználót, és válassza ki a szerepkört. Válassza a Tovább gombot.
A Tagok lapon válassza a Tagok kiválasztása lehetőséget, majd keresse meg az 1. lépésben létrehozott Microsoft Entra alkalmazást. Jelölje ki az alkalmazást, majd a kijelölése gombot.
Válassza a Véleményezés + hozzárendelés kétszer lehetőséget a szerepkör-hozzárendelés befejezéséhez.
A kulcsot létrehozó felhasználónak a Key Vault rendszergazdai szerepkörére van szüksége. Keresse meg a Key Vault rendszergazdát , és válassza ki a szerepkört. Válassza a Tovább gombot.
Az előző lépésekhez hasonlóan adja hozzá a kulcsot létrehozó tagot, és rendelje hozzá a szerepkört.
Tároló hozzáférési szabályzata
Jegyzet
Ha az Azure szerepköralapú hozzáférés-vezérlési lehetőséget használja, kihagyhatja ezt a szakaszt. Ha módosítja az engedélymodellt, ezt a kulcstár hozzáférési konfiguráció menü megnyitásával teheti meg. Győződjön meg arról, hogy rendelkezik a megfelelő engedélyekkel a kulcstároló kezeléséhez. További információ: Azure RBAC-engedélyek engedélyezése a Key Vaulton.
Az Access konfigurációs lapján válassza a Tároló hozzáférési szabályzatát. Ha meglévő Key Vaultot használ, kiválaszthatja az Access szabályzatok menüjét a Key Vault-erőforrásból, és kiválaszthatja a Létrehozás lehetőséget.
A Hozzáférési szabályzat létrehozása panelen válassza a Kulcskezelési műveletek beállításai között az Engedélyek beolvasása és listázása lehetőséget. Válassza a Kulcsbontás és Kulcsbecsomagolás engedélyeket a titkosítási műveletek lehetőségei közül. Válassza a Tovább lehetőséget
Az Egyszerű lapon válassza ki az 1. lépésben létrehozott alkalmazást.
Válassza a Tovább , majd a Létrehozás lehetőséget.
Kulcs létrehozása
A Key Vault panelen válassza a Kulcsok lehetőséget, majd válassza a Létrehozás/Importálás lehetőséget. Ekkor megnyílik a Kulcs létrehozása panel. Adjon meg egy kulcstárnevet. Válassza a létrehozása lehetőséget, és adja meg a kulcs nevét. Az SQL Server-összekötő megköveteli, hogy a kulcsnév kizárólag az "a-z", "A-Z", "0-9" és "-" karaktereket használja, legfeljebb 26 karakter hosszúságban.
Használja a RSA kulcstípust és a RSA kulcsméretet2048. Az EKM jelenleg csak RSA-kulcsot támogat. Állítsa be az aktiválási és a lejárati dátumokat a megfelelő módon, és állítsa az Engedélyezve értéket Igen értékre.
Ajánlott eljárások
A kulcsok gyors helyreállításának biztosítása és az adatok Azure-on kívüli elérése érdekében az alábbi ajánlott eljárásokat javasoljuk:
Hozza létre helyileg a titkosítási kulcsot egy helyi hardveres biztonsági modul (HSM) eszközén. Mindenképpen használjon aszimmetrikus RSA 2048- vagy 3072-kulcsot, hogy az SQL Server támogassa.
Importálja a titkosítási kulcsot az Azure Key Vaultba. Ezt a folyamatot a következő szakaszok ismertetik.
Mielőtt első alkalommal használja a kulcsot az Azure Key Vaultban, készítsen biztonsági másolatot az Azure Key Vault kulcsról a
Backup-AzureKeyVaultKeyPowerShell-parancsmaggal.Amikor módosítja a kulcsot (például ACL-eket, címkéket vagy kulcsattribútumokat ad hozzá), mindenképpen készítsen egy másik Azure Key Vault-kulcs biztonsági mentést.
Jegyzet
A kulcsok biztonsági mentése egy Azure Key Vault-kulcsművelet, amely egy tetszőleges helyre menthető fájlt ad vissza.
Ha tűzfal vagy proxykiszolgáló mögött használja az Azure Key Vault SQL Server-összekötőt, az hatással lehet a teljesítményre, ha a forgalom késik vagy le van tiltva. Ismerkedjen meg az Access Azure Key Vault tűzfal mögötti használatával, hogy a megfelelő szabályok érvényben legyenek.
Nem kötelező – Azure Key Vault által felügyelt HSM konfigurálása (hardveres biztonsági modul)
Az Azure Key Vault által felügyelt HSM (hardveres biztonsági modul) támogatott az SQL Server és az SQL Server Azure-beli virtuális gépeken, valamint az Azure SQL esetében, amikor az SQL Server-összekötő legújabb verzióját használják. A felügyelt HSM egy teljes körűen felügyelt, magas rendelkezésre állású, egybérlős HSM-szolgáltatás. A felügyelt HSM biztonságos alapot biztosít a titkosítási műveletekhez és a kulcstároláshoz. A felügyelt HSM úgy lett kialakítva, hogy megfeleljen a legszigorúbb biztonsági és megfelelőségi követelményeknek.
A 2. lépésben megtanultuk, hogyan hozhat létre kulcstartót és kulcsot az Azure Key Vaultban. Igény szerint az Azure Key Vault felügyelt HSM-ével is tárolhat vagy létrehozhat egy, az SQL Server-összekötővel használandó kulcsot. A lépések a következők:
Azure Key Vault által felügyelt HSM létrehozása. Ezt az Azure Portalon teheti meg az Azure Key Vault felügyelt HSM szolgáltatásának keresésével és az új erőforrás létrehozásával, vagy az Azure CLI, a PowerShell vagy egy ARM-sablon használatával.
Aktiválja a felügyelt HSM-et. A HSM-et csak a felügyelt HSM létrehozása során hozzárendelt kijelölt rendszergazdák aktiválhatják. Ezt úgy teheti meg, hogy kiválasztja a felügyelt HSM-erőforrást az Azure Portalon, ha az erőforrás Áttekintés menüjében a Biztonsági tartomány letöltése lehetőséget választja. Ezután kövesse az egyik rövid útmutatót a felügyelt HSM aktiválásához.
Adja meg a jogosultságokat a Microsoft Entra szolgáltatás főszereplőjének a Felügyelt HSM eléréséhez. A felügyelt HSM-rendszergazdai szerepkör nem ad engedélyt kulcs létrehozására. A 2. lépéshez hasonlóan az EKM-alkalmazásnak is szüksége van a felügyelt HSM titkosítási felhasználóra vagy a felügyelt HSM titkosítási szolgáltatás titkosítási felhasználói szerepkörére a körbefuttatási és a feloldási műveletek végrehajtásához. Válassza ki a Vállalati alkalmazástípust , amikor hozzáadja a szerepkör-hozzárendeléshez tartozó tagot. További információ: Helyi RBAC beépített szerepkörök a felügyelt HSM-hez.
Az Azure Key Vault felügyelt HSM szolgáltatás menüjében, a Beállítás csoportban válassza a Kulcsok lehetőséget. A Kulcsok ablakban válassza a Biztonsági másolat létrehozása/importálása/visszaállítása lehetőséget kulcs létrehozásához vagy meglévő kulcs importálásához.
Jegyzet
A felügyelt HSM eléréséhez szükséges hitelesítő adatok létrehozásakor az identitás az
<name of Managed HSM>.managedhsm.azure.net, amely az Azure Key Vault felügyelt HSM Áttekintés részében, az Azure portál HSM URI-jaként található.Az algoritmusok RSA-HSM_2048 és RSA-HSM_3072 az SQL Server 2022 (16.x) 13. kumulatív frissítésétől kezdve támogatottak.
Az Azure Key Vault által felügyelt HSM támogatja az automatikus kulcsforgatást. További információ: Kulcsok automatikus elforgatásának konfigurálása az Azure Managed HSM-ben.
Az SQL Server Connector 15.0.2000.440-es vagy újabb verziója szükséges az Azure Key Vault által felügyelt HSM támogatásához.
A felügyelt HSM támogatja a privát végpontkapcsolatokat. További információ: Felügyelt HSM integrálása az Azure Private Linkkel. Ebben a konfigurációban a Microsoft megbízható szolgáltatás áthidalás lehetőséget engedélyezni kell az Azure Key Vault Felügyelt HSM hálózati beállításához.
3. lépés: Az SQL Server-összekötő telepítése
Töltse le az SQL Server-összekötőt a Microsoft letöltőközpontból. A letöltést az SQL Server-számítógép rendszergazdájának kell elvégeznie.
Jegyzet
- Az SQL Server Connector 1.0.0.440-s és újabb verzióit lecseréltük, és már nem támogatottak éles környezetekben, és az SQL Server-összekötő frissítésének karbantartási és hibaelhárítási oldalán található utasításokat követve.
- Az SQL Server Connector az 1.0.3.0-s verziótól kezdődően a windowsos eseménynaplókra vonatkozó hibaüzeneteket jelent a hibaelhárításhoz.
- Az 1.0.4.0-s verziótól kezdve a magán Azure-felhők is támogatottak, beleértve a 21Vianet, az Azure Germany és az Azure Government által üzemeltetett Azure-t is.
- Az ujjlenyomat-algoritmus tekintetében az 1.0.5.0-s verzióban kompatibilitástörő változás történt. Az adatbázis-visszaállítási hibák az 1.0.5.0-s verzióra való frissítés után jelentkezhetnek. További információ: 33111-s hiba a Microsoft Azure Key Vaulthoz készült SQL Server Connector régebbi verzióiból származó biztonsági másolatok visszaállításakor.
- Az 1.0.5.0-s verziótól (TimeStamp: 2020. szeptember) kezdődően az SQL Server Connector támogatja az üzenetek szűrését és a hálózati kérések újrapróbálkozási logikáját.
- A frissített 1.0.5.0-s verziótól kezdve (TimeStamp: 2020. november) az SQL Server Connector támogatja az RSA 2048, az RSA 3072, a RSA-HSM 2048 és RSA-HSM 3072-es kulcsokat.
- A frissített 1.0.5.0-s verziótól kezdve (TimeStamp: 2020. november) az Azure Key Vault egy adott kulcsverziójára hivatkozhat.
Alapértelmezés szerint a Csatlakozó telepítve van a C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault. Ez a hely a beállítás során módosítható. Ha megváltoztatja, módosítsa a szkripteket a következő szakaszban.
Nincs interfész az összekötőhöz, de ha sikeresen telepítve van, a Microsoft.AzureKeyVaultService.EKM.dll telepítve van a gépen. Ez a szerelvény a titkosítási EKM-szolgáltató DLL-je, amelyet a CREATE CRYPTOGRAPHIC PROVIDER utasítással kell regisztrálni az SQL Serveren.
Az SQL Server-összekötő telepítése lehetővé teszi az SQL Server titkosításához szükséges mintaszkriptek letöltését is.
Az SQL Server-összekötő hibakódjainak magyarázatát, konfigurációs beállításait vagy karbantartási feladatait a következő témakörben tekintheti meg:
- Egy. Karbantartási utasítások az SQL Server-összekötőhöz
- C. Hibakód magyarázata az SQL Server-összekötőhöz
4. lépés: Beállításkulcs hozzáadása az EKM-szolgáltató támogatásához
Figyelmeztetés
A beállításjegyzék módosítását olyan felhasználóknak kell elvégezniük, amelyek pontosan tudják, hogy mit csinálnak. Súlyos problémák léphetnek fel, ha helytelenül módosítja a beállításjegyzéket. A hozzáadott védelem érdekében a módosítás előtt biztonsági másolatot készít a beállításjegyzékről. Probléma esetén visszaállíthatja a beállításjegyzéket.
A beállításjegyzék módosítását az SQL Server-számítógép rendszergazdájának kell elvégeznie.
Győződjön meg arról, hogy az SQL Server telepítve van és fut.
Futtassa a regedit parancsot a Beállításszerkesztő megnyitásához.
Hozzon létre egy
SQL Server Cryptographic Providerbeállításkulcsot aHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft-en. A teljes elérési útHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQL Server Cryptographic Provider.Kattintson a jobb gombbal a
SQL Server Cryptographic Providerbeállításkulcsra, majd válassza az Engedélyek lehetőséget.Adjon teljes körű vezérlési engedélyeket a
SQL Server Cryptographic Providerbeállításkulcshoz az SQL Server szolgáltatást futtató felhasználói fióknak.
Válassza az Alkalmaz , majd az OK gombot.
Zárja be a Beállításszerkesztőt, és indítsa újra az SQL Server szolgáltatást.
Jegyzet
Ha a TDE-t az EKM-mel vagy az Azure Key Vault-tal használja egy feladatátvevő fürtpéldányon, egy további lépést kell végrehajtania: hozzá kell adnia a
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQL Server Cryptographic Provideraz Fürtregisztrációs Ellenőrzőponthoz, hogy a beállításjegyzék szinkronizálódhasson a csomópontok között. A szinkronizálás megkönnyíti az adatbázis helyreállítását a feladatátvétel és a kulcsváltás után.A regisztrációs kulcsot a Cluster Registry Checkpoint rutinjához való hozzáadáshoz futtassa a következő parancsot PowerShellben:
Add-ClusterCheckpoint -RegistryCheckpoint "SOFTWARE\Microsoft\SQL Server Cryptographic Provider" -Resourcename "SQL Server"
5. lépés: Az SQL Server konfigurálása
Az ebben a szakaszban található egyes műveletekhez szükséges minimális jogosultsági szintekről a B. Gyakori kérdések című témakörben olvashat.
A master adatbázis konfigurálása
Futtassa az sqlcmd parancsot , vagy nyissa meg az SQL Server Management Studiót.
Konfigurálja az SQL Servert az EKM használatára a következő Transact-SQL szkript futtatásával:
-- Enable advanced options. USE master; GO EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO -- Enable EKM provider EXEC sp_configure 'EKM provider enabled', 1; GO RECONFIGURE;Regisztrálja az SQL Server-összekötőt EKM-szolgáltatóként az SQL Serverrel.
Hozzon létre egy titkosítási szolgáltatót az SQL Server Connector használatával, amely az Azure Key Vault EKM-szolgáltatója. Ebben a példában a szolgáltató neve
AzureKeyVault_EKM.CREATE CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'; GOJegyzet
A fájl elérési útja nem haladhatja meg a 256 karaktert.
Állítson be egy SQL Server-hitelesítő adatot egy SQL Server-bejelentkezéshez a kulcstartó használatához.
Minden olyan bejelentkezéshez hozzá kell adni egy hitelesítő adatot, amely a kulcstartóból származó kulccsal végzi a titkosítást. Ilyenek lehetnek a következők:
Sql Server-rendszergazdai bejelentkezés, amely a key vault használatával állít be és kezel SQL Server-titkosítási forgatókönyveket.
Egyéb SQL Server-bejelentkezések, amelyek engedélyezhetik a TDE-t vagy más SQL Server-titkosítási funkciókat.
A hitelesítő adatok és a bejelentkezések között egy-az-egyhez megfeleltetés van. Vagyis minden bejelentkezésnek egyedi hitelesítő adatokkal kell rendelkeznie.
Módosítsa ezt a Transact-SQL szkriptet a következő módokon:
Szerkessze a
IDENTITYargumentumot (DocsSampleEKMKeyVault), hogy az Azure Key Vault-ra mutasson.- Ha globális Azure-t használ, cserélje le az
IDENTITYargumentumot az Azure Key Vault nevére a 2. lépésben: Kulcstartó létrehozása. - Ha privát Azure-felhőt használ (például Azure Government, a 21Vianet által üzemeltetett Microsoft Azure vagy Azure Germany), cserélje le az
IDENTITYargumentumot a PowerShell használatával történő kulcstároló és kulcslétrehozás fejezet 3. lépésében visszaadott Tároló URI-ra. Ne vegye fel ahttps://a key vault URI-jára.
- Ha globális Azure-t használ, cserélje le az
Cserélje le az
SECRETargumentum első részét a Microsoft Entra ügyfélazonosítójára a következőből: 1. lépés: Microsoft Entra szolgáltatásfőnök beállítása. Ebben a példában az ügyfélazonosító a következőd956f6b9xxxxxxx: .Fontos
Mindenképpen távolítsa el a kötőjeleket az alkalmazás (ügyfél) azonosítójából.
Az
SECRETargumentum második részét töltse ki az Ügyféltitokkal a 1. lépés: Microsoft Entra szolgáltatásnév beállítása alapján. Ebben a példában az ügyfélkódyrA8X~PldtMCvUZPxxxxxxxx. AzSECRETargumentum utolsó sztringje betűk és számok hosszú sorozata lesz, kötőjelek nélkül (kivéve az Ügyféltitkos szakaszt, ha az Ügyfélkulcs tartalmaz kötőjeleket).USE master; CREATE CREDENTIAL sysadmin_ekm_cred WITH IDENTITY = 'DocsSampleEKMKeyVault', -- for public Azure -- WITH IDENTITY = 'DocsSampleEKMKeyVault.vault.usgovcloudapi.net', -- for Azure Government -- WITH IDENTITY = 'DocsSampleEKMKeyVault.vault.azure.cn', -- for Microsoft Azure operated by 21Vianet -- WITH IDENTITY = 'DocsSampleEKMKeyVault.vault.microsoftazure.de', -- for Azure Germany -- WITH IDENTITY = '<name of Managed HSM>.managedhsm.azure.net', -- for Managed HSM (HSM URI in the Azure portal resource) --<----Application (Client) ID ---><--Microsoft Entra app (Client) ID secret--> SECRET = 'd956f6b9xxxxxxxyrA8X~PldtMCvUZPxxxxxxxx' FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM; -- Add the credential to the SQL Server administrator's domain login ALTER LOGIN [<domain>\<login>] ADD CREDENTIAL sysadmin_ekm_cred;
Ha például változókat használ az
CREATE CREDENTIALargumentumhoz, és programozott módon eltávolítja a kötőjeleket az ügyfélazonosítóból, tekintse meg a CREATE CREDENTIAL című témakört.Nyissa meg az Azure Key Vault-kulcsot az SQL Server-példányban.
Akár új kulcsot hozott létre, akár aszimmetrikus kulcsot importált a 2. lépésben leírtak szerint: Kulcstartó létrehozása, meg kell nyitnia a kulcsot. A következő Transact-SQL szkriptben a kulcs nevének megadásával nyissa meg.
Fontos
Győződjön meg arról, hogy először teljesíti a beállításjegyzék előfeltételeit ehhez a lépéshez.
- Cserélje le a
EKMSampleASYKeyarra a névre, amelynek a kulcsát az SQL Serverben meg szeretné adni. - Cserélje le
ContosoRSAKey0az Azure Key Vaultban vagy a felügyelt HSM-ben lévő kulcs nevére. Az alábbi példa egy verzió nélküli kulcsra mutat.
CREATE ASYMMETRIC KEY EKMSampleASYKey FROM PROVIDER [AzureKeyVault_EKM] WITH PROVIDER_KEY_NAME = 'ContosoRSAKey0', CREATION_DISPOSITION = OPEN_EXISTING;Az SQL Server-összekötő frissített 1.0.5.0-s verziójától kezdve az Azure Key Vault egy adott kulcsverziójára hivatkozhat:
CREATE ASYMMETRIC KEY EKMSampleASYKey FROM PROVIDER [AzureKeyVault_EKM] WITH PROVIDER_KEY_NAME = 'ContosoRSAKey0/1a4d3b9b393c4678831ccc60def75379', CREATION_DISPOSITION = OPEN_EXISTING;Az előző példaszkriptben
1a4d3b9b393c4678831ccc60def75379a használni kívánt kulcs adott verzióját jelöli. Ha ezt a szkriptet használja, nem számít, hogy frissíti-e a kulcsot egy új verzióval. A kulcsverzió (például)1a4d3b9b393c4678831ccc60def75379mindig adatbázis-műveletekhez lesz használva.- Cserélje le a
Hozzon létre egy új bejelentkezést az előző lépésben létrehozott SQL Server aszimmetrikus kulcsával.
--Create a Login that will associate the asymmetric key to this login CREATE LOGIN TDE_Login FROM ASYMMETRIC KEY EKMSampleASYKey;Hozzon létre egy új bejelentkezést az SQL Server aszimmetrikus kulcsából. A hitelesítő adatok leképezésének elvetése az 5. lépésből: Konfigurálja az SQL Servert , hogy a hitelesítő adatok leképezhetők legyenek az új bejelentkezésre.
--Now drop the credential mapping from the original association ALTER LOGIN [<domain>\<login>] DROP CREDENTIAL sysadmin_ekm_cred;Módosítsa az új bejelentkezést, és rendelje hozzá az EKM hitelesítő adatokat az új bejelentkezéshez.
--Now add the credential mapping to the new Login ALTER LOGIN TDE_Login ADD CREDENTIAL sysadmin_ekm_cred;
A felhasználói adatbázis konfigurálása titkosításra
Hozzon létre egy tesztadatbázist, amely az Azure Key Vault kulccsal lesz titkosítva.
--Create a test database that will be encrypted with the Azure Key Vault key CREATE DATABASE TestTDE;Adatbázis-titkosítási kulcs létrehozása a
ASYMMETRIC KEY(EKMSampleASYKey) használatával.USE <DB Name>; --Create an ENCRYPTION KEY using the ASYMMETRIC KEY (EKMSampleASYKey) CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER ASYMMETRIC KEY EKMSampleASYKey;Titkosítsa a tesztadatbázist. Engedélyezze a TDE-t a
ENCRYPTION ONbeállításával.--Enable TDE by setting ENCRYPTION ON ALTER DATABASE TestTDE SET ENCRYPTION ON;
Regisztráció részletei
Hajtsa végre a következő Transact-SQL lekérdezést a
masteradatbázisban a használt aszimmetrikus kulcs megjelenítéséhez.SELECT name, algorithm_desc, thumbprint FROM sys.asymmetric_keys;Az utasítás a következőt adja vissza:
name algorithm_desc thumbprint EKMSampleASYKey RSA_2048 <key thumbprint>A felhasználói adatbázisban (
TestTDE) hajtsa végre a következő Transact-SQL lekérdezést a használt titkosítási kulcs megjelenítéséhez.SELECT encryptor_type, encryption_state_desc, encryptor_thumbprint FROM sys.dm_database_encryption_keys WHERE database_id = DB_ID('TestTDE');Az utasítás a következőt adja vissza:
encryptor_type encryption_state_desc encryptor_thumbprint ASYMMETRIC KEY ENCRYPTED <key thumbprint>
Kitakarít
Törölje a tesztobjektumokat. Törölje a tesztszkriptben létrehozott összes objektumot.
-- CLEAN UP USE master; GO ALTER DATABASE [TestTDE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE [TestTDE]; GO ALTER LOGIN [TDE_Login] DROP CREDENTIAL [sysadmin_ekm_cred]; DROP LOGIN [TDE_Login]; GO DROP CREDENTIAL [sysadmin_ekm_cred]; GO USE master; GO DROP ASYMMETRIC KEY [EKMSampleASYKey]; DROP CRYPTOGRAPHIC PROVIDER [AzureKeyVault_EKM]; GOPéldaszkripteket az SQL Server Transzparens adattitkosítás és bővíthető kulcskezelés az Azure Key Vaulttal című blogjában talál.
A rendszer nem törli automatikusan a
SQL Server Cryptographic Providerbeállításkulcsot egy kulcs vagy az összes EKM-kulcs törlése után. Manuálisan kell megtisztítani. A beállításkulcsot rendkívül óvatosan kell megtisztítani, mivel a beállításjegyzék idő előtti tisztítása megszakíthatja az EKM működését. A beállításkulcs törléséhez törölje aSQL Server Cryptographic Providerbeállításkulcsot aHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.
Troubleshoot
Ha a beállításkulcs HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQL Server Cryptographic Provider nincs létrehozva, vagy a szükséges engedélyek nincsenek megadva, a következő DDL-utasítás meghiúsul:
CREATE ASYMMETRIC KEY EKMSampleASYKey
FROM PROVIDER [AzureKeyVault_EKM]
WITH PROVIDER_KEY_NAME = 'ContosoRSAKey0',
CREATION_DISPOSITION = OPEN_EXISTING;
Msg 33049, Level 16, State 2, Line 65
Key with name 'ContosoRSAKey0' does not exist in the provider or access is denied. Provider error code: 2058. (Provider Error - No explanation is available, consult EKM Provider for details)
Hamarosan lejárni készülő ügyféltitkok
Ha a hitelesítő adat rendelkezik egy hamarosan lejáró ügyfélkóddal, új titkos kód rendelhető hozzá a hitelesítő adatokhoz.
Frissítse az eredetileg az 1. lépésben létrehozott titkos kulcsot: A Microsoft Entra szolgáltatásnév beállítása.
Módosítsa a hitelesítő adatokat ugyanazzal az identitással és új titkos kóddal az alábbi kód használatával. Cserélje le
<New Secret>az új titkos kódra:ALTER CREDENTIAL sysadmin_ekm_cred WITH IDENTITY = 'DocsSampleEKMKeyVault', SECRET = '<New Secret>';Indítsa újra az SQL Server szolgáltatást.
Jegyzet
Ha egy rendelkezésre állási csoportban (AG) használja az EKM-et, módosítania kell a hitelesítő adatokat, és újra kell indítania az SQL Server szolgáltatást az AG összes csomópontján.
Aszimmetrikus kulcs elforgatása új AKV-kulccsal vagy új AKV kulcsverzióval
Jegyzet
- Az AKV-kulcs manuális elforgatásakor az SQL Server támogatja az AKV-verzió nélküli vagy a verziószámozott kulcsot is, és nincs szükség másik AKV-kulcs használatára.
- Az eredeti AKV-kulcs elforgatható, és új verziót hozhat létre, amely lecserélheti az SQL Serverben létrehozott előző kulcsot.
- Manuális kulcsváltáshoz létre kell hozni egy új SQL Server aszimmetrikus kulcsot, amely az AKV-ban elforgatott verzió nélküli vagy verziószámozott kulcsra hivatkozik. Az új SQL Server aszimmetrikus kulcs esetén a verzió nélküli AKV-kulcs automatikusan az AKV legmagasabb kulcsverziójának használatával lesz kiválasztva. A verziószámozott kulcs esetében az AKV legmagasabb verzióját kell megadnia a
WITH PROVIDER_KEY_NAME = <key_name>/<version>szintaxis használatával. Módosíthatja az adatbázis titkosítási kulcsát az új aszimmetrikus kulccsal való újratitkosításhoz. Ugyanaz a kulcsnév (verziószámozott vagy verzió nélküli) használható az AKV rotációs beállításaival. Verziószámozott kulcs esetén az aktuális verziót kell hozzáadni. Verzió nélküli kulcs esetén használja ugyanazt a kulcsnevet.
Az SQL Server nem rendelkezik mechanizmussal a TDE-hez használt aszimmetrikus kulcs automatikus elforgatásához. Az aszimmetrikus kulcs manuális forgatásának lépései a következők.
A kezdeti beállításban (
sysadmin_ekm_cred) használt hitelesítő adatok újra felhasználhatók a kulcsforgatáshoz is. Ha szükséges, hozzon létre egy új hitelesítő adatot az új aszimmetrikus kulcshoz.CREATE CREDENTIAL <new_credential_name> WITH IDENTITY = <key vault>, SECRET = 'existing/new secret' FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;Hozzáadni a hitelesítő adatokat a főszereplőhöz:
ALTER LOGIN [domain\userName]; ADD CREDENTIAL <new_credential_name>;Hozza létre az új aszimmetrikus kulcsot az új kulcs alapján (a kulcs elforgatása után). Az új kulcs lehet egy verzió nélküli kulcs (
ContosoRSAKey0a példában) vagy egy verziószámozott kulcs (ContosoRSAKey0/1a4d3b9b393c4678831ccc60def75379, ahol1a4d3b9b393c4678831ccc60def75379az AKV frissített kulcsának verziója):CREATE ASYMMETRIC KEY <new_ekm_key_name> FROM PROVIDER [AzureKeyVault_EKM] WITH PROVIDER_KEY_NAME = <new_key_from_key_vault>, CREATION_DISPOSITION = OPEN_EXISTING;Hozzon létre egy új bejelentkezést az új aszimmetrikus kulcsból:
CREATE LOGIN <new_login_name> FROM ASYMMETRIC KEY <new_ekm_key_name>;Hitelesítés eltávolítása az azonosítóból:
ALTER LOGIN [domain\username] DROP CREDENTIAL <new_credential_name>;Az AKV-hitelesítő adatok hozzárendelése az új bejelentkezési adatokhoz
ALTER LOGIN <new_login_name>; ADD CREDENTIAL <new_credential_name>;Módosítsa az adatbázis-titkosítási kulcsot (DEK) az új aszimmetrikus kulccsal való újratitkosításhoz:
USE [databaseName]; GO ALTER DATABASE ENCRYPTION KEY ENCRYPTION BY SERVER ASYMMETRIC KEY <new_ekm_key_name>;Ellenőrizheti az új aszimmetrikus kulcsot és az adatbázisban használt titkosítási kulcsot:
SELECT encryptor_type, encryption_state_desc, encryptor_thumbprint FROM sys.dm_database_encryption_keys WHERE database_id = DB_ID('databaseName');Ennek az ujjlenyomatnak egyeznie kell a beállításjegyzék kulccsal az elérési út
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQL Server Cryptographic Provider\Azure Key Vault\<key_vault_url>\<thumbprint>alatt, és adja meg az elforgatott kulcsotKeyUri.
Fontos
A kiszolgáló logikai TDE-védőjének elforgatása azt jelenti, hogy új aszimmetrikus kulcsra vagy tanúsítványra vált, amely védi az adatbázis titkosítási kulcsát (DEK). A kulcsváltás egy online művelet, és csak néhány másodpercet kell igénybe vennie, mivel ez csak a DEK visszafejtése és újratitkosítása, nem pedig a teljes adatbázis.
Forgatás után ne törölje a kulcs korábbi verzióit. A kulcsok elforgatásakor egyes adatok továbbra is titkosítva lesznek az előző kulcsokkal, például a régebbi adatbázis-biztonsági másolatokkal, a biztonsági másolatokkal, a virtuális naplófájlokkal (VLF) és a tranzakciós naplófájlokkal. Előfordulhat, hogy az adatbázis-helyreállításhoz vagy az adatbázis-visszaállításhoz korábbi kulcsokra is szükség lehet.