Mi az az Azure attribútumalapú hozzáférés-vezérlés (Azure ABAC)? (előzetes verzió)

Fontos

Az Azure ABAC és az Azure szerepkör-hozzárendelési feltételei jelenleg előzetes verzióban állnak rendelkezésre. Erre az előzetes verzióra nem vonatkozik szolgáltatói szerződés, és a használata nem javasolt éles számítási feladatok esetén. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Az attribútumalapú hozzáférés-vezérlés (ABAC) egy engedélyezési rendszer, amely a rendszerbiztonsági tagokkal, erőforrásokkal és környezetekkel társított attribútumok alapján határozza meg a hozzáférést. Az ABAC-val attribútumok alapján adhat rendszerbiztonsági tagnak hozzáférést egy erőforráshoz. Az Azure ABAC az ABAC Azure-hoz való implementációját jelenti.

Mik azok a szerepkör-hozzárendelési feltételek?

Az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) egy engedélyezési rendszer, amely segítségével kezelheti, hogy ki férhet hozzá az Azure-erőforrásokhoz, mire használhatja azokat, és milyen területekhez férhet hozzá. A legtöbb esetben az Azure RBAC biztosítja a szükséges hozzáférés-vezérlést szerepkör-definíciók és szerepkör-hozzárendelések használatával. Bizonyos esetekben azonban érdemes lehet részletes hozzáférés-kezelési lehetőséget biztosítani, vagy leegyszerűsíteni több száz szerepkör-hozzárendelés kezelését.

Az Azure ABAC az Azure RBAC-re épít azáltal, hogy adott műveletek kontextusában attribútumok alapján ad hozzá szerepkör-hozzárendelési feltételeket. A szerepkör-hozzárendelési feltétel egy további ellenőrzés, amely opcionálisan hozzáadható a szerepkör-hozzárendeléshez, hogy pontosabb hozzáférés-vezérlést biztosítson. A feltétel kiszűri a szerepkör-definíció és a szerepkör-hozzárendelés részeként megadott engedélyeket. Hozzáadhat például egy olyan feltételt, amely megköveteli, hogy egy objektum egy adott címkével legyen beolvasva az objektum beolvassa. Feltételek használatával nem tagadhatja meg explicit módon az adott erőforrásokhoz való hozzáférést.

Miért érdemes feltételeket használni?

A szerepkör-hozzárendelési feltételek használatának három fő előnye van:

  • Részletes hozzáférés-vezérlés – A szerepkör-hozzárendelések műveleteket és adatműveleteket használó szerepkör-definíciót használva biztosítanak rendszerbiztonsági tag jogosultságokat. Írhat feltételeket az engedélyek szűréséhez a pontosabb hozzáférés-vezérlés érdekében. Adott műveletekhez feltételeket is hozzáadhat. Johnnak például csak akkor adhat olvasási hozzáférést az előfizetésében lévő blobok számára, ha a blobok az Project=Blue címkével vannak megjelölve.
  • Segítség a szerepkör-hozzárendelések számának csökkentéséhez – Jelenleg minden Azure-előfizetéshez van szerepkör-hozzárendelési korlát. Vannak olyan forgatókönyvek, amelyekhez több ezer szerepkör-hozzárendelésre lenne szükség. Az összes szerepkör-hozzárendelést kezelni kell. Ezekben az esetekben olyan feltételeket adhat hozzá, amelyek jelentősen kevesebb szerepkör-hozzárendelést használhatnak.
  • Adott üzleti jelentéssel bíró attribútumok használata – A feltételek lehetővé teszik olyan attribútumok használatát, amelyek adott üzleti jelentéssel bírnak a hozzáférés-vezérlésben. Néhány attribútum például a projekt neve, a szoftverfejlesztési fázis és a besorolási szintek. Ezen erőforrás-attribútumok értékei dinamikusak és változnak, ahogy a felhasználók különböző csapatokban és projektekben mozognak.

Példaforgatókönyvek feltételekhez

Több esetben is előfordulhat, hogy feltételt szeretne hozzáadni a szerepkör-hozzárendeléshez. Íme néhány példa.

  • Olvasási hozzáférés a blobok számára a Project=Cascade címkével
  • Az új blobnak tartalmaznia kell a Project=Cascade címkét
  • A meglévő blobokat címkével kell ellátni legalább egy Project kulccsal vagy programk kulccsal
  • A meglévő blobokat címkével kell ellátni egy Project kulcs és a Cascade, a And vagy a Skagit értékekkel
  • Blobok olvasása, írása vagy törlése blobs-example-container nevű tárolókban
  • Blobs-example-container nevű tárolókban lévő blobok olvasási hozzáférése csak olvasható elérési útkal
  • A Contosocorp nevű tárolókban lévő blobok írási hozzáférése feltöltési/contoso elérési úttal
  • Read access to blobs with the tag Program=Alpine and a path of logs (Olvasási hozzáférés a blobok számára a Program=Alpine címkével és a naplók elérési útjának használatával)
  • Read access to blobs with the tag Project=Project And the user has a matching attribute Project=Fog

További információ a példák létrehozásáról: Példák azure-beli szerepkör-hozzárendelési feltételekre.

Hol lehet feltételeket hozzáadni?

Jelenleg olyan beépített vagy egyéni szerepkör-hozzárendelésekhez lehet feltételeket hozzáadni, amelyek tárolási blobadatokra vonatkozó műveleteket tartalmaznak. Ezek közé tartoznak a következő beépített szerepkörök:

A feltételek a szerepkör-hozzárendelés hatókörében vannak hozzáadva. A szerepkör-hozzárendeléshez hasonló engedélyekkel kell rendelkeznie Microsoft.Authorization/roleAssignments/write egy feltétel hozzáadásához.

Az alábbi tárolási attribútumokat használhatja a feltételekben.

  • Tárolónév
  • Blob elérési útja
  • Blobindex-címkék kulcsai
  • Blobindexcímkék

Tipp

A blobok azt is támogatják, hogy tetszőleges, felhasználó által definiált kulcs-érték metaadatokat tároljanak. Bár a metaadatok hasonlóak a blobindexcímkékhez, feltételekkel kell használnia a blobindexcímkéket. További információ: Azure Blob-adatok kezelése és megkeresése blobindex-címkékkel (előzetes verzió).

Hogyan néz ki egy feltétel?

Feltételeket adhat hozzá új vagy meglévő szerepkör-hozzárendeléshez. Itt van Storage blobadat-olvasó szerepkör, amely egy Chandra nevű felhasználóhoz lett hozzárendelve egy erőforráscsoporti hatókörben. Egy olyan feltétel is hozzá lett adva, amely csak olvasási hozzáférést biztosít a Project=Cascade címkével Project blobok számára.

Diagram of role assignment with a condition.

Ha Chandra a blobok olvasását a Project=Cascade címke nélkül próbálja meg olvasni, a hozzáférés nem engedélyezett.

Diagram of access is not allowed with a condition.

A feltétel így néz ki a Azure Portal:

Build expression section with values for blob index tags.

A feltétel így néz ki a kódban:

(
    (
        !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
        AND
        SubOperationMatches{'Blob.Read.WithTagConditions'})
    )
    OR
    (
        @Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
    )
)

A feltételek formátumával kapcsolatos további információkért lásd: Az Azure szerepkör-hozzárendelési feltételének formátuma és szintaxisa.

A feltételek jellemzői

Az alábbi lista a feltételek néhány elsődleges jellemzőt sorolja fel:

Szolgáltatás Állapot Date
Feltételek hozzáadása a Storage blobadatok szerepkör-hozzárendeléséhez Előnézet 2021. május
Attribútumok használata egy erőforráshoz egy feltételben Előnézet 2021. május
A műveletkérés részét képezi attribútumok használata egy feltételben Előnézet 2021. május
Egyéni biztonsági attribútumok használata egy feltételben egy rendszerbiztonsági tagon Előnézet 2021. november

Feltételek és Privileged Identity Management (PIM)

Feltételeket is hozzáadhat a jogosult szerepkör-hozzárendeléshez a Privileged Identity Management (PIM) használatával. A PIM-hez a végfelhasználóknak aktiválnia kell egy jogosult szerepkör-hozzárendelést, hogy engedélyt kapják bizonyos műveletek elvégzésére. A PIM-feltételek használatával nem csupán a felhasználók erőforrásokhoz való hozzáférését korlátozhatja finomhangolt feltételekkel, hanem a PIM használatával is biztonságossá teszi azt egy időkorlátos beállítással, jóváhagyási munkafolyamattal, auditálással stb. További információ: Azure-erőforrásszerepk szerepkörök hozzárendelése a Privileged Identity Management.

Terminológia

Az Azure RBAC és az Azure ABAC jobb érthetőségért tekintse meg az alábbi kifejezéslistát.

Időszak Definíció
attribútumalapú hozzáférés-vezérlés (ABAC) Egy engedélyezési rendszer, amely a rendszerbiztonsági tagokkal, erőforrásokkal és környezettel társított attribútumok alapján határozza meg a hozzáférést. Az ABAC-val attribútumok alapján adhat hozzáférést egy rendszerbiztonsági tagnak az erőforrásokhoz.
Azure ABAC Az ABAC Azure-hoz való implementációját jelenti.
szerepkör-hozzárendelési feltétel Egy további ellenőrzés, amely opcionálisan hozzáadható a szerepkör-hozzárendeléshez a pontosabb hozzáférés-vezérlés érdekében.
attribute Ebben a kontextusban egy kulcs-érték pár, például Project=Blue, ahol a Project az attribútumkulcs, a Kék pedig az attribútumérték. Az attribútumok és címkék a hozzáférés-vezérlés szempontjából azonosak.
kifejezés Egy olyan feltételben, amely igaz vagy hamis értéket ad vissza. A kifejezések formátuma attribútum-operátor <><><> érték.

Ismert problémák

A feltételekkel kapcsolatos ismert problémák a következőek:

  • Ha Azure AD Privileged Identity Management (PIM) és egyéni biztonsági attribútumokat használ, a Principal nem jelenik meg az Attribútumforrásban feltétel hozzáadásakor.

Következő lépések