Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Řízení přístupu na základě role Azure (Azure RBAC) je způsob, jak spravujete přístup k prostředkům Azure. V tomto kurzu udělíte uživateli přístup k zobrazení všeho v předplatném a správě všeho ve skupině prostředků pomocí Azure PowerShellu.
V tomto kurzu se naučíte:
- Udělení přístupu pro uživatele v různých oborech
- Přístup k seznamu
- Odebrání přístupu
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Poznámka:
K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete 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í uživatelů v Microsoft Entra ID (nebo mít existujícího uživatele)
- 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. Zde jsou dvě role, které budete plnit v této lekci:
Principál zabezpečení | Definice role | Scope |
---|---|---|
Uživatel (Uživatel kurzu RBAC) |
Čtenář | Předplatné |
Uživatel (Uživatel kurzu RBAC) |
Přispěvatel | Skupina zdrojů (rbac-tutorial-resource-group) |
Vytvoření uživatele
K přiřazení role potřebujete uživatele, skupinu nebo instanční objekt. Pokud ještě uživatele nemáte, můžete ho vytvořit.
V Azure Cloud Shellu vytvořte heslo, které splňuje požadavky na složitost hesla.
$PasswordProfile = @{ Password = "<Password>" }
Pomocí příkazu New-MgUser vytvořte nového uživatele pro vaši doménu.
New-MgUser -DisplayName "RBAC Tutorial User" -PasswordProfile $PasswordProfile ` -UserPrincipalName "rbacuser@example.com" -AccountEnabled:$true -MailNickName "rbacuser"
DisplayName Id Mail UserPrincipalName ----------- -- ---- ----------------- RBAC Tutorial User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb rbacuser@example.com
Vytvoření skupiny zdrojů
Skupinu prostředků použijte k demonstraci, jak přiřadit roli v rámci 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 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 pro uživatele, pomocí příkazu New-AzRoleAssignment přiřaďte roli. Musíte zadat objekt zabezpečení, definici role a obor.
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 uživateli roli Čtenář v oboru předplatného.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -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 User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
Přiřaďte uživateli roli Přispěvatel v oboru skupiny prostředků.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -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 User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
Přístup k seznamu
Pokud chcete ověřit přístup k předplatnému, pomocí příkazu Get-AzRoleAssignment zobrazte seznam přiřazení rolí.
Get-AzRoleAssignment -SignInName rbacuser@example.com -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 User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
Ve výstupu vidíte, že role Čtenář (Reader) byla přiřazena uživateli kurzu RBAC (RBAC Tutorial User) v rámci 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 -SignInName rbacuser@example.com -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 User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User 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 User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
Ve výstupu vidíte, že role Přispěvatel a Čtenář byly přiřazeny uživateli kurzu RBAC. Role Přispěvatel je v rámci rbac-tutorial-resource-group a role Čtenář je zděděná v rámci předplatného.
(Volitelné) Zobrazení přístupu pomocí portálu Azure
Pokud chcete zjistit, jak přiřazení rolí vypadají na webu Azure Portal, podívejte se do okna Řízení přístupu (IAM) pro předplatné.
Zobrazte panel Řízení přístupu (IAM) pro 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 přiřazení role Přispěvatel pro uživatele v oboru skupiny prostředků.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Pomocí následujícího příkazu odeberte přiřazení role Čtenář pro uživatele v oboru předplatného.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
Čištění zdrojů
Pokud chcete vyčistit prostředky vytvořené tímto kurzem, odstraňte skupinu prostředků a uživatele.
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 uživatele pomocí příkazu Remove-MgUser .
$User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'" Remove-MgUser -UserId $User.Id