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


Oktatóanyag: Microsoft Entra-hitelesítés beállítása AZ SQL Serverhez alkalmazásregisztrációval

A következőkre vonatkozik: Csak SQL Server 2022 (16.x)

Ez a cikk részletesen ismerteti a Microsoft Entra-azonosítóval való hitelesítés alkalmazásregisztrációval való beállításának lépésenkénti folyamatát, és bemutatja, hogyan használhat különböző Microsoft Entra hitelesítési módszereket.

Jegyzet

Microsoft Entra ID korábban Azure Active Directory (Azure AD) néven ismert.

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

  • Microsoft Entra-alkalmazás létrehozása és regisztrálása
  • Engedélyek megadása a Microsoft Entra-alkalmazáshoz
  • Tanúsítvány létrehozása és hozzárendelése
  • Microsoft Entra-hitelesítés konfigurálása SQL Serverhez az Azure Portalon keresztül
  • Bejelentkezések és felhasználók létrehozása
  • Csatlakozás támogatott hitelesítési módszerrel

Előfeltételek

Hitelesítési előfeltételek

Jegyzet

Az Azure használatával automatikusan létrehozhatja az Azure Key Vault-tanúsítványt és a Microsoft Entra-alkalmazást, amikor beállít egy Microsoft Entra-rendszergazdát a kiszolgálóhoz. További információkért lásd: Oktatóanyag: Az automatizálás használata a Microsoft Entra adminisztrátor beállításához az SQL Serverszámára.

  • Microsoft Entra-alkalmazásregisztráció az SQL Serverhez. Ha egy SQL Server-példányt Microsoft Entra-alkalmazásként regisztrál, a példány lekérdezheti a Microsoft Entra-azonosítót, és lehetővé teszi, hogy a Microsoft Entra-alkalmazás hitelesítse magát az SQL Server-példány nevében. Az alkalmazásregisztrációhoz szükség van néhány engedélyre is, amelyeket az SQL Server használ bizonyos lekérdezésekhez.

  • Az SQL Server ehhez a hitelesítéshez egy tanúsítványt használ, amelyet az Azure Key Vaultban (AKV) tárolnak. Az Azure Arc-ügynök letölti a tanúsítványt az SQL Server-példány kiszolgáló gazdagépére.

Figyelmeztetés

A Microsoft Entra ID által hitelesített kapcsolatok mindig titkosítva vannak. Ha az SQL Server önaláírt tanúsítványt használ, trust server cert = true kell hozzáadnia a kapcsolati sztringhez. Az SQL Server és a Windows által hitelesített kapcsolatok nem igényelnek titkosítást, de erősen ajánlott.

Az SQL Server közvetlenül csatlakozik a Microsoft Entra-azonosítóhoz hitelesítés céljából. Vagy explicit tűzfal URL-címeit kell megnyitni a közvetlen hozzáféréshez, vagy proxykiszolgálót kell használnia. A Microsoft Entra ID nem használja az Arc Connected Machine Agent proxyt hitelesítéshez. Ha a gép proxykiszolgálót igényel, a Microsoft Entra-azonosító megköveteli, hogy a gépszintű WinHTTP-proxy a következő parancsokkal legyen beállítva (cserélje le <http://proxyserver:port> a megfelelő értékre):

netsh winhttp set proxy proxy-server="<http://proxyserver:port>"

A Microsoft Entra ID-hitelesítés nem használja az Arc-ügynök proxybeállítását. Az Arc-ügynök proxyja a következő parancsokkal állítható be (cserélje le <http://proxyserver:port> a megfelelő értékre):

azcmagent config set proxy.url "<http://proxyserver:port>"

Microsoft Entra-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 Regisztrálás

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 a User.Read.All jogosultságot

    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.

Jegyzet

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.

Tanúsítvány létrehozása és hozzárendelése

  1. Lépjen az Azure portálra, válassza a Kulcstartó széfeklehetőséget, és válassza ki a használni kívánt kulcstartó széfet, vagy hozzon létre egy újat. Tanúsítványok >létrehozás/importálás kiválasztása

    1. A tanúsítvány létrehozási metódushoz használja a Generálás lehetőséget.

    2. Adjon hozzá egy tanúsítványnevet és tárgyat. A tanúsítvány nevének egyedinek kell lennie. A meglévő tanúsítványnak megfelelő tanúsítványnév hibát okoz a bejelentkezés létrehozásakor.

    3. Az ajánlott érvényességi idő legfeljebb 12 hónap. A többi érték alapértelmezés szerint megmaradhat.

    4. Válassza a létrehozás lehetőséget.

    Tanúsítvány azure portalon való létrehozásának képernyőképe.

    Jegyzet

    A tanúsítvány létrehozása után azt mondhatja, hogy le van tiltva. Frissítse a webhelyet, és a tanúsítvány engedélyezettként jelenik meg.

  2. Lépjen az új tanúsítványra, és válassza ki a tanúsítvány legújabb verziójának sorát. A tanúsítvány nyilvános kulcsának mentéséhez válassza Letöltés CER formátumban lehetőséget.

    Tanúsítvány képernyőképe az Azure Portalon, ahol megtekintheti és letöltheti a tanúsítványt.

    Jegyzet

    Ezt nem kell elvégezni az SQL Server-gazdagépen. Ehelyett bármelyik ügyfél, amelyik hozzáfér az Azure Portalhoz a következő lépéshez.

  3. Az Azure Portalon lépjen a fent létrehozott alkalmazásregisztrációra, és válassza Tanúsítványok listát

    1. Válassza a tanúsítványfeltöltése lehetőséget.
    2. Válassza ki az utolsó lépésben letöltött nyilvános kulcsot (.cer fájlt).
    3. Válassza ki a elemet, és adja hozzá aelemet.

    Képernyőkép az Azure Portal tanúsítvány- és titkos kódok menüjéről.

  4. Az Azure Portalon kérje le az Azure Arc-gép objektumazonosítóját.

    1. Az Azure Arc erőforrások>gépekterületén válassza ki a gépet.

    2. Áttekintésterületen keresse meg a JSON nézetet.

    3. Az Identitásalatt másolja ki a principalIdértékét.

      Képernyőkép a gépdefiníció JSON nézetének portálvezérléséről.

  5. A portálon keresse meg a tanúsítványt tároló Azure Key Vault-példányt, és adjon hozzáférést az Azure Machine-erőforrás(ok)hoz. Az Azure Key Vault navigációs menüjében lépjen a Beállítások, és a Hozzáférés konfigurációmenübe. A szerepkör-hozzárendelések kezelésének részletes lépéseiért tekintse át Azure-szerepkörök hozzárendelését az Azure Portalhasználatával.

    A felhasználói élmény a key vault hozzáférési konfigurációjától függ:

    Azure szerepköralapú hozzáférés-vezérlés használata (ajánlott):

    1. Adja hozzá az alábbi szerepköröket az erőforráshoz.

      • Key Vault-tanúsítványfelhasználó
      • Key Vault titkos kulcsok felhasználója
    2. Ellenőrizze a szerepköröket ezen a helyen:

      Képernyőkép az Azure Key Vault IAM-szerepkörök hozzáadásáról.

    A Vault hozzáférési szabályzathasználata:

    1. Válassza hozzáférési szabályzatok a navigációs menüből.

    2. Válassza a létrehozás lehetőséget.

    3. Titkos jogosultságokhoz válassza ki a Lekér és Lista lehetőségeket.

    4. A tanúsítványengedélyekesetén válassza a >lista lekéréselehetőséget.

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

    6. Az lapon keresse meg a Gép – Azure Arc-példány nevét, amely az SQL Server-gazdagép hosztneve.

      Képernyőkép az Azure Arc-kiszolgálói erőforrásról a portálon.

    7. Válassza Véleményezés + létrehozáslehetőséget.

    8. Ellenőrizze, hogy a >objektumazonosító értéke megegyezik-e a példányhoz rendelt felügyelt identitás Fő azonosítójával.

      Képernyőkép az Azure Portalról a hozzáférési szabályzat áttekintéséhez és létrehozásához.

      A megerősítéshez nyissa meg az erőforrásoldalt, és válassza a(z) JSON-nézetet az Áttekintés lap Essentials dobozának jobb felső sarkában. Az identitás alatt megtalálja a principalId

    9. Válassza a létrehozás lehetőséget.

      Az engedélyek alkalmazásának biztosításához létrehozása lehetőséget kell választania. Az engedélyek tárolásának biztosítása érdekében frissítse a böngészőablakot, és győződjön meg arról, hogy az Azure Arc-példány jelen van.

Microsoft Entra-hitelesítés konfigurálása SQL Serverhez az Azure Portalon keresztül

Az Azure Portal lépései az SQL Server 2022-re (16.x) vonatkoznak.

Az Azure Portal lépései nem vonatkoznak az SQL Server 2025-re (17.x).

Jegyzet

A Microsoft Entra-hitelesítést az alábbi szolgáltatások bármelyikével konfigurálhatja:

  1. Nyissa meg az Azure Portal, majd válassza SQL Server – Azure Arclehetőséget, és válassza ki az SQL Server-gazdagép példányát.

  2. Ellenőrizze a SQL Server – Azure Arc erőforrás állapotát, és ellenőrizze, hogy csatlakoztatva van-e a Tulajdonságok menüben. További információ: Az SQL Server – Azure Arc-erőforrások ellenőrzése.

  3. Válassza Microsoft Entra-azonosítót és Purview- az erőforrásmenü Beállítások területén.

  4. Válassza a Adminisztrátor beállítása lehetőséget a Microsoft Entra ID panel megnyitásához, majd válasszon egy fiókot, amelyet SQL Serverhez rendszergazdai bejelentkezésként állít be.

  5. Válassza a ügyfél által felügyelt tanúsítványt, és a egy tanúsítványt.

  6. Válassza a Tanúsítvány módosításalehetőséget, majd válassza ki az új panelen korábban létrehozott AKV-példányt és -tanúsítványt.

  7. Válassza ügyfél által felügyelt alkalmazásregisztrációslehetőséget.

  8. Válassza Alkalmazásregisztrációsmódosítása lehetőséget, majd válassza ki a korábban létrehozott alkalmazásregisztrációt.

  9. Válassza Mentéslehetőséget. Ez egy kérést küld az Arc-kiszolgálóügynöknek, amely konfigurálja a Microsoft Entra-hitelesítést az adott SQL Server-példányhoz.

    Képernyőkép a Microsoft Entra-hitelesítés beállításáról az Azure Portalon.

    A tanúsítványok letöltése és a beállítások konfigurálása több percet vesz igénybe. Miután beállította az összes paramétert, és kiválasztotta a Mentés lehetőséget az Azure Portalon, a következő üzenet jelenhet meg:

    SQL Server's Azure Arc agent is currently processing a request. Values below may be incorrect. Please wait until the agent is done before continuing.
    

    Várjon, amíg a mentési folyamat Saved successfullymegerősítést nyer, mielőtt megkísérelné a Microsoft Entra-bejelentkezést.

    Az Azure Arc-kiszolgálóügynök csak akkor frissíthet, ha az előző művelet befejeződött. Ez azt jelenti, hogy egy új Microsoft Entra-konfiguráció mentése az utolsó véglegesítése előtt hibát okozhat. Ha a Kiterjesztett hívás nem sikerült üzenet jelenik meg, amikor a Mentéslehetőséget választja, várjon 5 percet, majd próbálkozzon újra.

    Miután a Microsoft Entra rendszergazdai bejelentkezés megkapta a sysadmin szerepkört, a Microsoft Entra-rendszergazda azure portalon történő módosítása nem távolítja el az előző bejelentkezést, amely továbbra is a szerepkör marad sysadmin. A bejelentkezés eltávolításához manuálisan kell törölni.

    Az SQL Server-példány Microsoft Entra-rendszergazdai módosítása a kiszolgáló újraindítása nélkül történik, miután a folyamat befejeződött az SQL Server Azure Arc-ügynökével. Ahhoz, hogy az új rendszergazda megjelenjen a sys.server_principals, az SQL Server-példányt újra kell indítani, és addig a régi rendszergazda jelenik meg. A Microsoft Entra jelenlegi rendszergazdája az Azure Portalon ellenőrizhető.

Bejelentkezések és felhasználók létrehozása

Miután az SQL Server-gazdagépen az Azure Arc-ügynök befejezte a műveletet, a portál Microsoft Entra ID menüjében kiválasztott rendszergazdai fiók az SQL Server-példányon sysadmin található. Jelentkezzen be az SQL Serverbe azzal a Microsoft Entra rendszergazdai fiókkal, amely sysadmin engedélyekkel rendelkezik a kiszolgálón egy olyan ügyfél használatával, mint az SQL Server Management Studio (SSMS).

Jegyzet

A Microsoft Entra-hitelesítéssel végzett SQL Server-kapcsolatokhoz titkosított kapcsolat szükséges. Ha az adatbázis-rendszergazda (DBA) nem állított be megbízható SSL/TLS-tanúsítványt a kiszolgálóhoz, a bejelentkezések valószínűleg sikertelenek lesznek az üzenettel:

The certificate chain was issued by an authority that is not trusted.

A probléma megoldásához konfigurálja az SQL Server-példányt úgy, hogy az az ügyfél által megbízhatónak számító SSL-/TLS-tanúsítványt használjon, vagy válassza ki a megbízhatósági kiszolgáló tanúsítványát a speciális kapcsolat tulajdonságai között. További információt az SQL Server adatbázismotorjának konfigurálása a kapcsolatok titkosításához című témakörben talál.

Bejelentkezési szintaxis létrehozása

A Microsoft Entra-bejelentkezések és -felhasználók Azure SQL Database-ben és felügyelt Azure SQL-példányon való létrehozásához használt szintaxis mostantól használható az SQL Serveren.

Jegyzet

Az SQL Serveren minden olyan Microsoft Entra-fiók, amely rendelkezik vagy ALTER ANY LOGINALTER ANY USER engedéllyel rendelkezik, létrehozhat Microsoft Entra-bejelentkezéseket vagy -felhasználókat. Ellenkező esetben csak az engedélyekkel rendelkező sysadmin fiókok hozhatnak létre Microsoft Entra-bejelentkezéseket vagy -felhasználókat.

Microsoft Entra-fiókhoz való bejelentkezés létrehozásához hajtsa végre a következő T-SQL-parancsot a master adatbázisban:

CREATE LOGIN [principal_name] FROM EXTERNAL PROVIDER;

A felhasználók számára a főnévnek user@tenant.comformátumban kell lennie. A Microsoft Entra ID-ben ez a felhasználói főnév. Minden más fióktípus, például a Microsoft Entra-csoportok vagy -alkalmazások esetében az egyszerű név a Microsoft Entra objektum neve.

Íme néhány példa:

-- login creation for Microsoft Entra user
CREATE LOGIN [user@contoso.com] FROM EXTERNAL PROVIDER;
GO
-- login creation for Microsoft Entra group
CREATE LOGIN [my_group_name] FROM EXTERNAL PROVIDER;
GO
-- login creation for Microsoft Entra application
CREATE LOGIN [my_app_name] FROM EXTERNAL PROVIDER;
GO

A Microsoft Entra-bejelentkezések master adatbázisban való listázásához hajtsa végre a T-SQL parancsot:

SELECT * FROM sys.server_principals
WHERE type IN ('E', 'X');

Ha Microsoft Entra-felhasználói tagságot szeretne adni a sysadmin szerepkörnek (például admin@contoso.com), hajtsa végre a következő parancsokat a master:

CREATE LOGIN [admin@contoso.com] FROM EXTERNAL PROVIDER;
GO
ALTER SERVER ROLE sysadmin ADD MEMBER [admin@contoso.com];
GO

A sp_addsrvrolemember tárolt eljárást az SQL Server sysadmin kiszolgálói szerepkör tagjaként kell végrehajtani.

Felhasználói szintaxis létrehozása

Adatbázis-felhasználót létrehozhat a Microsoft Entra-azonosítóból, akár kiszolgálónévvel (bejelentkezéssel) társított adatbázis-felhasználóként, akár tárolt adatbázis-felhasználóként.

Ha Microsoft Entra-felhasználót szeretne létrehozni egy SQL Server-adatbázisban lévő Microsoft Entra-bejelentkezésből, használja az alábbi szintaxist:

CREATE USER [principal_name] FROM LOGIN [principal_name];

A principal_name szintaxisa megegyezik a bejelentkezésekkel.

Íme néhány példa:

-- for Azure AD user
CREATE USER [user@contoso.com] FROM LOGIN [user@contoso.com];
GO
-- for Azure AD group
CREATE USER [my_group_name] FROM LOGIN [my_group_name];
GO
-- for Azure AD application
CREATE USER [my_app_name] FROM LOGIN [my_app_name];
GO

A Microsoft Entra által kezelt, kiszolgálói bejelentkezéshez nem kapcsolódó adatbázis-felhasználó létrehozásához hajtsa végre az alábbi szintaxist:

CREATE USER [principal name] FROM EXTERNAL PROVIDER;

Microsoft Entra-csoportnév vagy Microsoft Entra-alkalmazásnév használata <principal name> a Microsoft Entra-adatbázis felhasználójának csoportból vagy alkalmazásból történő létrehozásakor.

Íme néhány példa:

-- for Azure AD contained user
CREATE USER [user@contoso.com] FROM EXTERNAL PROVIDER;
GO
-- for Azure AD contained group
CREATE USER [my_group_name] FROM EXTERNAL PROVIDER;
GO
--for Azure AD contained application
CREATE USER [my_group_name] FROM EXTERNAL PROVIDER;
GO

Az adatbázisban létrehozott felhasználók listázásához hajtsa végre a következő T-SQL-parancsot:

SELECT * FROM sys.database_principals;

Egy új adatbázis alapértelmezés szerint Csatlakozás engedéllyel rendelkezik. Az összes többi SQL Server-engedélyt kifejezetten meg kell adni a jogosult engedélyezőknek.

Microsoft Entra vendégfiókok

A CREATE LOGIN és CREATE USER szintaxis a vendégfelhasználók használatát is támogatja. Ha például testuser@outlook.com meghívást kap a contoso.com-bérlőhöz, hozzáadható az SQL Serverhez bejelentkezésként, ugyanazzal a szintaxissal, mint bármely más Microsoft Entra-felhasználó vagy bejelentkezés létrehozásakor. Vendégfelhasználók és bejelentkezések létrehozásakor használja a vendégfiók feladó e-mail-címét, nem pedig a bérlőben lévő egyszerű felhasználónevet. A példákban outlook.com akkor is meg van adva, ha a fiók regisztrálva van a contoso.com bérlőben.

Vendégfelhasználó létrehozása meglévő bejelentkezésből

CREATE USER [testuser@outlook.com] FROM LOGIN [testuser@outlook.com];

Vendégfelhasználó létrehozása korlátozott felhasználóként

CREATE USER [testuser@outlook.com] FROM EXTERNAL PROVIDER;

Csatlakozás támogatott hitelesítési módszerrel

Az SQL Server számos Microsoft Entra hitelesítési módszert támogat:

  • Alapértelmezett
  • Felhasználónév és jelszó
  • Integrált
  • Univerzális többtényezős hitelesítéssel
  • Szolgáltatásközpont
  • Felügyelt identitás
  • Hozzáférési jogkivonat

Ezen módszerek egyikével csatlakozhat az SQL Server-példányhoz. További információért lásd: Entra-hitelesítés a Microsofttól az SQL Serverhez.

Hitelesítési példa az SSMS használatával

Jegyzet

Bár a Microsoft Entra ID az Azure Active Directory (Azure AD) új neve, a meglévő környezetek megzavarásának megakadályozása érdekében az Azure AD továbbra is megmarad néhány rögzített elemben, például felhasználói felületi mezőkben, kapcsolatszolgáltatókban, hibakódokban és parancsmagokban. Ebben a cikkben a két név felcserélhető.

Az alábbiakban az SQL Server Management Studio (SSMS) kapcsolati oldalának pillanatképe látható az Azure Active Directory hitelesítési módszerrel – univerzális MFA.

Képernyőkép az SSMS-ről, amelyen a Csatlakozás kiszolgálóhoz ablak látható.

A hitelesítési folyamat során a felhasználót létrehozó adatbázist explicit módon meg kell jelölni az SSMS-ben. Bontsa ki az Opciókat>Kapcsolati tulajdonságokat>Kapcsolódás az adatbázishoz: database_name.

További információ: A Microsoft Entra többtényezős hitelesítés használata.

Az SQL Server 2022 (16.x) esetében is támogatottak azok az SQL Server-eszközök, amelyek támogatják az Azure SQL-hez készült Microsoft Entra-hitelesítést.

A Microsoft Entra ID-paraméterek tárolási helye

Figyelmeztetés

A Microsoft Entra ID-paramétereket az Azure Arc-ügynök konfigurálja, és nem szabad manuálisan újrakonfigurálni.

Linux rendszeren a Microsoft Entra ID mssql-conf-ban tárolódnak a paraméterek. További információ a Linux konfigurációs beállításairól: Sql Server konfigurálása Linuxon az mssql-conf eszközzel.

Ismert problémák

  • A tanúsítvány frissítése nem propagálja a következőt:
    • Miután konfigurálta a Microsoft Entra-hitelesítést az SQL Serverhez, előfordulhat, hogy az Azure Arc-erőforrásMicrosoft Entra-azonosítója és Purview panelje nem propagálja teljesen a tanúsítványt az SQL Serverben. Ez azt eredményezi, hogy a mentés sikeres, de a régi érték továbbra is megjelenik. A tanúsítvány frissítéséhez tegye a következőket:

      • Válassza a Admineltávolítása lehetőséget.
      • Válassza Mentéslehetőséget.
      • Válassza Rendszergazdai beállítása lehetőséget, és konfigurálja újra a Microsoft Entra-hitelesítést az új tanúsítvánnyal.
      • Válassza Mentéslehetőséget.