Oktatóanyag: Biztonságossá tétel Microsoft Entra-bejelentkezésekkel – Felügyelt Azure SQL-példány

A következőre vonatkozik: Felügyelt Azure SQL-példány

Ebből a cikkből megtudhatja, hogyan használhatja a Microsoft Entra ID (korábbi nevén Azure Active Directory) által támogatott kiszolgálóneveket (bejelentkezéseket) egy felügyelt Azure SQL-példány védelméhez.

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Microsoft Entra-bejelentkezés létrehozása felügyelt példányhoz
  • Engedélyek megadása felügyelt példányban lévő bejelentkezésekhez
  • Microsoft Entra-felhasználók létrehozása bejelentkezésekből
  • Engedélyek hozzárendelése a felhasználókhoz és az adatbázis biztonsága
  • Megszemélyesítés használata a felhasználókkal
  • Adatbázisközi lekérdezések használata felhasználókkal
  • További információ a biztonsági funkciókról, például a fenyegetésvédelemről, a naplózásról, az adatmaszkolásról és a titkosításról

Feljegyzés

A Microsoft Entra ID az Azure Active Directory (Azure AD) új neve. Jelenleg frissítjük a dokumentációt.

Előfeltételek

Az oktatóanyag elvégzéséhez győződjön meg arról, hogy rendelkezik a következő előfeltételekkel:

Hozzáférés korlátozása

A felügyelt példányok privát IP-címmel érhetők el. Az izolált SQL Server-környezetekhez hasonlóan az alkalmazásoknak vagy a felhasználóknak is hozzáférésre van szükségük a felügyelt SQL-példányok hálózatához (VNet) a kapcsolat létrehozása előtt. További információ: Alkalmazás felügyelt SQL-példányhoz csatlakoztatása.

Szolgáltatásvégpontot is konfigurálhat egy felügyelt példányon, amely a nyilvános kapcsolatokat ugyanúgy teszi lehetővé, mint az Azure SQL Database esetében. További információ: Nyilvános végpont konfigurálása felügyelt Azure SQL-példányban.

Microsoft Entra-bejelentkezés létrehozása az SSMS használatával

Az első Microsoft Entra-bejelentkezést az SQL-rendszergazda vagy a kiépítés során létrehozott Microsoft Entra-rendszergazda hozhatja létre. További információ: Microsoft Entra-rendszergazda kiépítése felügyelt SQL-példányhoz.

A felügyelt SQL-példányhoz való csatlakozásra az alábbi cikkekben talál példákat:

  1. Csatlakozás a felügyelt példányhoz egy sysadmin SQL-bejelentkezés vagy a Microsoft Entra-rendszergazda az SQL Server Management Studio (SSMS) használatával.

  2. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget.

  3. A lekérdezési ablakban az alábbi szintaxissal hozzon létre bejelentkezést egy helyi Microsoft Entra-fiókhoz:

    USE master
    GO
    CREATE LOGIN login_name FROM EXTERNAL PROVIDER
    GO
    

    Ez a példa létrehoz egy bejelentkezést a fiókhoz nativeuser@aadsqlmi.onmicrosoft.com.

    USE master
    GO
    CREATE LOGIN [nativeuser@aadsqlmi.onmicrosoft.com] FROM EXTERNAL PROVIDER
    GO
    
  4. Az eszköztáron válassza a Végrehajtás lehetőséget a bejelentkezés létrehozásához.

  5. Ellenőrizze az újonnan hozzáadott bejelentkezést a következő T-SQL-parancs végrehajtásával:

    SELECT *  
    FROM sys.server_principals;  
    GO
    

    Screenshot of the Results tab in the S S M S Object Explorer showing the name, principal_id, sid, type, and type_desc of the newly added login.

További információt a CREATE LOGIN (BEJELENTKEZÉS LÉTREHOZÁSA) című témakörben talál.

Engedélyek megadása bejelentkezések létrehozásához

A meglévő bejelentkezéseknek megfelelő engedélyekkel kell rendelkezniük, vagy a megfelelő kiszolgálói szerepköröknek kell lenniük más Microsoft Entra-bejelentkezések létrehozásához.

SQL-hitelesítéses bejelentkezések

  • Ha a bejelentkezés egy SQL-alapú kiszolgálónév, akkor hozzá kell rendelni a szerepkörhöz, sysadmin hogy bejelentkezéseket hozzon létre a Microsoft Entra-fiókokhoz.

Microsoft Entra hitelesítési bejelentkezések

  • Ha a bejelentkezés Egy Microsoft Entra-kiszolgálónév, akkor azt vagy a sysadminsecurityadmin kiszolgálói szerepkört kell hozzárendelni ahhoz, hogy más Microsoft Entra-felhasználók, csoportok és alkalmazások számára hozzon létre bejelentkezéseket.
  • Legalább az ALTER ANY bejelentkezési engedélyt meg kell adni más Microsoft Entra-bejelentkezések létrehozásához.
  • Alapértelmezés szerint az újonnan létrehozott Microsoft Entra-bejelentkezésekhez master megadott szokásos engedélyek a következők: CONNECT SQL és VIEW ANY DATABA Standard kiadás.
  • A sysadmin kiszolgálói szerepkör számos Microsoft Entra-bejelentkezéshez adható egy felügyelt példányon belül.

A bejelentkezés hozzáadása a kiszolgálói sysadmin szerepkörhöz:

  1. Jelentkezzen be ismét a felügyelt példányba, vagy használja a meglévő kapcsolatot a Microsoft Entra rendszergazdájával vagy az SQL-taggal, amely egy sysadmin.

  2. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget.

  3. Adja meg a Microsoft Entra-nak a sysadmin kiszolgálói szerepkört az alábbi T-SQL-szintaxissal:

    ALTER SERVER ROLE sysadmin ADD MEMBER login_name
    GO
    

    Az alábbi példa a kiszolgálói sysadmin szerepkört adja meg a bejelentkezéshez nativeuser@aadsqlmi.onmicrosoft.com

    ALTER SERVER ROLE sysadmin ADD MEMBER [nativeuser@aadsqlmi.onmicrosoft.com]
    GO
    

További Microsoft Entra-bejelentkezések létrehozása az SSMS használatával

A Microsoft Entra-bejelentkezés létrehozása és jogosultságok megadása sysadmin után a bejelentkezés további bejelentkezéseket hozhat létre a FROM EXTERNAL PROVIDER záradék és a CREATE LOGIN használatával.

  1. Csatlakozás a felügyelt példányra a Microsoft Entra bejelentkezéssel az SQL Server Management Studióban (SSMS) Csatlakozás kiválasztásával.

    1. Adja meg a felügyelt SQL-példány gazdanevét a kiszolgáló nevében.
    2. A hitelesítéshez válassza az Active Directory – Univerzális, MFA-támogatással rendelkező lehetőséget a többtényezős hitelesítés bejelentkezési ablakának létrehozásához. Bejelentkezés lehetőséget. További információ: Univerzális hitelesítés (többtényezős hitelesítés SSMS-támogatása).
  2. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget.

  3. A lekérdezési ablakban az alábbi szintaxissal hozzon létre bejelentkezést egy másik Microsoft Entra-fiókhoz:

    USE master
    GO
    CREATE LOGIN login_name FROM EXTERNAL PROVIDER
    GO
    

    Ez a példa létrehoz egy bejelentkezést a Microsoft Entra-felhasználó bob@aadsqlmi.netszámára, akinek a tartománya aadsqlmi.net a Microsoft Entra aadsqlmi.onmicrosoft.com tartománnyal van összevonva .

    Hajtsa végre a következő T-SQL-parancsot. Az összevont Microsoft Entra-fiókok a helyszíni Windows-bejelentkezések és -felhasználók felügyelt SQL-példányai.

    USE master
    GO
    CREATE LOGIN [bob@aadsqlmi.net] FROM EXTERNAL PROVIDER
    GO
    
  4. Hozzon létre egy adatbázist a felügyelt példányban a CREATE DATABA Standard kiadás szintaxis használatával. Ez az adatbázis a felhasználói bejelentkezések tesztelésére szolgál a következő szakaszban.

    1. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget.

    2. A lekérdezési ablakban az alábbi szintaxissal hozzon létre egy MyMITestDB nevű adatbázist.

      CREATE DATABASE MyMITestDB;
      GO
      
  5. Felügyelt SQL-példány bejelentkezésének létrehozása egy csoporthoz a Microsoft Entra-azonosítóban. A csoportnak léteznie kell a Microsoft Entra-azonosítóban, mielőtt hozzáadja a bejelentkezést a felügyelt SQL-példányhoz. Lásd: Alapszintű csoport létrehozása és tagok hozzáadása a Microsoft Entra-azonosítóval. Hozzon létre egy csoportomcsoportot, és vegyen fel tagokat ebbe a csoportba.

  6. Nyisson meg egy új lekérdezési ablakot az SQL Server Management Studióban.

    Ez a példa feltételezi, hogy létezik egy mygroup nevű csoport a Microsoft Entra-azonosítóban. Hajtsa végre a következő parancsot:

    USE master
    GO
    CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER
    GO
    
  7. Tesztként jelentkezzen be a felügyelt példányba az újonnan létrehozott bejelentkezéssel vagy csoporttal. Nyisson meg egy új kapcsolatot a felügyelt példányhoz, és hitelesítéskor használja az új bejelentkezést.

  8. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget az új kapcsolathoz.

  9. Ellenőrizze az újonnan létrehozott Microsoft Entra-bejelentkezés kiszolgálói engedélyeit az alábbi parancs végrehajtásával:

    SELECT * FROM sys.fn_my_permissions (NULL, 'DATABASE')
    GO
    

A vendégfelhasználók egyéni felhasználókként támogatottak (anélkül, joe@contoso.conhogy egy Microsoft Entra-csoport tagjai lennének (bár lehetnek)), és a bejelentkezések közvetlenül (például) az aktuális bejelentkezési szintaxis használatával hozhatók létremaster.

Microsoft Entra-felhasználó létrehozása a Microsoft Entra-bejelentkezésből

Az egyes adatbázisok engedélyezése ugyanúgy működik a felügyelt SQL-példányokban, mint az SQL Server adatbázisaiban. Létrehozhat felhasználót egy meglévő bejelentkezésből egy olyan adatbázisban, amely engedélyt kap az adatbázishoz, vagy hozzáadható egy adatbázis-szerepkörhöz.

Most, hogy létrehoztunk egy MyMITestDB nevű adatbázist, és egy olyan bejelentkezést, amely csak alapértelmezett engedélyekkel rendelkezik, a következő lépés egy felhasználó létrehozása a bejelentkezésből. Jelenleg a bejelentkezés csatlakozhat a felügyelt példányhoz, és megtekintheti az összes adatbázist, de nem tudja kezelni az adatbázisokat. Ha az alapértelmezett engedélyekkel rendelkező Microsoft Entra-fiókkal jelentkezik be, és megpróbálja kibontani az újonnan létrehozott adatbázist, a következő hibaüzenet jelenik meg:

Screenshot of an error message from the the S S M S Object Explorer that reads

Az adatbázis-engedélyek megadásáról további információt az Adatbázismotor-engedélyek használatának első lépései című témakörben talál.

Microsoft Entra-felhasználó létrehozása és mintatábla létrehozása

Feljegyzés

Bizonyos korlátozások vonatkoznak arra az esetben, ha egy felhasználó egy Microsoft Entra-csoport részeként jelentkezik be. Például egy visszatérési SUSER_SIDNULLhívás, mivel az adott Microsoft Entra-felhasználó nem része a sys.server_principals táblának. Ezért ebben az esetben bizonyos tárolt eljárásokhoz vagy a megadott engedélyek listájához való hozzáférés korlátozott lehet.

  1. Jelentkezzen be a felügyelt példányba az SQL Server Management Studióval egy sysadmin fiókkal.

  2. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget.

  3. A lekérdezési ablakban a következő szintaxissal hozzon létre egy felhasználót egy Microsoft Entra-bejelentkezésből:

    USE <Database Name> -- provide your database name
    GO
    CREATE USER user_name FROM LOGIN login_name
    GO
    

    Az alábbi példa létrehoz egy felhasználót bob@aadsqlmi.net a bejelentkezésből bob@aadsqlmi.net:

    USE MyMITestDB
    GO
    CREATE USER [bob@aadsqlmi.net] FROM LOGIN [bob@aadsqlmi.net]
    GO
    
  4. Azt is támogatja, hogy microsoft entra-felhasználót hozzon létre egy csoportnak számító Microsoft Entra-bejelentkezésből.

    Az alábbi példa létrehoz egy bejelentkezést a Microsoft Entra-bérlőben található Microsoft Entra-csoport mygroupjához .

    USE MyMITestDB
    GO
    CREATE USER [mygroup] FROM LOGIN [mygroup]
    GO
    

    A mygrouphoz tartozó összes felhasználó hozzáférhet a MyMITestDB-adatbázishoz.

    Fontos

    Ha U Standard kiadás R-t hoz létre Egy Microsoft Entra-bejelentkezésből, adja meg a user_name ugyanazzal a login_name a BEJELENTKEZÉSből.

    További információ: CREATE U Standard kiadás R.

  5. Egy új lekérdezési ablakban hozzon létre egy teszttáblát a következő T-SQL-paranccsal:

    USE MyMITestDB
    GO
    CREATE TABLE TestTable
    (
    AccountNum varchar(10),
    City varchar(255),
    Name varchar(255),
    State varchar(2)
    );
    
  6. Hozzon létre kapcsolatot az SSMS-ben a létrehozott felhasználóval. Megfigyelheti, hogy nem látja a korábban létrehozott TestTable táblát.sysadmin Engedélyt kell biztosítanunk a felhasználónak az adatbázisból származó adatok beolvasására.

  7. Az alábbi parancs végrehajtásával ellenőrizheti a felhasználó aktuális engedélyét:

    SELECT * FROM sys.fn_my_permissions('MyMITestDB','DATABASE')
    GO
    

Felhasználók hozzáadása adatbázisszintű szerepkörökhöz

Ahhoz, hogy a felhasználó az adatbázisban láthassa az adatokat, adatbázisszintű szerepköröket adhat a felhasználónak.

  1. Jelentkezzen be a felügyelt példányba az SQL Server Management Studióval egy sysadmin fiókkal.

  2. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget.

  3. Adja meg a Microsoft Entra-felhasználónak az db_datareader adatbázis-szerepkört a következő T-SQL-szintaxissal:

    Use <Database Name> -- provide your database name
    ALTER ROLE db_datareader ADD MEMBER user_name
    GO
    

    Az alábbi példa a felhasználónak bob@aadsqlmi.net és a csoportnak a MyMITestDB-adatbázisravonatkozó engedélyekkel rendelkezik:db_datareader

    USE MyMITestDB
    GO
    ALTER ROLE db_datareader ADD MEMBER [bob@aadsqlmi.net]
    GO
    ALTER ROLE db_datareader ADD MEMBER [mygroup]
    GO
    
  4. Ellenőrizze az adatbázisban létrehozott Microsoft Entra-felhasználót a következő parancs végrehajtásával:

    SELECT * FROM sys.database_principals
    GO
    
  5. Hozzon létre egy új kapcsolatot a felügyelt példányhoz a szerepkörhöz db_datareader hozzáadott felhasználóval.

  6. Bontsa ki az adatbázist az Object Explorerben a tábla megtekintéséhez.

    Screenshot from Object Explorer in S S M S showing the folder structure for Tables in MyMITestDB. The dbo.TestTable folder is highlighted.

  7. Nyisson meg egy új lekérdezési ablakot, és hajtsa végre a következő Standard kiadás LECT utasítást:

    SELECT *
    FROM TestTable
    

    Lát adatokat a táblából? Látnia kell a visszaadott oszlopokat.

    Screenshot of the Results tab in the S S M S Object Explorer showing the table column headers AccountNum, City, Name, and State.

Microsoft Entra-bejelentkezések megszemélyesítése

A felügyelt SQL-példány támogatja a Microsoft Entra-bejelentkezések megszemélyesítését.

Tesztelési megszemélyesítés

  1. Jelentkezzen be a felügyelt példányba az SQL Server Management Studióval egy sysadmin fiókkal.

  2. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget.

  3. A lekérdezési ablakban a következő paranccsal hozzon létre egy új tárolt eljárást:

    USE MyMITestDB
    GO  
    CREATE PROCEDURE dbo.usp_Demo  
    WITH EXECUTE AS 'bob@aadsqlmi.net'  
    AS  
    SELECT user_name();  
    GO
    
  4. A következő paranccsal láthatja, hogy a tárolt eljárás végrehajtásakor megszemélyesített felhasználó a bob@aadsqlmi.netkövetkező.

    Exec dbo.usp_Demo
    
  5. A megszemélyesítés tesztelése az EXECUTE AS LOGIN utasítással:

    EXECUTE AS LOGIN = 'bob@aadsqlmi.net'
    GO
    SELECT SUSER_SNAME()
    REVERT
    GO
    

Feljegyzés

Csak a sysadmin szerepkör részét képező SQL Server-szintű bejelentkezések hajthatják végre a Microsoft Entra-tagokra vonatkozó alábbi műveleteket:

  • VÉGREHAJTÁS U-KÉNT STANDARD KIADÁS R
  • VÉGREHAJTÁS BEJELENTKEZÉSKÉNT

Adatbázisközi lekérdezések használata

Az adatbázisközi lekérdezések microsoft Entra-bejelentkezésekkel rendelkező Microsoft Entra-fiókok esetében támogatottak. Ha adatbázisközi lekérdezést szeretne tesztelni egy Microsoft Entra-csoporttal, létre kell hoznunk egy másik adatbázist és táblát. Ha már létezik, kihagyhatja egy másik adatbázis és tábla létrehozását.

  1. Jelentkezzen be a felügyelt példányba az SQL Server Management Studióval egy sysadmin fiókkal.

  2. Az Object Explorerben kattintson a jobb gombbal a kiszolgálóra, és válassza az Új lekérdezés lehetőséget.

  3. A lekérdezési ablakban a következő paranccsal hozzon létre egy MyMITestDB2 nevű adatbázist és egy TestTable2 nevű táblát:

    CREATE DATABASE MyMITestDB2;
    GO
    USE MyMITestDB2
    GO
    CREATE TABLE TestTable2
    (
    EmpId varchar(10),
    FirstName varchar(255),
    LastName varchar(255),
    Status varchar(10)
    );
    
  4. Egy új lekérdezési ablakban hajtsa végre a következő parancsot a felhasználói csoport létrehozásához az új MyMITestDB2 adatbázisban, és adjon Standard kiadás LECT-engedélyeket az adatbázishoz a saját csoportnak:

    USE MyMITestDB2
    GO
    CREATE USER [mygroup] FROM LOGIN [mygroup]
    GO
    GRANT SELECT TO [mygroup]
    GO
    
  5. Jelentkezzen be a felügyelt példányba az SQL Server Management Studióval a Microsoft Entra csoport mygroup tagjaként. Nyisson meg egy új lekérdezési ablakot, és hajtsa végre az adatbázisközi Standard kiadás LECT utasítást:

    USE MyMITestDB
    SELECT * FROM MyMITestDB2..TestTable2
    GO
    

    A tábla eredményeit a TestTable2-ből kell látnia.

További támogatott forgatókönyvek

  • Az SQL Agent kezelése és a feladatok végrehajtása támogatott a Microsoft Entra-bejelentkezésekhez.
  • Az adatbázis biztonsági mentési és visszaállítási műveleteit Microsoft Entra-bejelentkezések hajthatják végre.
  • A Microsoft Entra-bejelentkezésekkel és hitelesítési eseményekkel kapcsolatos összes utasítás naplózása.
  • Dedikált rendszergazdai kapcsolat a kiszolgálói szerepkörrel rendelkező sysadmin Microsoft Entra-bejelentkezésekhez.
  • A Microsoft Entra-bejelentkezések az sqlcmd segédprogram és az SQL Server Management Studio eszköz használatával támogatottak.
  • A bejelentkezési eseményindítók támogatottak a Microsoft Entra-bejelentkezésekből származó bejelentkezési eseményekhez.
  • A Service Broker és a DB-levelek a Microsoft Entra-bejelentkezések használatával állíthatók be.

Következő lépések

Biztonsági funkciók engedélyezése

A felügyelt SQL-példány biztonsági funkcióiról szóló cikk az adatbázis biztonságossá tételének módjait ismerteti. A következő biztonsági funkciókat tárgyaljuk:

Felügyelt SQL-példány képességei

A felügyelt SQL-példány képességeinek teljes áttekintéséért tekintse meg a következőt: