Vysvětlení rozsahu pro Azure RBAC
Obor je sada prostředků, na které se vztahuje přístup. Když přiřadíte roli, je důležité pochopit rozsah, abyste mohli objekt zabezpečení udělit jenom přístup, který skutečně potřebuje. Omezením rozsahu omezíte, jaké prostředky hrozí v případě ohrožení zabezpečení.
Úrovně rozsahu
V Azure můžete zadat obor na čtyřech úrovních: skupina pro správu, předplatné, skupina prostředků a prostředek. Obory jsou strukturovány ve vztahu nadřazený-podřízený obor. Každá úroveň hierarchie zpřístupňuje obor konkrétněji. Role můžete přiřadit na kterékoli z těchto úrovní oboru. Úroveň, kterou vyberete, určuje, jak široce se role použije. Nižší úrovně dědí oprávnění role z vyšších úrovní.
Skupiny pro správu jsou úrovní rozsahu nad předplatnými, ale skupiny pro správu podporují složitější hierarchie. Následující diagram znázorňuje příklad hierarchie skupin pro správu a předplatných, které můžete definovat. Další informace o skupinách pro správu najdete v tématu Co jsou skupiny pro správu Azure?
Formát oboru
Pokud přiřadíte role pomocí příkazového řádku, budete muset zadat obor. U nástrojů příkazového řádku je obor potenciálně dlouhý řetězec, který identifikuje přesný rozsah přiřazení role. Na webu Azure Portal je tento obor obvykle uvedený jako ID prostředku.
Obor se skládá z řady identifikátorů oddělených znakem lomítka (/). Tento řetězec si můžete představit jako vyjádření následující hierarchie, kde text bez zástupných symbolů ({}
) představuje pevné identifikátory:
/subscriptions
/{subscriptionId}
/resourcegroups
/{resourceGroupName}
/providers
/{providerName}
/{resourceType}
/{resourceSubType1}
/{resourceSubType2}
/{resourceName}
{subscriptionId}
je ID předplatného, které se má použít (identifikátor GUID).{resourceGroupName}
je název obsahující skupiny prostředků.{providerName}
je název poskytovatele prostředků, který prostředek zpracovává, a{resourceSubType*}
pak{resourceType}
identifikuje další úrovně v rámci tohoto poskytovatele prostředků.{resourceName}
je poslední část řetězce, která identifikuje konkrétní prostředek.
Skupiny pro správu jsou úrovně nad předplatnými a mají nejširší (nejméně specifický) rozsah. Přiřazení rolí na této úrovni platí pro předplatná v rámci skupiny pro správu. Obor skupiny pro správu má následující formát:
/providers
/Microsoft.Management
/managementGroups
/{managementGroupName}
Příklady oborů
Obor | Příklad |
---|---|
Skupina pro správu | /providers/Microsoft.Management/managementGroups/marketing-group |
Předplatné | /subscriptions/00000000-0000-0000-0000-000000000000 |
Skupina prostředků | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales |
|
Prostředek | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVirtualNetwork12345 |
Určení rozsahu prostředku
Je poměrně jednoduché určit rozsah skupiny pro správu, předplatného nebo skupiny prostředků. Stačí znát název a ID předplatného. Určení rozsahu prostředku ale trochu více práce trvá. Tady je několik způsobů, jak určit rozsah prostředku.
Na webu Azure Portal otevřete prostředek a podívejte se na vlastnosti. Prostředek by měl uvést ID prostředku, kde můžete určit rozsah. Tady jsou například ID prostředků pro účet úložiště.
Dalším způsobem je použití webu Azure Portal k dočasnému přiřazení role v oboru prostředků a následnému zobrazení seznamu přiřazení role pomocí Azure PowerShellu nebo Azure CLI . Ve výstupu bude obor uveden jako vlastnost.
RoleAssignmentId : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/pro viders/Microsoft.Authorization/roleAssignments/<roleAssignmentId> Scope : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 DisplayName : User SignInName : user@contoso.com RoleDefinitionName : Storage Blob Data Reader RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1 ObjectId : <principalId> ObjectType : User CanDelegate : False Description : ConditionVersion : Condition :
{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}", "name": "{roleAssignmentId}", "principalId": "{principalId}", "principalName": "user@contoso.com", "principalType": "User", "resourceGroup": "test-rg", "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", "roleDefinitionName": "Storage Blob Data Reader", "scope": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01", "type": "Microsoft.Authorization/roleAssignments" }
Rozsah a šablony ARM
Přiřazení role je speciální typ v Azure Resource Manageru označovaný jako prostředek rozšíření. Prostředek rozšíření je prostředek, který se přidává k možnostem jiného prostředku. Vždy existují jako rozšíření (například podřízené) jiného prostředku. Například přiřazení role v oboru předplatného je prostředek rozšíření předplatného. Název přiřazení role je vždy název prostředku, který rozšiřujete plus /Microsoft.Authorization/roleAssignments/{roleAssignmentId}
. Při přiřazování rolí pomocí šablony Azure Resource Manageru (šablona ARM) obvykle nemusíte rozsah zadávat. Důvodem je, že pole oboru končí vždy JAKO ID prostředku, který rozšiřujete. Obor lze určit z ID samotného přiřazení role. Následující tabulka uvádí příklady ID přiřazení role a odpovídajícího oboru:
ID přiřazení role | Obor |
---|---|
/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg |
Další informace o oboru a šablonách ARM najdete v tématu Přiřazení rolí Azure pomocí šablon Azure Resource Manageru. Úplný seznam typů prostředků rozšíření najdete v tématu Typy prostředků, které rozšiřují možnosti dalších prostředků.