Kurz: Udělení přístupu ke skupinám k prostředkům Azure pomocí Azure PowerShellu
Řízení přístupu na základě role Azure (chyba RBAC) je způsob správy přístupu k prostředkům Azure. V tomto kurzu pomocí Azure PowerShellu udělíte skupině přístup k zobrazení všeho v předplatném a správě všeho ve skupině prostředků.
V tomto kurzu se naučíte:
- Udělení přístupu pro skupinu v různých oborech
- Výpis přístupu
- Odebrání přístupu
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Požadavky
Pro absolvování tohoto kurzu potřebujete:
- Oprávnění k vytváření skupin v MICROSOFT Entra ID (nebo mají existující skupinu)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
Přiřazení rolí
V Azure RBAC pro udělení přístupu vytvoříte přiřazení role. Přiřazení role se skládá ze tří prvků: objekt zabezpečení, definice role a obor. Tady jsou dvě přiřazení rolí, která v tomto kurzu provedete:
Objekt zabezpečení | Definice role | Obor |
---|---|---|
Seskupit (RBAC Tutorial Group) |
Čtenář | Předplatné |
Seskupit (RBAC Tutorial Group) |
Přispěvatel | Skupina prostředků (rbac-tutorial-resource-group) |
Vytvoření skupiny
Pro přiřazení role potřebujete uživatele, skupinu nebo instanční objekt. Pokud skupinu ještě nemáte, můžete ji vytvořit.
V Azure Cloud Shellu vytvořte novou skupinu pomocí příkazu New-MgGroup .
New-MgGroup -DisplayName "RBAC Tutorial Group" -MailEnabled:$false ` -SecurityEnabled:$true -MailNickName "NotSet"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Pokud nemáte oprávnění k vytváření skupin, můžete vyzkoušet kurz: Udělení přístupu uživatelů k prostředkům Azure pomocí Azure PowerShellu .
Vytvoření skupiny zdrojů
Skupinu prostředků použijeme k ukázce, jak přiřadit roli v oboru skupiny prostředků.
Pomocí příkazu Get-AzLocation získejte seznam umístění oblastí.
Get-AzLocation | select Location
Vyberte umístění blízko vás a přiřaďte ho do proměnné.
$location = "westus"
Vytvořte novou skupinu prostředků pomocí příkazu New-AzResourceGroup .
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
ResourceGroupName : rbac-tutorial-resource-group Location : westus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
Udělení přístupu
Pokud chcete udělit přístup ke skupině, pomocí příkazu New-AzRoleAssignment přiřaďte roli. Musíte zadat objekt zabezpečení, definici role a obor.
Pomocí příkazu Get-MgGroup získejte ID objektu skupiny.
Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Uložte ID objektu skupiny do proměnné.
$groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
Pomocí příkazu Get-AzSubscription získejte ID vašeho předplatného.
Get-AzSubscription
Name : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : Enabled
Uložte obor předplatného do proměnné.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
Přiřaďte skupině roli Čtenář v oboru předplatného.
New-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Přiřaďte skupině roli Přispěvatel v oboru skupiny prostředků.
New-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Výpis přístupu
Pokud chcete ověřit přístup k předplatnému, pomocí příkazu Get-AzRoleAssignment zobrazte seznam přiřazení rolí.
Get-AzRoleAssignment -ObjectId $groupId -Scope $subScope
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Ve výstupu vidíte, že se skupině RBAC Tutorial Group přiřadila role Čtenář v oboru předplatného.
Pokud chcete ověřit přístup pro skupinu prostředků, pomocí příkazu Get-AzRoleAssignment zobrazte seznam přiřazení rolí.
Get-AzRoleAssignment -ObjectId $groupId -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Ve výstupu vidíte, že se skupině RBAC Tutorial Group přiřadily role Přispěvatel i Čtenář. Role Přispěvatel je v oboru skupiny prostředků rbac-tutorial-resource-group a role Čtenář se dědí v oboru předplatného.
(Volitelné) Výpis přístupu pomocí webu Azure Portal
Pokud se chcete podívat, jak přiřazení rolí vypadají na webu Azure Portal, zobrazte okno Řízení přístupu (IAM) pro dané předplatné.
Zobrazte okno Řízení přístupu (IAM) pro danou skupinu prostředků.
Odebrání přístupu
Pokud chcete odebrat přístup pro uživatele, skupiny a aplikace, odeberte přiřazení role pomocí remove-AzRoleAssignment .
Pomocí následujícího příkazu odeberte skupině přiřazení role Přispěvatel v oboru skupiny prostředků.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Pomocí následujícího příkazu odeberte skupině přiřazení role Čtenář v oboru předplatného.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
Vyčištění prostředků
Pokud chcete vyčistit prostředky vytvořené v tomto kurzu, odstraňte skupinu prostředků a skupinu.
Odstraňte skupinu prostředků pomocí příkazu Remove-AzResourceGroup .
Remove-AzResourceGroup -Name "rbac-tutorial-resource-group"
Confirm Are you sure you want to remove resource group 'rbac-tutorial-resource-group' [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Po zobrazení výzvy k potvrzení zadejte Y. Odstranění bude trvat několik sekund.
Odstraňte skupinu pomocí příkazu Remove-MgGroup .
Remove-MgGroup -GroupID $groupId
Pokud se při pokusu o odstranění skupiny zobrazí chyba, můžete skupinu odstranit také na portálu.