Mi a szerepköralapú hozzáférés-vezérlés (RBAC) az Azure-erőforrásokhoz?What is role-based access control (RBAC) for Azure resources?

A felhőbeli erőforrások hozzáférésének kezelése kritikus fontosságú a felhőt használó vállalatok számára.Access management for cloud resources is a critical function for any organization that is using the cloud. A szerepköralapú hozzáférés-vezérlés (RBAC) lehetővé teszi annak meghatározását, kik férhetnek hozzá az Azure-erőforrásokhoz, mire használhatják őket, és mely területekhez kapnak hozzáférést.Role-based access control (RBAC) helps you manage who has access to Azure resources, what they can do with those resources, and what areas they have access to.

A RBAC egy Azure Resource Managerra épülő engedélyezési rendszer, amely az Azure-erőforrások részletes hozzáférés-kezelését teszi lehetővé.RBAC is an authorization system built on Azure Resource Manager that provides fine-grained access management of Azure resources.

Mire használhatom az RBAC-t?What can I do with RBAC?

Néhány példa arra, milyen lehetőségeket biztosít az RBAC:Here are some examples of what you can do with RBAC:

  • Az egyik felhasználó számára engedélyezheti az előfizetésben lévő virtuális gépek, a másik felhasználó számára pedig a virtuális hálózatok kezelését.Allow one user to manage virtual machines in a subscription and another user to manage virtual networks
  • Engedélyezheti egy adatbázis-rendszergazdai csoport számára az előfizetésben lévő SQL-adatbázisok kezelését.Allow a DBA group to manage SQL databases in a subscription
  • Engedélyezheti egy felhasználó számára az egy adott erőforráscsoportba tartozó összes erőforrás, például a virtuális gépek, a webhelyek és az alhálózatok kezelését.Allow a user to manage all resources in a resource group, such as virtual machines, websites, and subnets
  • Engedélyezheti egy alkalmazás számára az egy adott erőforráscsoportba tartozó összes erőforrás elérését.Allow an application to access all resources in a resource group

Ajánlott eljárások az RBAC használatáhozBest practice for using RBAC

Az RBAC használata lehetővé teszi, hogy elkülönítse a kötelességeket a csapaton belül, valamint csak olyan mértékű hozzáférést biztosítson, amelyre a felhasználóknak a feladataik elvégzéséhez szüksége van.Using RBAC, you can segregate duties within your team and grant only the amount of access to users that they need to perform their jobs. Ahelyett, hogy mindenki számára korlátlan engedélyeket adna az Azure-előfizetéshez vagy -erőforrásokhoz, az egyes műveletekhez hatókört adhat meg.Instead of giving everybody unrestricted permissions in your Azure subscription or resources, you can allow only certain actions at a particular scope.

A hozzáférés-vezérlési stratégia megtervezésekor ajánlott eljárásként csak a munkájuk elvégzéséhez minimálisan szükséges jogosultságokat biztosítsa a felhasználók számára.When planning your access control strategy, it's a best practice to grant users the least privilege to get their work done. A következő ábrán az RBAC használatának egy javasolt mintája látható.The following diagram shows a suggested pattern for using RBAC.

RBAC és minimális jogosultságok

Az RBAC működéseHow RBAC works

A szerepköralapú hozzáférés-vezérlés keretében az erőforrások elérését szerepkör-hozzárendelések létrehozásával szabályozhatja.The way you control access to resources using RBAC is to create role assignments. Ez egy alapvető fogalom – ez határozza meg az engedélyek kikényszerítését.This is a key concept to understand – it’s how permissions are enforced. A szerepkör-hozzárendelés három elemből áll: rendszerbiztonsági tagból, szerepkör-definícióból és hatókörből.A role assignment consists of three elements: security principal, role definition, and scope.

Rendszerbiztonsági tagSecurity principal

A rendszerbiztonsági tag egy olyan objektum, amely az Azure-erőforrásokhoz való hozzáférést kérő felhasználót, csoportot, egyszerű szolgáltatásnevet vagy felügyelt identitást jelöl.A security principal is an object that represents a user, group, service principal, or managed identity that is requesting access to Azure resources.

Szerepkör-hozzárendelések rendszerbiztonsági tagjai

  • Felhasználó – Egy Azure Active Directory-profillal rendelkező személy.User - An individual who has a profile in Azure Active Directory. Más bérlőkön lévő felhasználókhoz is hozzárendelhet szerepköröket.You can also assign roles to users in other tenants. A más vállalatok felhasználóira vonatkozó információkért lásd: Azure Active Directory B2B.For information about users in other organizations, see Azure Active Directory B2B.
  • Csoport – Felhasználók az Azure Active Directoryban létrehozott csoportja.Group - A set of users created in Azure Active Directory. Ha egy csoporthoz rendel hozzá egy szerepkört, a csoportban lévő összes felhasználó rendelkezik majd az adott szerepkörrel.When you assign a role to a group, all users within that group have that role.
  • Szolgáltatásnév – Alkalmazások vagy szolgáltatások által adott Azure-erőforrások elérésére használt biztonsági identitás.Service principal - A security identity used by applications or services to access specific Azure resources. Úgy képzelhető el, mint egy alkalmazás felhasználói identitása (felhasználóneve és jelszava vagy tanúsítványa).You can think of it as a user identity (username and password or certificate) for an application.
  • Felügyelt identitás – az Azure által automatikusan kezelt Azure Active Directory identitás.Managed identity - An identity in Azure Active Directory that is automatically managed by Azure. A Felhőbeli alkalmazások fejlesztése során jellemzően felügyelt identitásokat használ az Azure-szolgáltatásokhoz való hitelesítéshez szükséges hitelesítő adatok kezeléséhez.You typically use managed identities when developing cloud applications to manage the credentials for authenticating to Azure services.

Szerepkör-definícióRole definition

A szerepkör-definíció engedélyek gyűjteménye.A role definition is a collection of permissions. Szokás egyszerűen csak szerepkörnek is nevezni.It's sometimes just called a role. A szerepkör-definíció a végrehajtható műveletek listáját tartalmazza (például olvasás, írás és törlés).A role definition lists the operations that can be performed, such as read, write, and delete. A szerepkör lehet magas szintű (például tulajdonos) vagy specifikus (például virtuálisgép-olvasó).Roles can be high-level, like owner, or specific, like virtual machine reader.

Szerepkör-hozzárendelések szerepkör-definíciója

Az Azure számos beépített szerepkört biztosít, amelyeket használhat.Azure includes several built-in roles that you can use. Az alábbiakban négy alapvető beépített szerepkört sorolunk fel.The following lists four fundamental built-in roles. Az első három minden erőforrástípusra alkalmazható.The first three apply to all resource types.

  • Tulajdonos – teljes hozzáféréssel rendelkezik az összes erőforráshoz, beleértve a hozzáférés mások számára való delegálásának jogát is.Owner - Has full access to all resources including the right to delegate access to others.
  • Közreműködő – bármilyen típusú Azure-erőforrást létrehozhat és kezelhet, hozzáférést azonban nem adhat mások számára.Contributor - Can create and manage all types of Azure resources but can’t grant access to others.
  • Olvasó – megtekintheti a meglévő Azure-erőforrásokat.Reader - Can view existing Azure resources.
  • Felhasználói hozzáférés rendszergazdája – kezelheti a felhasználók Azure-erőforrásokhoz való hozzáférését.User Access Administrator - Lets you manage user access to Azure resources.

A többi beépített szerepkör adott Azure-erőforrások kezelését teszi lehetővé.The rest of the built-in roles allow management of specific Azure resources. Például a Virtuális gépek közreműködője szerepkör virtuális gépek létrehozását és kezelését teszi lehetővé.For example, the Virtual Machine Contributor role allows a user to create and manage virtual machines. Ha a beépített szerepkörök nem felelnek meg a szervezet konkrét igényeinek, létrehozhat saját Egyéni szerepköröket az Azure-erőforrásokhoz.If the built-in roles don't meet the specific needs of your organization, you can create your own custom roles for Azure resources.

Az Azure olyan adatműveletekkel rendelkezik, amelyek lehetővé teszik az adatokhoz való hozzáférés megadását egy adott objektumon belül.Azure has data operations that enable you to grant access to data within an object. Ha például egy felhasználó adatolvasási hozzáféréssel rendelkezik egy tárfiókhoz, akkor olvashatja az adott tárfiókban lévő blobokat vagy üzeneteket.For example, if a user has read data access to a storage account, then they can read the blobs or messages within that storage account. További információ: Az Azure-erőforrások szerepkör-definícióinak megismerése.For more information, see Understand role definitions for Azure resources.

HatókörScope

A hatókör azon erőforrások készlete, amelyekre a hozzáférés vonatkozik.Scope is the set of resources that the access applies to. Szerepkörök hozzárendelésekor hatókör meghatározásával tovább korlátozhatja az engedélyezett műveletek körét.When you assign a role, you can further limit the actions allowed by defining a scope. Ez hasznos lehet például, ha egy felhasználót Webhelyek közreműködője szerepkörrel szeretne felruházni, de csak egyetlen erőforráscsoportra vonatkozóan.This is helpful if you want to make someone a Website Contributor, but only for one resource group.

Az Azure-ban a hatókörök több szinten határozhatók meg: a felügyeleti csoport, az előfizetés, az erőforráscsoport vagy az erőforrás szintjén.In Azure, you can specify a scope at multiple levels: management group, subscription, resource group, or resource. A hatókörök szülő-gyermek (származtatott) kapcsolatokba vannak rendezve.Scopes are structured in a parent-child relationship.

Szerepkör-hozzárendelés hatóköre

Amikor hozzáférést rendel egy szülő hatókörhöz, az engedélyeket azok származtatott hatókörei is öröklik.When you grant access at a parent scope, those permissions are inherited to the child scopes. Példa:For example:

  • Ha tulajdonosi szerepkört rendel egy, a felügyeleti csoport hatóköréhez tartozó felhasználóhoz, a felhasználó a felügyeleti csoportban lévő összes előfizetésben mindent felügyelhet.If you assign the Owner role to a user at the management group scope, that user can manage everything in all subscriptions in the management group.
  • Ha az Olvasó szerepkört hozzárendeli egy csoporthoz az előfizetés hatókörében, a csoport tagjai az előfizetésben lévő összes erőforráscsoportot és erőforrást megtekinthetik.If you assign the Reader role to a group at the subscription scope, the members of that group can view every resource group and resource in the subscription.
  • Ha a Közreműködő szerepkört hozzárendeli egy alkalmazáshoz az erőforrás-csoport hatókörében, az alkalmazás bármilyen típusú erőforrást kezelhet majd az adott erőforráscsoportban, az előfizetésben lévő többi erőforráscsoportban azonban nem.If you assign the Contributor role to an application at the resource group scope, it can manage resources of all types in that resource group, but not other resource groups in the subscription.

Szerepkör-hozzárendelésekRole assignments

A szerepkör-hozzárendelés az a folyamat, amellyel a szerepkör-definíciót egy adott hatókörhöz tartozó felhasználóhoz, csoporthoz, egyszerű szolgáltatáshoz vagy felügyelt identitáshoz csatlakoztathatja a hozzáférés biztosítása céljából.A role assignment is the process of attaching a role definition to a user, group, service principal, or managed identity at a particular scope for the purpose of granting access. A hozzáférés szerepkör-hozzárendelés létrehozásával biztosítható, és a szerepkör-hozzárendelés törlésével vonható vissza.Access is granted by creating a role assignment, and access is revoked by removing a role assignment.

Az alábbi ábrán egy példa látható szerepkör-hozzárendelésre.The following diagram shows an example of a role assignment. Ebben a példában a Marketing csoporthoz hozzárendeltük a Közreműködő szerepkört a gyógyszer-értékesítési erőforráscsoportra vonatkozóan.In this example, the Marketing group has been assigned the Contributor role for the pharma-sales resource group. Ez azt jelenti, hogy a Marketing csoportba tartozó felhasználók bármilyen Azure-erőforrást létrehozhatnak és kezelhetnek a gyógyszer-értékesítési erőforráscsoportban.This means that users in the Marketing group can create or manage any Azure resource in the pharma-sales resource group. A Marketing felhasználói a gyógyszer-értékesítési erőforráscsoporton kívüli erőforrásokhoz nem rendelkeznek hozzáféréssel, ha nem tagjai másik szerepkör-hozzárendelésnek is.Marketing users do not have access to resources outside the pharma-sales resource group, unless they are part of another role assignment.

Hozzáférés-vezérlés szerepkör-hozzárendeléssel

Szerepkör-hozzárendeléseket az Azure Portal, az Azure CLI, az Azure PowerShell, az Azure SDK-k vagy REST API-k használatával hozhat létre.You can create role assignments using the Azure portal, Azure CLI, Azure PowerShell, Azure SDKs, or REST APIs. Az egyes előfizetésekben és a 500 szerepkör-hozzárendelésekben akár 2000 szerepkör-hozzárendelést is megadhat az egyes felügyeleti csoportokban.You can have up to 2000 role assignments in each subscription and 500 role assignments in each management group. Szerepkör-hozzárendelések létrehozásához és eltávolításához Microsoft.Authorization/roleAssignments/* engedély szükséges.To create and remove role assignments, you must have Microsoft.Authorization/roleAssignments/* permission. Ez a Tulajdonos vagy a Felhasználói hozzáférés rendszergazdája szerepkörrel biztosítható.This permission is granted through the Owner or User Access Administrator roles.

Több szerepkör-hozzárendelésMultiple role assignments

Tehát mi történik, ha több átfedésben lévő szerepkör-hozzárendelés van?So what happens if you have multiple overlapping role assignments? A RBAC egy adalékanyag-modell, így az érvényes engedélyek a szerepkör-hozzárendelések hozzáadása.RBAC is an additive model, so your effective permissions are the addition of your role assignments. Vegye figyelembe a következő példát, amikor egy felhasználó megkapja a közreműködő szerepkört az előfizetés hatókörében, valamint az olvasó szerepkört egy erőforráscsoporthoz.Consider the following example where a user is granted the Contributor role at the subscription scope and the Reader role on a resource group. A közreműködői engedélyek és az olvasói engedélyek hozzáadása gyakorlatilag az erőforráscsoport közreműködői szerepköre.The addition of the Contributor permissions and the Reader permissions is effectively the Contributor role for the resource group. Ezért ebben az esetben az olvasó szerepkör-hozzárendelésnek nincs hatása.Therefore, in this case, the Reader role assignment has no impact.

Több szerepkör-hozzárendelés

Megtagadás-hozzárendelésekDeny assignments

Korábban az RBAC csak megengedő, megtagadás nélküli modell volt, de az RBAC jelenleg korlátozott módon támogatja a megtagadás-hozzárendeléseket.Previously, RBAC was an allow-only model with no deny, but now RBAC supports deny assignments in a limited way. A szerepkör-hozzárendeléshez hasonlóan a megtagadási hozzárendelések egy adott hatókörben egy felhasználóhoz, csoporthoz, egyszerű szolgáltatáshoz vagy felügyelt identitáshoz tartozó megtagadási műveletet rendelnek a hozzáférés megtagadása céljából.Similar to a role assignment, a deny assignment attaches a set of deny actions to a user, group, service principal, or managed identity at a particular scope for the purpose of denying access. A szerepkör-hozzárendelések olyan műveletek készletét határozzák meg, amelyek engedélyezvevannak, míg a megtagadási hozzárendelések olyan műveletek készletét határozzák meg, amelyek nem engedélyezettek.A role assignment defines a set of actions that are allowed, while a deny assignment defines a set of actions that are not allowed. Vagyis a megtagadás-hozzárendelések akkor is meggátolják, hogy a felhasználók elvégezzék a megadott műveleteket, ha egy szerepkör-hozzárendelés hozzáférést nyújt azokhoz.In other words, deny assignments block users from performing specified actions even if a role assignment grants them access. A megtagadás-hozzárendelések elsőbbséget élveznek a szerepkör-hozzárendelésekkel szemben.Deny assignments take precedence over role assignments. További információ: Az Azure-erőforrások megtagadási hozzárendeléseinek megismerése.For more information, see Understand deny assignments for Azure resources.

Hogyan határozza meg az RBAC, hogy egy felhasználó rendelkezik-e hozzáféréssel egy erőforráshoz?How RBAC determines if a user has access to a resource

Az RBAC a következő főbb lépésekkel határozza meg, hogy Ön hozzáféréssel rendelkezik-e egy erőforráshoz a felügyeleti síkon.The following are the high-level steps that RBAC uses to determine if you have access to a resource on the management plane. Ennek ismerete hozzáférési problémák elhárításakor lehet hasznos.This is helpful to understand if you are trying to troubleshoot an access issue.

  1. A felhasználó (vagy szolgáltatásnév) jogkivonatot szerez be az Azure Resource Managerhez.A user (or service principal) acquires a token for Azure Resource Manager.

    A jogkivonatban szerepelnek a felhasználó csoporttagságai (beleértve a tranzitív csoporttagságokat is).The token includes the user's group memberships (including transitive group memberships).

  2. A felhasználó REST API-hívást indít az Azure Resource Managerhez a csatolt jogkivonattal.The user makes a REST API call to Azure Resource Manager with the token attached.

  3. Az Azure Resource Manager lekéri az azon erőforrásra érvényes összes szerepkör-hozzárendelést és megtagadás-hozzárendelést, amelyen a művelet történik.Azure Resource Manager retrieves all the role assignments and deny assignments that apply to the resource upon which the action is being taken.

  4. Az Azure Resource Manager leszűkíti a felhasználóra vagy a csoportjára érvényes szerepkör-hozzárendeléseket, és meghatározza, hogy a felhasználó milyen szerepkörökkel rendelkezik ehhez az erőforráshoz.Azure Resource Manager narrows the role assignments that apply to this user or their group and determines what roles the user has for this resource.

  5. Az Azure Resource Manager meghatározza, hogy az API-hívásban lévő művelet szerepel-e a felhasználó ezen erőforrásra vonatkozó szerepköreiben.Azure Resource Manager determines if the action in the API call is included in the roles the user has for this resource.

  6. Ha a felhasználó nem rendelkezik a megfelelő szerepkörrel a művelethez a kért hatókörön, a rendszer nem biztosít hozzáférést.If the user doesn’t have a role with the action at the requested scope, access is not granted. Ha rendelkezik a megfelelő szerepkörrel az Azure Resource Manager ellenőrzi, hogy van-e érvényes megtagadás-hozzárendelés.Otherwise, Azure Resource Manager checks if a deny assignment applies.

  7. Ha van érvényes megtagadás-hozzárendelés, megtagadja a hozzáférést.If a deny assignment applies, access is blocked. Egyéb esetben hozzáférést biztosít.Otherwise access is granted.

LicenckövetelményekLicense requirements

Ez a funkció használata ingyenes és az Azure-előfizetésében szerepelnek.Using this feature is free and included in your Azure subscription.

Következő lépésekNext steps