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


Oktatóanyag: Microsoft Entra-hitelesítés engedélyezése AZ SQL Serverhez Az Azure Arc nélkül futó Windows rendszeren

A következőkre vonatkozik: SQL Server 2022 (16.x) és újabb.

Ez a cikk azt ismerteti, hogyan hitelesíthető a Microsoft Entra ID-val anélkül, hogy beállítanák az Azure Arcot a helyszíni SQL Server 2022-es és újabb verzióihoz. A Microsoft Entra-hitelesítés egy felhőalapú identitáskezelési szolgáltatás, amely biztonságos hozzáférést biztosít az SQL Server-adatbázisokhoz. Ez az oktatóanyag végigvezeti a Microsoft Entra-hitelesítés beállításának folyamatán az Azure Arc nélküli Windows rendszeren futó SQL Serverhez.

Megjegyzés:

A Microsoft Entra ID-t korábban Azure Active Directorynak (Azure AD) nevezték.

Ebben az oktatóanyagban a következőket sajátíthatja el:

  • Adjon hozzá egy tanúsítványt az SQL Serverhez.
  • Telepítse az SQL Serverhez való csatlakozáshoz használt adal.dll.
  • Microsoft Entra ID-alkalmazás létrehozása és regisztrálása.
  • Alkalmazásengedélyek megadása.
  • Töltse fel a tanúsítványt az alkalmazásba.
  • Adjon hozzá beállításjegyzék-értékeket a Microsoft Entra-hitelesítés SQL Serverhez való engedélyezéséhez.

Előfeltételek

  • Egy helyszíni SQL Server 2022-es vagy újabb verzió.
  • Aktív Microsoft Entra ID-bérlői környezet .
  • Ez a beállítás egy alkalmazásregisztrációval társítja az SQL Servert a Microsoft Entra-azonosítóhoz. Az útmutatót követve regisztrálhat egy alkalmazást a Microsoft Entra-azonosítóban.
  • Ellenőrizze, hogy az SQL Server rendelkezik-e hálózati kapcsolattal az Azure-hoz, különösen a következő Microsoft Entra ID szolgáltatáshoz és -címekhez:

Tanúsítvány beszerzése

  1. Szerezze be az SQL Serverhez használandó tanúsítványt, és importálja a számítógép tanúsítványtárolójába. Javasoljuk, hogy egy hitelesítésszolgáltató által aláírt tanúsítványt használjon.
    1. Használjon egyedi CN-nevet a tanúsítványhoz, amely nem felel meg a tanúsítványtárolóban telepített tanúsítványoknak.

    2. Telepítse a tanúsítványt a számítógép tanúsítványtárolójában. További információ: A tanúsítvány importálása a helyi számítógéptárolóba.

    3. Adjon hozzá Read engedélyeket az SQL Server szolgáltatásfiókhoz a tanúsítványon.

      Képernyőkép egy tanúsítvány Engedély tulajdonságairól.

adal.dll telepítése

  1. Telepítse adal.dll az SQL Serverhez. Ez a kódtár szükséges az SQL Serverhez Microsoft Entra-hitelesítéssel való csatlakozáshoz. A adal.dll az SQL Serverhez készült legújabb Microsoft OLE DB-illesztőprogramból szerezheti be.

  2. Az SQL Serverhez készült Microsoft OLE DB-illesztőprogram telepítése után győződjön meg arról, hogy adal.dll a mappában C:\windows\system32van.

  3. A beállításkulcsnak HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSADALSQL\TargetDir is rendelkeznie kell az értékkel C:\windows\system32\adal.dll. Ha nem létezik, hozza létre.

    Képernyőkép a(z) adal.dllbeállításkulcsról.

    A Windows beállításjegyzékről további információt a Windows beállításjegyzékének speciális felhasználókra vonatkozó információiban talál.

Microsoft Entra ID-alkalmazás létrehozása és regisztrálása

  • Lépjen a Azure portál, válassza a Microsoft Entra ID>Alkalmazásregisztrációk>Új regisztrációlehetőséget.
    1. Adjon meg egy nevet – A cikkben szereplő példa az SQLServert használja.
    2. Válassza ki támogatott fióktípusokat, és csak fiókokat használjon ebben a szervezeti címtárban
    3. Ne állítson be átirányítási URI-t
    4. Válassza a Regisztráció lehetőséget

Lásd az alábbi alkalmazásregisztrációt:

Képernyőkép az alkalmazás Azure Portalon való regisztrálásáról.

Alkalmazásengedélyek megadása

Válassza ki az újonnan létrehozott alkalmazást, majd a bal oldali menüben válassza API-engedélyeklehetőséget.

  1. Válassza Engedély hozzáadása>Microsoft Graph>alkalmazásengedélyek

    1. Ellenőrizze Directory.Read.All
    2. Válassza Engedélyek hozzáadása

Vagy

  1. Válassza Engedély hozzáadása>Microsoft Graph>alkalmazásengedélyek

    1. Ellenőrizze Application.Read.All

    2. Ellenőrizze Group.Read.All

    3. Ellenőrizze User.Read.All

    4. Válassza Engedélyek hozzáadása

  2. Válassza Rendszergazdai hozzájárulás megadása

Képernyőkép a hozzájárulás megadásáról az Azure Portalon.

Megjegyzés:

Ahhoz, hogy rendszergazdai hozzájárulást szerezzen a fenti engedélyekhez, a Microsoft Entra-fiókhoz Privilegizált szerepkör-rendszergazdai szerepkörre vagy ennél magasabb szintű engedélyekre van szükség.

A tanúsítvány feltöltése

Töltse fel a szakaszban létrehozott tanúsítványt: Szerezze be a tanúsítványt az .cer Azure Portal alkalmazásregisztrációjára vagy .pem formátumára.

Képernyőkép az alkalmazás tanúsítványának az Azure Portalon való feltöltésről.

Beállításjegyzék értékeinek hozzáadása a Microsoft Entra-hitelesítés SQL Serverhez való engedélyezéséhez

Frissítse a beállításkulcsot HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL<version-number>.<instance-name>\MSSQLServer\FederatedAuthentication a következő értékekkel az SQL Server Microsoft Entra-hitelesítésének engedélyezéséhez. Példa az SQL Server 2022 beállításjegyzék kulcsának elérési útjára: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\FederatedAuthentication.

Figyelmeztetés

Súlyos problémák léphetnek fel, ha helytelenül módosítja a beállításjegyzéket a Beállításszerkesztővel vagy más módszerrel. Ezekhez a problémákhoz szükség lehet az operációs rendszer újratelepítésére. A Microsoft nem tudja garantálni, hogy ezek a problémák megoldhatók. Módosítsa a beállításjegyzéket saját felelősségére.

  • Ha a FederatedAuthentication kulcs nem létezik, hozza létre az alábbi értékekkel.
  • A felsorolt első öt bejegyzést frissíteni kell az előző szakaszban létrehozott alkalmazás értékeivel. A többi bejegyzés alapértelmezett értékek.
  • A <sql-server-certificate-name> Tanúsítvány beszerzése és az Azure-ba való feltöltés szakaszban létrehozott tanúsítvány neve.
  • A <application-client-id>Microsoft Entra ID-alkalmazás létrehozása és regisztrálása szakaszban létrehozott alkalmazás (ügyfél) azonosítója. Az ügyfél-azonosító megkereséséről további információt az Ügyfélazonosító című témakörben talál.
  • A <tenant-id> az Azure-bérlő azonosítója. A bérlőazonosítót az Azure Portalon, a Microsoft Entra ID>áttekintésében találja.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL<version-number>.<instance-name>\MSSQLServer\FederatedAuthentication]

"AADCertSubjectName"="<sql-server-certificate-name>"
"AADTenantSpecificSQLServicePrincipalCertSubjectName"="<sql-server-certificate-name>"
"ClientId"="<application-client-id>"
"AADTenantSpecificSQLServicePrincipalClientId"="<application-client-id>"
"PrimaryAADTenant"="<tenant-id>"
"AADChannelMaxBufferedMessageSize"="200000"
"AADGraphEndPoint"="graph.windows.net"
"AADGroupLookupMaxRetryAttempts"="10"
"AADGroupLookupMaxRetryDuration"="30000"
"AADGroupLookupRetryInitialBackoff"="100"
"AuthenticationEndpoint"="login.microsoftonline.com"
"CacheMaxSize"="300"
"FederationMetadataEndpoint"="login.windows.net"
"GraphAPIEndpoint"="graph.windows.net"
"IssuerURL"="https://sts.windows.net/"
"MsGraphEndPoint"="graph.microsoft.com"
"OnBehalfOfAuthority"="https://login.windows.net/"
"SendX5c"="false"
"ServicePrincipalName"="https://database.windows.net/"
"ServicePrincipalNameForArcadia"="https://sql.azuresynapse.net"
"ServicePrincipalNameForArcadiaDogfood"="https://sql.azuresynapse-dogfood.net"
"ServicePrincipalNameNoSlash"="https://database.windows.net"
"STSURL"="https://login.windows.net/"
"ClientCertBlackList"=""

A Windows beállításjegyzékével kapcsolatos további információkért, beleértve a beállításkulcsok biztonsági mentését, szerkesztését és visszaállítását, tekintse meg a Windows beállításjegyzékének speciális felhasználókra vonatkozó adatait.

Hitelesítés tesztelése

A kiszolgáló beállítása és a beállításjegyzék értékeinek szerkesztése után a Microsoft Entra-hitelesítésnek működőképesnek kell lennie. A beállítás teszteléséhez hozzon létre bejelentkezéseket a következő T-SQL-parancsokkal:

CREATE LOGIN [<admin@domain.com>] FROM EXTERNAL PROVIDER

Gyakori problémák

A következő hibaüzenet jelenhet meg:

Keyset does not exist (AdalDll) with error code: 21

Ezt a hibát a tanúsítvány engedélyproblémái okozhatják. Győződjön meg arról, hogy az SQL Server szolgáltatásfiók rendelkezik Read engedélyekkel a tanúsítványhoz. Ha a probléma továbbra is fennáll, győződjön meg arról, hogy a tanúsítvány egyedi CN-névvel rendelkezik, amely nem egyezik meg a tanúsítványtároló többi tanúsítványával.