Kurz: Udělení přístupu uživatelů 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 uživateli 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 uživatele 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í 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. Tady jsou dvě přiřazení rolí, která v tomto kurzu provedete:
Objekt zabezpečení | Definice role | Obor |
---|---|---|
Uživatelská (RBAC Tutorial User) |
Čtenář | Předplatné |
Uživatelská (RBAC Tutorial User) |
Přispěvatel | Skupina prostředků (rbac-tutorial-resource-group) |
Vytvoření uživatele
Pro přiřazení role potřebujete uživatele, skupinu nebo instanční objekt. Pokud uživatele ještě nemáte, můžete ho vytvořit.
Ve službě Azure Cloud Shell vytvořte heslo, které odpovídá vašim požadavkům 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ž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 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
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 -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 se uživateli RBAC Tutorial User 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 -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 se uživateli RBAC Tutorial User 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 uživateli přiřazení role Přispěvatel 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 uživateli přiřazení role Čtenář v oboru předplatného.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -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 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