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. 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:

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)

Role assignments for a user

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.

  1. Ve službě Azure Cloud Shell vytvořte heslo, které odpovídá vašim požadavkům na složitost hesla.

    $PasswordProfile = @{ Password = "<Password>" }
    
  2. 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 11111111-1111-1111-1111-111111111111      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ů.

  1. Pomocí příkazu Get-AzLocation získejte seznam umístění oblastí.

    Get-AzLocation | select Location
    
  2. Vyberte umístění blízko vás a přiřaďte ho do proměnné.

    $location = "westus"
    
  3. 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/00000000-0000-0000-0000-000000000000/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.

  1. 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 : 22222222-2222-2222-2222-222222222222
    State    : Enabled
    
  2. Uložte obor předplatného do proměnné.

    $subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
    
  3. 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/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/44444444-4444-4444-4444-444444444444
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : User
    CanDelegate        : False
    
  4. 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/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : User
    CanDelegate        : False
    

Výpis přístupu

  1. 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/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    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.

  2. 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/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : User
    CanDelegate        : False
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    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

  1. 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é.

    Role assignments for a user at subscription scope

  2. Zobrazte okno Řízení přístupu (IAM) pro danou skupinu prostředků.

    Role assignments for a user at resource group scope

Odebrání přístupu

Pokud chcete odebrat přístup pro uživatele, skupiny a aplikace, odeberte přiřazení role pomocí remove-AzRoleAssignment .

  1. 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"
    
  2. 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.

  1. 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"):
    
  2. Po zobrazení výzvy k potvrzení zadejte Y. Odstranění bude trvat několik sekund.

  3. Odstraňte uživatele pomocí příkazu Remove-MgUser .

    $User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'"
    Remove-MgUser -UserId $User.Id
    

Další kroky