Co je řízení přístupu na základě atributů Azure (Azure ABAC)?
Řízení přístupu na základě atributů (ABAC) je autorizační systém, který definuje přístup na základě atributů přidružených k objektům zabezpečení, prostředkům a prostředí žádosti o přístup. Pomocí ABAC můžete objektu zabezpečení udělit přístup k prostředku na základě atributů. Azure ABAC odkazuje na implementaci ABAC pro Azure.
Co jsou podmínky přiřazení role?
Řízení přístupu na základě role v Azure (Azure RBAC) je autorizační systém, který pomáhá spravovat, kdo má přístup k prostředkům Azure, co může s těmito prostředky dělat a k jakým oblastem má přístup. Azure RBAC ve většině případů poskytuje potřebnou správu přístupu pomocí definic rolí a přiřazení rolí. V některých případech ale můžete chtít poskytovat jemněji odstupňovanou správu přístupu nebo zjednodušit správu stovek přiřazení rolí.
Azure ABAC staví na Azure RBAC přidáním podmínek přiřazení rolí na základě atributů v kontextu konkrétních akcí. Podmínka přiřazení role je další kontrola, kterou můžete volitelně přidat k přiřazení role, abyste zajistili podrobnější řízení přístupu. Podmínka filtruje oprávnění udělená jako součást definice role a přiřazení role. Můžete například přidat podmínku, která vyžaduje, aby objekt měl ke čtení objektu určitou značku. Pomocí podmínek nelze explicitně odepřít přístup ke konkrétním prostředkům.
Proč používat podmínky?
Použití podmínek přiřazení rolí má tři hlavní výhody:
- Poskytnutí jemněji odstupňovaného řízení přístupu – Přiřazení role používá definici role s akcemi a akcemi dat k udělení oprávnění objektu zabezpečení. Podmínky můžete zapsat, abyste tato oprávnění odfiltrovali, abyste měli podrobnější řízení přístupu. Můžete také přidat podmínky ke konkrétním akcím. Janu můžete například udělit přístup pro čtení k objektům blob ve vašem předplatném jenom v případě, že jsou objekty blob označené jako Project=Blue.
- Pomozte snížit počet přiřazení rolí – Každé předplatné Azure má aktuálně limit přiřazení rolí. Existují scénáře, které by vyžadovaly tisíce přiřazení rolí. Všechna tato přiřazení rolí by se musela spravovat. V těchto scénářích byste mohli potenciálně přidat podmínky pro použití výrazně menšího počtu přiřazení rolí.
- Použijte atributy, které mají konkrétní obchodní význam – Podmínky umožňují používat atributy, které mají pro vás konkrétní obchodní význam v řízení přístupu. Mezi příklady atributů patří název projektu, fáze vývoje softwaru a úrovně klasifikace. Hodnoty těchto atributů zdrojů jsou dynamické a mění se při přesouvání uživatelů mezi týmy a projekty.
Příklady scénářů pro podmínky
Existuje několik scénářů, ve kterých můžete chtít přidat podmínku k přiřazení role. Zde je uvedeno několik příkladů.
- Čtení přístupu k objektům blob pomocí značky Project=Cascade
- Nové objekty blob musí obsahovat značku Project=Cascade.
- Existující objekty blob musí být označené alespoň jedním klíčem projektu nebo klíčem programu.
- Existující objekty blob musí být označené klíčem projektu a hodnotami Cascade, Baker nebo Skagit.
- Čtení, zápis nebo odstranění objektů blob v kontejnerech s názvem blobs-example-container
- Čtení přístupu k objektům blob v kontejnerech s názvem blobs-example-container s cestou jen pro čtení
- Zápis přístupu k objektům blob v kontejnerech s názvem Contosocorp s cestou uploads/contoso
- Čtení přístupu k objektům blob pomocí značky Program=Alpine a cesty protokolů
- Přístup pro čtení k objektům blob se značkou Project=Baker a uživatel má odpovídající atribut Project=Baker
- Přístup pro čtení k objektům blob během určitého rozsahu data a času
- Zápis přístupu k objektům blob pouze přes privátní propojení nebo z konkrétní podsítě.
Další informace o tom, jak tyto příklady vytvořit, najdete v tématu Příklady podmínek přiřazení role Azure pro Blob Storage.
Kde lze podmínky přidat?
V současné době je možné podmínky přidat do předdefinovaných nebo vlastních přiřazení rolí, které mají akce úložiště objektů blob nebo ukládání dat do fronty. Podmínky se přidají do stejného oboru jako přiřazení role. Stejně jako přiřazení rolí musíte mít Microsoft.Authorization/roleAssignments/write
oprávnění k přidání podmínky.
Tady jsou některé atributy úložiště objektů blob, které můžete použít ve svých podmínkách.
- Název účtu
- Značky indexu objektů blob
- Cesta k objektu blob
- Předpona objektu blob
- Název kontejneru
- Název oboru šifrování
- Je aktuální verze
- Je povolený hierarchický obor názvů.
- Je privátní propojení
- Snímek
- UTC (aktuální datum a čas v koordinovaném univerzálním čase)
- ID verze
Jak podmínka vypadá?
K novým nebo existujícím přiřazením rolí můžete přidat podmínky. Tady je role Čtenář dat objektů blob úložiště, která byla přiřazena uživateli s názvem Chandra v oboru skupiny prostředků. Byla přidána také podmínka, která umožňuje přístup jen pro čtení k objektům blob se značkou Project=Cascade.
Pokud se Chandra pokusí přečíst objekt blob bez značky Project=Cascade, přístup se nepovolí.
Podmínka vypadá na webu Azure Portal takto:
Tady je, jak podmínka vypadá v kódu:
(
(
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
AND NOT
SubOperationMatches{'Blob.List'})
)
OR
(
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
)
)
Další informace o formátu podmínek najdete v tématu Formát a syntaxe podmínky přiřazení role Azure.
Stav funkcí podmínky
Následující tabulka uvádí stav funkcí podmínky:
Funkce | Stav | Datum |
---|---|---|
Použití atributů prostředí v podmínce | GA | Duben 2024 |
Přidání podmínek pomocí editoru podmínek na webu Azure Portal | GA | Říjen 2022 |
Přidání podmínek pomocí Azure PowerShellu, Azure CLI nebo rozhraní REST API | GA | Říjen 2022 |
Atributy prostředků a žádostí použijte pro konkrétní kombinace prostředků úložiště Azure, typů přístupových atributů a úrovní výkonu účtu úložiště. Další informace najdete v tématu Stav funkcí podmínky ve službě Azure Storage. | GA | Říjen 2022 |
Použití vlastních atributů zabezpečení u objektu zabezpečení v podmínce | GA | Listopad 2023 |
Podmínky a Microsoft Entra PIM
K oprávněným přiřazením rolí můžete také přidat podmínky pomocí služby Microsoft Entra Privileged Identity Management (Microsoft Entra PIM) pro prostředky Azure. U Microsoft Entra PIM musí koncoví uživatelé aktivovat oprávněné přiřazení role, aby získali oprávnění k provádění určitých akcí. Použití podmínek v Microsoft Entra PIM umožňuje nejen omezit přístup uživatele k prostředku pomocí jemně odstupňovaných podmínek, ale také použít Microsoft Entra PIM k jeho zabezpečení pomocí nastavení časového limitu, pracovního postupu schválení, záznamu auditu atd. Další informace najdete v tématu Přiřazení rolí prostředků Azure ve službě Privileged Identity Management.
Terminologie
Pokud chcete lépe porozumět Azure RBAC a Azure ABAC, můžete se vrátit k následujícímu seznamu termínů.
Pojem | definice |
---|---|
řízení přístupu na základě atributů (ABAC) | Autorizační systém, který definuje přístup na základě atributů přidružených k objektům zabezpečení, prostředkům a prostředí. Pomocí ABAC můžete objektu zabezpečení udělit přístup k prostředku na základě atributů. |
Azure ABAC | Odkazuje na implementaci ABAC pro Azure. |
Podmínka přiřazení role | Další kontrola, kterou můžete volitelně přidat k přiřazení role, abyste zajistili podrobnější řízení přístupu. |
attribute | V tomto kontextu je pár klíč-hodnota, například Project=Blue, kde Project je klíč atributu a Blue je hodnota atributu. Atributy a značky jsou synonymem pro účely řízení přístupu. |
výraz | Příkaz v podmínce, která se vyhodnotí jako true nebo false. Výraz má formát hodnoty operátoru<>atributu<><.> |
Omezení
Tady jsou některé limity podmínek.
Prostředek | Omezení | Notes |
---|---|---|
Počet výrazů na podmínku pomocí editoru vizuálů | 5 | Pomocí editoru kódu můžete přidat více než pět výrazů. |
Známé problémy
Tady jsou známé problémy s podmínkami:
- Pokud používáte Microsoft Entra Privileged Identity Management (PIM) a vlastní atributy zabezpečení, objekt zabezpečení se při přidávání podmínky nezobrazí ve zdroji atributů.