Adatbázis-hozzáférés engedélyezése az SQL Database-hez, a felügyelt SQL-példányhoz és az Azure Synapse AnalyticshezAuthorize database access to SQL Database, SQL Managed Instance, and Azure Synapse Analytics

a következőkre vonatkozik: Azure SQL Database Azure SQL felügyelt példány Azure szinapszis Analytics

Ez a cikk a következőket ismerteti:In this article, you learn about:

  • A Azure SQL Database, az Azure SQL felügyelt példányának és az Azure szinapszis Analytics konfigurálásának lehetőségei lehetővé teszik a felhasználók számára a rendszergazdai feladatok elvégzését és az ezekben az adatbázisokban tárolt adatok elérését.Options for configuring Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse Analytics to enable users to perform administrative tasks and to access the data stored in these databases.
  • A hozzáférési és engedélyezési konfiguráció a kezdeti új kiszolgáló létrehozása után.The access and authorization configuration after initially creating a new server.
  • Bejelentkezések és felhasználói fiókok hozzáadása a főadatbázisban és a felhasználói fiókokban, majd a fiókok rendszergazdai engedélyeinek megadása.How to add logins and user accounts in the master database and user accounts and then grant these accounts administrative permissions.
  • Felhasználói fiókok hozzáadása felhasználói adatbázisokban a bejelentkezésekhez vagy a benne foglalt felhasználói fiókokhoz társítva.How to add user accounts in user databases, either associated with logins or as contained user accounts.
  • Az adatbázis-szerepkörök és a explicit engedélyek használatával konfigurálja a felhasználói fiókokat az engedélyekkel a felhasználói adatbázisokban.Configure user accounts with permissions in user databases by using database roles and explicit permissions.

Fontos

A Azure SQL Databaseban, az Azure SQL felügyelt példányában és az Azure Szinapszisban található adatbázisokat a cikk további részében adatbázisként hivatkoznak, és a kiszolgáló arra a kiszolgálóra hivatkozik, amely a Azure SQL Database és az Azure szinapszis adatbázisait kezeli.Databases in Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse are referred to collectively in the remainder of this article as databases, and the server is referring to the server that manages databases for Azure SQL Database and Azure Synapse.

Hitelesítés és engedélyezésAuthentication and authorization

A hitelesítés az a folyamat, amellyel a felhasználó igazolni kívánja.Authentication is the process of proving the user is who they claim to be. A felhasználó felhasználói fiókkal kapcsolódik az adatbázishoz.A user connects to a database using a user account. Amikor egy felhasználó megpróbál csatlakozni egy adatbázishoz, felhasználói fiókot és hitelesítési adatokat biztosít.When a user attempts to connect to a database, they provide a user account and authentication information. A felhasználó hitelesítése a következő két hitelesítési módszer egyikével történik:The user is authenticated using one of the following two authentication methods:

  • SQL-hitelesítés.SQL authentication.

    Ezzel a hitelesítési módszerrel a felhasználó egy felhasználói fiók nevét és a hozzá tartozó jelszót küld a kapcsolat létrehozásához.With this authentication method, the user submits a user account name and associated password to establish a connection. Ezt a jelszót a rendszer a főadatbázisban tárolja a bejelentkezéshez csatolt felhasználói fiókokhoz, vagy a bejelentkezéshez nem csatolt felhasználói fiókokat tartalmazó adatbázisban tárolja.This password is stored in the master database for user accounts linked to a login or stored in the database containing the user accounts not linked to a login.

  • Azure Active Directory-hitelesítésAzure Active Directory Authentication

    Ezzel a hitelesítési módszerrel a felhasználó elküld egy felhasználói fióknevet és kéréseket, hogy a szolgáltatás a Azure Active Directory (Azure AD) által tárolt hitelesítő adatokat használja.With this authentication method, the user submits a user account name and requests that the service use the credential information stored in Azure Active Directory (Azure AD).

Bejelentkezések és felhasználók: egy adatbázisban lévő felhasználói fiók társítható a főadatbázisban tárolt bejelentkezési azonosítóval, vagy lehet egy különálló adatbázisban tárolt Felhasználónév.Logins and users: A user account in a database can be associated with a login that is stored in the master database or can be a user name that is stored in an individual database.

  • A Bejelentkezés a főadatbázis egy különálló fiókja, amelyhez egy vagy több adatbázisban lévő felhasználói fiók csatolható.A login is an individual account in the master database, to which a user account in one or more databases can be linked. Ha rendelkezik bejelentkezési azonosítóval, a felhasználói fiókhoz tartozó hitelesítő adatokat a rendszer a bejelentkezési azonosítóval együtt tárolja.With a login, the credential information for the user account is stored with the login.
  • A felhasználói fiók minden olyan adatbázishoz tartozik, amely lehet, de nem feltétlenül szükséges egy bejelentkezési azonosítóhoz csatolva.A user account is an individual account in any database that may be, but does not have to be, linked to a login. Ha a felhasználói fiók nincs bejelentkezési azonosítóhoz rendelve, a rendszer a felhasználói fiókkal együtt tárolja a hitelesítő adatokat.With a user account that is not linked to a login, the credential information is stored with the user account.

Az adatokhoz való hozzáférés engedélyezése és a különféle műveletek végrehajtása adatbázis-szerepkörök és explicit engedélyek használatával történik.Authorization to access data and perform various actions are managed using database roles and explicit permissions. Az engedélyezés a felhasználóhoz rendelt engedélyekre utal, és meghatározza, hogy a felhasználó mit tehet.Authorization refers to the permissions assigned to a user, and determines what that user is allowed to do. Az engedélyezést a felhasználói fiók adatbázis- szerepköri tagsága és az objektum szintű engedélyekvezérlik.Authorization is controlled by your user account's database role memberships and object-level permissions. Ajánlott eljárásként csak a minimálisan szükséges engedélyeket adja meg a felhasználóknak.As a best practice, you should grant users the least privileges necessary.

Meglévő bejelentkezések és felhasználói fiókok új adatbázis létrehozása utánExisting logins and user accounts after creating a new database

Amikor először telepíti az Azure SQL-t, a bejelentkezéshez meg kell adnia egy rendszergazdai bejelentkezési azonosítót és egy hozzá tartozó jelszót.When you first deploy Azure SQL, you specify an admin login and an associated password for that login. A rendszergazdai fiók neve kiszolgáló-rendszergazda. Az üzembe helyezés során a rendszer a következő konfigurációkat és felhasználókat a fő és a felhasználói adatbázisokban is megtörténik:This administrative account is called Server admin. The following configuration of logins and users in the master and user databases occurs during deployment:

  • A rendszergazdai jogosultságokkal rendelkező SQL-bejelentkezés a megadott bejelentkezési névvel hozható létre.A SQL login with administrative privileges is created using the login name you specified. A Bejelentkezés egy egyéni felhasználói fiók, amellyel bejelentkezhet a SQL Databaseba, az SQL felügyelt példányaiba és az Azure szinapszisba.A login is an individual user account for logging in to SQL Database, SQL Managed Instance, and Azure Synapse.
  • Ez a bejelentkezési azonosító teljes rendszergazdai jogosultságokkal rendelkezik minden adatbázishoz kiszolgálói szintű rendszerbiztonsági tagként.This login is granted full administrative permissions on all databases as a server-level principal. A bejelentkezés minden rendelkezésre álló engedéllyel rendelkezik, és nem korlátozható.The login has all available permissions and can't be limited. A felügyelt SQL-példányokban ez a bejelentkezés a sysadmin (rendszergazda) rögzített kiszolgálói szerepkörbe kerül (ez a szerepkör nem létezik a Azure SQL Database).In a SQL Managed Instance, this login is added to the sysadmin fixed server role (this role does not exist in Azure SQL Database).
  • A rendszer létrehoz egy nevű felhasználói fiókot dbo ehhez a bejelentkezéshez az egyes felhasználói adatbázisokban.A user account called dbo is created for this login in each user database. A dbo -felhasználó rendelkezik az adatbázis összes engedélyével, és a db_owner rögzített adatbázis-szerepkörre van leképezve.The dbo user has all database permissions in the database and is mapped to the db_owner fixed database role. A cikk későbbi részében további rögzített adatbázis-szerepköröket is ismertetünk.Additional fixed database roles are discussed later in this article.

Az adatbázishoz tartozó rendszergazdai fiókok azonosításához nyissa meg a Azure Portal, és keresse meg a kiszolgáló vagy a felügyelt példány Tulajdonságok lapját.To identify the administrator accounts for a database, open the Azure portal, and navigate to the Properties tab of your server or managed instance.

SQL Server-rendszergazdák

Képernyőfelvétel a Tulajdonságok menüpontra.

Fontos

A rendszergazdai bejelentkezési név nem módosítható a létrehozása után.The admin login name can't be changed after it has been created. A kiszolgáló-rendszergazda jelszavának alaphelyzetbe állításához lépjen a Azure Portalra, kattintson az SQL-kiszolgálók elemre, válassza ki a kiszolgálót a listából, majd kattintson a jelszó alaphelyzetbe állítása elemre.To reset the password for the server admin, go to the Azure portal, click SQL Servers, select the server from the list, and then click Reset Password. A felügyelt SQL-példány jelszavának alaphelyzetbe állításához lépjen a Azure Portalre, kattintson a példányra, majd a jelszó alaphelyzetbe állítása elemre.To reset the password for the SQL Managed Instance, go to the Azure portal, click the instance, and click Reset password. Használhatja a PowerShellt vagy az Azure CLI-t is.You can also use PowerShell or the Azure CLI.

Rendszergazdai jogosultságokkal rendelkező további bejelentkezések és felhasználók létrehozásaCreate additional logins and users having administrative permissions

Ezen a ponton a kiszolgáló vagy a felügyelt példány csak egyetlen SQL-bejelentkezéssel és felhasználói fiókkal történő hozzáférésre van konfigurálva.At this point, your server or managed instance is only configured for access using a single SQL login and user account. Teljes vagy részleges rendszergazdai engedélyekkel rendelkező további bejelentkezések létrehozásához a következő beállítások érhetők el (a telepítési módtól függően):To create additional logins with full or partial administrative permissions, you have the following options (depending on your deployment mode):

  • Teljes rendszergazdai engedélyekkel rendelkező Azure Active Directory rendszergazdai fiók létrehozásaCreate an Azure Active Directory administrator account with full administrative permissions

    Engedélyezze Azure Active Directory hitelesítést, és hozzon létre egy Azure AD-rendszergazdai bejelentkezési azonosítót.Enable Azure Active Directory authentication and create an Azure AD administrator login. Az egyik Azure Active Directory fiók az Azure SQL-telepítés rendszergazdájaként konfigurálható teljes rendszergazdai engedélyekkel.One Azure Active Directory account can be configured as an administrator of the Azure SQL deployment with full administrative permissions. Ez a fiók lehet egy egyéni vagy egy biztonsági csoport fiók.This account can be either an individual or security group account. Az Azure AD- rendszergazdát úgy kell konfigurálni, hogy az Azure ad-fiókokkal kapcsolódjon SQL Databasehoz, az SQL felügyelt példányához vagy az Azure szinapszishoz.An Azure AD administrator must be configured if you want to use Azure AD accounts to connect to SQL Database, SQL Managed Instance, or Azure Synapse. Az Azure AD-hitelesítés az összes Azure SQL-alapú központi telepítési típusra való engedélyezésével kapcsolatos részletes információkért tekintse meg a következő cikkeket:For detailed information on enabling Azure AD authentication for all Azure SQL deployment types, see the following articles:

  • SQL felügyelt példányban hozzon létre teljes körű rendszergazdai engedélyekkel rendelkező SQL-bejelentkezéseketIn SQL Managed Instance, create SQL logins with full administrative permissions

  • A SQL Database-ban hozzon létre SQL-bejelentkezéseket korlátozott rendszergazdai engedélyekkelIn SQL Database, create SQL logins with limited administrative permissions

    • Hozzon létre egy további SQL-bejelentkezést a Master adatbázisban.Create an additional SQL login in the master database.
    • Hozzon létre egy felhasználói fiókot az új bejelentkezéshez társított Master adatbázisban.Create a user account in the master database associated with this new login.
    • Adja hozzá a felhasználói fiókot a dbmanager , a loginmanager szerepkörhöz vagy mindkettőhöz az master adatbázisban az Alter role utasítás használatával (az Azure szinapszis esetében használja a sp_addrolemember utasítást).Add the user account to the dbmanager, the loginmanager role, or both in the master database using the ALTER ROLE statement (for Azure Synapse, use the sp_addrolemember statement).

    Megjegyzés

    dbmanager``loginmanagera és a szerepkörök nem vonatkoznak az SQL felügyelt példányainak központi telepítésére.dbmanager and loginmanager roles do not pertain to SQL Managed Instance deployments.

    Ezeknek a speciális főadatbázis-szerepköröknek a tagjai Azure SQL Database rendelkeznek az adatbázisok létrehozásához és kezeléséhez, illetve a bejelentkezések létrehozásához és kezeléséhez.Members of these special master database roles for Azure SQL Database have authority to create and manage databases or to create and manage logins. A szerepkörbe tartozó felhasználó által létrehozott adatbázisokban dbmanager a tag a db_owner rögzített adatbázis-szerepkörre van leképezve, és a felhasználói fiók használatával tud bejelentkezni és felügyelni az adatbázist dbo .In databases created by a user that is a member of the dbmanager role, the member is mapped to the db_owner fixed database role and can log into and manage that database using the dbo user account. Ezek a szerepkörök nem rendelkeznek explicit engedélyekkel a Master adatbázison kívül.These roles have no explicit permissions outside of the master database.

    Fontos

    Nem hozhat létre további SQL-bejelentkezést teljes körű rendszergazdai engedélyekkel a SQL Databaseban.You can't create an additional SQL login with full administrative permissions in SQL Database.

Fiókok létrehozása nem rendszergazda felhasználók számáraCreate accounts for non-administrator users

A nem rendszergazda felhasználók számára a következő két módszer egyikét hozhatja létre:You can create accounts for non-administrative users using one of two methods:

  • Bejelentkezési azonosító létrehozásaCreate a login

    Hozzon létre egy SQL-bejelentkezést a Master adatbázisban.Create a SQL login in the master database. Ezután hozzon létre egy felhasználói fiókot minden adatbázisban, amelyhez a felhasználónak hozzáférésre van szüksége, és társítsa a felhasználói fiókot a bejelentkezéshez.Then create a user account in each database to which that user needs access and associate the user account with that login. Ez a megközelítés akkor javasolt, ha a felhasználónak több adatbázishoz is hozzá kell férnie, és meg szeretné tartani a jelszavak szinkronizálását.This approach is preferred when the user must access multiple databases and you wish to keep the passwords synchronized. Azonban ez a megközelítés összetett, ha a földrajzi replikálást használja, mivel a bejelentkezést az elsődleges kiszolgálón és a másodlagos kiszolgálón is létre kell hozni.However, this approach has complexities when used with geo-replication as the login must be created on both the primary server and the secondary server(s). További információt a geo-visszaállítási vagy feladatátvételi Azure SQL Database biztonságának konfigurálása és kezelésecímű témakörben talál.For more information, see Configure and manage Azure SQL Database security for geo-restore or failover.

  • Felhasználói fiók létrehozásaCreate a user account

    Hozzon létre egy felhasználói fiókot abban az adatbázisban, amelyhez a felhasználónak hozzáférésre van szüksége (más néven tárolt felhasználó).Create a user account in the database to which a user needs access (also called a contained user).

    • A SQL Database használatával mindig létrehozhat ilyen típusú felhasználói fiókot.With SQL Database, you can always create this type of user account.
    • Az Azure ad Server-rendszerbiztonsági tagokattámogató SQL felügyelt példányok esetében felhasználói fiókokat hozhat létre az SQL felügyelt példányának hitelesítéséhez anélkül, hogy az adatbázis-felhasználók befoglalt adatbázis-felhasználóként jöjjenek létre.With SQL Managed Instance supporting Azure AD server principals, you can create user accounts to authenticate to the SQL Managed Instance without requiring database users to be created as a contained database user.

    Ezzel a módszerrel a rendszer az egyes adatbázisokban tárolja a felhasználói hitelesítési adatokat, és automatikusan replikálja a Geo-replikált adatbázisokat.With this approach, the user authentication information is stored in each database, and replicated to geo-replicated databases automatically. Ha azonban ugyanaz a fiók több adatbázisban is létezik, és Azure SQL-hitelesítést használ, akkor manuálisan kell megtartania a jelszavak szinkronizálását.However, if the same account exists in multiple databases and you are using Azure SQL Authentication, you must keep the passwords synchronized manually. Emellett, ha egy felhasználó különböző jelszavakkal rendelkező fiókkal rendelkezik, akkor a jelszó megemlékezése problémát jelenthet.Additionally, if a user has an account in different databases with different passwords, remembering those passwords can become a problem.

Fontos

Az Azure AD-identitásokhoz hozzárendelt, tárolt felhasználók létrehozásához olyan Azure AD-fiókkal kell bejelentkeznie, amely a Azure SQL Database adatbázisban található adatbázis rendszergazdája.To create contained users mapped to Azure AD identities, you must be logged in using an Azure AD account that is an administrator in the database in Azure SQL Database. Az SQL felügyelt példányában az engedélyekkel rendelkező SQL-bejelentkezések sysadmin Azure ad-bejelentkezést vagy-felhasználót is létrehozhatnak.In SQL Managed Instance, a SQL login with sysadmin permissions can also create an Azure AD login or user.

A bejelentkezések és a felhasználók létrehozásának módját bemutató Példákért lásd:For examples showing how to create logins and users, see:

Tipp

A Azure SQL Database felhasználók létrehozását bemutató biztonsági oktatóanyagért lásd : oktatóanyag: Secure Azure SQL Database.For a security tutorial that includes creating users in Azure SQL Database, see Tutorial: Secure Azure SQL Database.

Rögzített és egyéni adatbázis-szerepkörök használataUsing fixed and custom database roles

Miután létrehozott egy felhasználói fiókot egy adatbázisban, vagy egy bejelentkezés vagy egy tárolt felhasználó alapján, engedélyezheti, hogy a felhasználó különböző műveleteket hajtson végre, és hozzáférhessen az adatokhoz egy adott adatbázisban.After creating a user account in a database, either based on a login or as a contained user, you can authorize that user to perform various actions and to access data in a particular database. A hozzáférés engedélyezéséhez a következő módszereket használhatja:You can use the following methods to authorize access:

  • Rögzített adatbázis-szerepkörökFixed database roles

    Adja hozzá a felhasználói fiókot egy rögzített adatbázis-szerepkörhöz.Add the user account to a fixed database role. 9 rögzített adatbázis-szerepkör van, amelyek mindegyike meghatározott engedélyekkel rendelkezik.There are 9 fixed database roles, each with a defined set of permissions. A leggyakoribb rögzített adatbázis-szerepkörök a következők: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter és db_denydatareader.The most common fixed database roles are: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter, and db_denydatareader. A db_owner általában teljes körű engedélyek biztosítására szolgál néhány felhasználó számára.db_owner is commonly used to grant full permission to only a few users. A többi rögzített adatbázis-szerepkör hasznos az egyszerű adatbázisok fejlesztésének gyors elkezdéséhez, de a legtöbb éles környezetbeli adatbázishoz nem ajánlott.The other fixed database roles are useful for getting a simple database in development quickly, but are not recommended for most production databases. A db_datareader rögzített adatbázis-szerepkör például olvasási hozzáférést biztosít az adatbázisban található összes táblához, ami nagyobb, mint a szigorúan szükséges.For example, the db_datareader fixed database role grants read access to every table in the database, which is more than is strictly necessary.

  • Egyéni adatbázis-szerepkörCustom database role

    Hozzon létre egy egyéni adatbázis-szerepkört a create role utasítás használatával.Create a custom database role using the CREATE ROLE statement. Az egyéni szerepkör lehetővé teszi saját, felhasználó által definiált adatbázis-szerepkörök létrehozását, és az üzleti igényeknek leginkább megfelelő jogosultságok megadását az egyes szerepkörök számára.A custom role enables you to create your own user-defined database roles and carefully grant each role the least permissions necessary for the business need. Ezután felhasználókat adhat hozzá az egyéni szerepkörhöz.You can then add users to the custom role. Ha a felhasználó egyszerre több szerepkörnek is tagja, akkor a rendszer összesíti az engedélyeket.When a user is a member of multiple roles, they aggregate the permissions of them all.

  • Engedélyek közvetlen megadásaGrant permissions directly

    Közvetlenül adja meg a felhasználói fiók engedélyeit .Grant the user account permissions directly. Az SQL Database-ben több mint 100 engedély adható vagy tagadható meg külön-külön.There are over 100 permissions that can be individually granted or denied in SQL Database. Ezek közül számos engedély beágyazott.Many of these permissions are nested. Egy sémában található UPDATE engedély például a séma minden táblájára vonatkozó UPDATE engedélyt tartalmazza.For example, the UPDATE permission on a schema includes the UPDATE permission on each table within that schema. A legtöbb engedélyrendszerhez hasonlóan az engedély megtagadása felülírja a megadását.As in most permission systems, the denial of a permission overrides a grant. Az engedélyek beágyazott jellege és száma miatt lehetséges, hogy alapos tervezés szükséges az adatbázis megfelelő védelmét biztosító engedélyrendszer kialakításához.Because of the nested nature and the number of permissions, it can take careful study to design an appropriate permission system to properly protect your database. Kezdje az Engedélyek (Adatbázismotor) szakaszban felsorolt engedélyek listájával, majd tekintse át az engedélyek poszterméretű ábráját.Start with the list of permissions at Permissions (Database Engine) and review the poster size graphic of the permissions.

Csoportok használataUsing groups

A hatékony hozzáférés-vezérlés Active Directory biztonsági csoportokhoz, illetve rögzített vagy egyéni szerepkörökhöz hozzárendelt engedélyeket használ az egyes felhasználók helyett.Efficient access management uses permissions assigned to Active Directory security groups and fixed or custom roles instead of to individual users.

  • Azure Active Directory hitelesítés használatakor Azure Active Directory felhasználókat Azure Active Directory biztonsági csoportba helyezheti.When using Azure Active Directory authentication, put Azure Active Directory users into an Azure Active Directory security group. Hozzon létre a csoportban egy adatbázis-felhasználót.Create a contained database user for the group. Adjon hozzá egy vagy több adatbázis-felhasználót tagként az egyéni vagy beépített adatbázis-szerepkörökhöz az adott felhasználói csoportnak megfelelő engedélyekkel.Add one or more database users as a member to custom or builtin database roles with the specific permissions appropriate to that group of users.

  • SQL-hitelesítés használatakor hozzon létre tárolt adatbázis-felhasználókat az adatbázisban.When using SQL authentication, create contained database users in the database. Helyezzen egy vagy több adatbázis-felhasználót egy egyéni adatbázis-szerepkörbe az adott felhasználói csoportnak megfelelő engedélyekkel.Place one or more database users into a custom database role with specific permissions appropriate to that group of users.

    Megjegyzés

    Csoportokat is használhat a nem tárolt adatbázis-felhasználók számára.You can also use groups for non-contained database users.

Érdemes megismerkednie az alábbi funkciókkal, amelyek az engedélyek korlátozására vagy a szint emelésére is használhatók:You should familiarize yourself with the following features that can be used to limit or elevate permissions:

Következő lépésekNext steps

Az összes Azure SQL Database és SQL felügyelt példány biztonsági funkciójának áttekintését lásd: biztonsági áttekintés.For an overview of all Azure SQL Database and SQL Managed Instance security features, see Security overview.