Mi az az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC)?
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. Az Azure szerepköralapú hozzáférés-vezérlés (RBAC) lehetővé teszi annak kezelé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.
Az Azure RBAC egy Azure-Resource Manager alapuló engedélyezési rendszer, amely részletes hozzáférés-kezelést biztosít az Azure-erőforrásokhoz.
Ez a videó gyors áttekintést nyújt az Azure RBAC-ről.
Mire használhatom az Azure RBAC-t?
Íme néhány példa az Azure RBAC-vel elvégezhető műveletekre:
- 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
- Engedélyezheti egy adatbázis-rendszergazdai csoport számára az előfizetésben lévő SQL-adatbázisok kezelését.
- 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.
- Engedélyezheti egy alkalmazás számára az egy adott erőforráscsoportba tartozó összes erőforrás elérését.
Az Azure RBAC működése
Az Erőforrásokhoz való hozzáférés az Azure RBAC használatával történő vezérlésének módja az Azure-szerepkörök hozzárendelése. Ezt a fogalmat fontos megérteni – ez az engedélyek kikényszerítése. 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.
Rendszerbiztonsági tag
A rendszerbiztonsági tag egy olyan objektum, amely egy, az Azure-erőforrásokhoz hozzáférést igénylő felhasználót, csoportot, szolgáltatásnevet vagy felügyelt identitást jelöl. Ezen rendszerbiztonsági tagok bármelyikéhez hozzárendelhet szerepkört.
Szerepkör-definíció
A szerepkör-definíció engedélyek gyűjteménye. Ezt általában csak szerepkörnek nevezik. A szerepkör-definíciók felsorolják az elvégezhető műveleteket, például az olvasást, az írást és a törlést. A szerepkör lehet magas szintű (például tulajdonos) vagy specifikus (például virtuálisgép-olvasó).
Az Azure számos beépített szerepkört tartalmaz, amelyeket használhat. 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é. Ha a beépített szerepkörök nem felelnek meg a szervezet igényeinek, létrehozhat saját Egyéni Azure-szerepköröket.
Ez a videó gyors áttekintést nyújt a beépített szerepkörökről és az egyéni szerepkörökről.
Az Azure olyan adatműveletekkel rendelkezik, amelyekkel hozzáférést biztosíthat egy objektum adataihoz. 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.
További információ: Az Azure-szerepkördefiníciók ismertetése.
Hatókör
A hatókör azon erőforrások készlete, amelyekre a hozzáférés vonatkozik. 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. Ez akkor hasznos, ha webhely-közreműködővé szeretne tenni valakit, de csak egy erőforráscsoporthoz.
Az Azure-ban négy szinten adhat meg hatókört: felügyeleti csoport, előfizetés, erőforráscsoport vagy erőforrás. A hatókörök szülő-gyermek (származtatott) kapcsolatokba vannak rendezve. A szerepköröket a hatókör bármelyik szintjén hozzárendelheti.
A hatókörrel kapcsolatos további információkért lásd a hatókört ismertető témakört.
Szerepkör-hozzárendelések
A szerepkör-hozzárendelés egy szerepkördefiníció felhasználóhoz, csoporthoz, szolgáltatásnévhez vagy felügyelt identitáshoz való csatolásának folyamata egy adott hatókörben a hozzáférés biztosítása céljából. 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.
Az alábbi ábrán egy példa látható szerepkör-hozzárendelésre. 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. 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. 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.
Szerepköröket a Azure Portal, az Azure CLI, a Azure PowerShell, az Azure SDK-k vagy REST API-k használatával oszthat ki.
További információ: Azure-szerepkör hozzárendelésének lépései.
Csoportok
A szerepkör-hozzárendelések a csoportok esetében tranzitívak, ami azt jelenti, hogy ha egy felhasználó tagja egy csoportnak, és ez a csoport egy másik, szerepkör-hozzárendeléssel rendelkező csoport tagja, akkor a felhasználó rendelkezik a szerepkör-hozzárendeléshez szükséges engedélyekkel.
Több szerepkör-hozzárendelés
Mi történik, ha több egymást átfedő szerepkör-hozzárendeléssel rendelkezik? Az Azure RBAC egy additív modell, így a tényleges engedélyek a szerepkör-hozzárendelések összege. Vegyük például azt a példát, amikor egy felhasználó megkapja a Közreműködő szerepkört az előfizetés hatókörében, az Olvasó szerepkört pedig egy erőforráscsoportban. A Közreműködői engedélyek és az Olvasó engedélyek összege gyakorlatilag az előfizetés közreműködői szerepköre. Ezért ebben az esetben az Olvasó szerepkör hozzárendelésének nincs hatása.
Megtagadás-hozzárendelések
Az Azure RBAC korábban csak engedélyezési modell volt megtagadás nélkül, de most az Azure RBAC korlátozott módon támogatja a megtagadási hozzárendeléseket. A szerepkör-hozzárendelésekhez hasonlóan a megtagadási hozzárendelések megtagadási műveleteket csatolnak egy felhasználóhoz, csoporthoz, szolgáltatásnévhez vagy felügyelt identitáshoz egy adott hatókörben a hozzáférés megtagadása céljából. A szerepkör-hozzárendelések olyan műveletek készletét határozzák meg, amelyek engedélyezettek, míg a megtagadási hozzárendelések olyan műveletek készletét határozzák meg, amelyek nem engedélyezettek. 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. A megtagadás-hozzárendelések elsőbbséget élveznek a szerepkör-hozzárendelésekkel szemben.
További információ: Az Azure megtagadási hozzárendeléseinek ismertetése.
Hogyan határozza meg az Azure RBAC, hogy egy felhasználó rendelkezik-e hozzáféréssel egy erőforráshoz
Az alábbiakban az Azure RBAC által az erőforráshoz való hozzáférés megállapításához használt magas szintű lépéseket követjük. Ezek a lépések az Azure RBAC-vel integrált Azure Resource Manager vagy adatsík-szolgáltatásokra vonatkoznak. Ennek ismerete hozzáférési problémák elhárításakor lehet hasznos.
A felhasználó (vagy szolgáltatásnév) jogkivonatot szerez be az Azure Resource Managerhez.
A jogkivonatban szerepelnek a felhasználó csoporttagságai (beleértve a tranzitív csoporttagságokat is).
A felhasználó REST API-hívást indít az Azure Resource Managerhez a csatolt jogkivonattal.
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.
Ha van érvényes megtagadás-hozzárendelés, megtagadja a hozzáférést. Ellenkező esetben a kiértékelés folytatódik.
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.
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. Ha a szerepkörök közé tartozik
Actions
egy helyettesítő karakter (*
), a tényleges engedélyek kiszámítása azNotActions
engedélyezettből való kivonással történikActions
. Hasonlóképpen, ugyanez a kivonás történik minden adatművelet esetében.Actions - NotActions = Effective management permissions
DataActions - NotDataActions = Effective data permissions
Ha a felhasználónak nincs szerepköre a művelettel a kért hatókörben, a hozzáférés nem engedélyezett. Ellenkező esetben a rendszer kiértékeli a feltételeket.
Ha a szerepkör-hozzárendelés feltételekkel rendelkezik, a rendszer kiértékeli őket. Ellenkező esetben a hozzáférés engedélyezett.
Ha a feltételek teljesülnek, a hozzáférés engedélyezett. Ellenkező esetben a hozzáférés nem engedélyezett.
Az alábbi ábrán a kiértékelési logika összefoglalása látható.
Hol vannak tárolva az Azure RBAC-adatok?
A szerepkör-definíciók, a szerepkör-hozzárendelések és a megtagadási hozzárendelések globálisan vannak tárolva, így biztosítva, hogy az erőforrásokhoz hozzáférhessen, függetlenül attól, hogy melyik régióban hozta létre az erőforrást.
Szerepkör-hozzárendelés vagy bármely más Azure RBAC-adat törlésekor az adatok globálisan törlődnek. Azok a rendszerbiztonsági tagok, amelyek Azure RBAC-adatokon keresztül fértek hozzá egy erőforráshoz, elveszítik a hozzáférésüket.
Miért globális az Azure RBAC-adatok?
Az Azure RBAC-adatok globálisak, így az ügyfelek a hozzáférés helyétől függetlenül időben hozzáférhetnek az erőforrásokhoz. Az Azure RBAC-t az Azure Resource Manager kényszeríti ki, amely globális végponttal rendelkezik, és a kéréseket a legközelebbi régióba irányítja a sebesség és a rugalmasság érdekében. Ezért az Azure RBAC-t minden régióban kötelező kikényszeríteni, és az adatok minden régióba replikálódnak. További információ: Az Azure Resource Manager rugalmassága.
Gondolja át a következő példát. Arina létrehoz egy virtuális gépet Kelet-Ázsiában. Bob, aki Arina csapatának tagja, a Egyesült Államok dolgozik. Bobnak hozzá kell férnie a Kelet-Ázsiában létrehozott virtuális géphez. Ahhoz, hogy Bob időben hozzáférjen a virtuális géphez, az Azure-nak globálisan replikálnia kell azt a szerepkör-hozzárendelést, amely Hozzáférést biztosít Bobnak a virtuális géphez bárhonnan, ahol Bob van.
Licenckövetelmények
A funkció használata ingyenes, és az Azure-előfizetés részét képezi.