Samouczek: udzielanie grupie dostępu do zasobów platformy Azure przy użyciu Azure PowerShell

Kontrola dostępu oparta na rolach (Azure RBAC) umożliwia zarządzanie dostępem do zasobów platformy Azure. W tym samouczku przyznasz grupie dostęp z możliwością wyświetlania wszystkiego w ramach subskrypcji i zarządzania wszystkim w grupie zasobów przy użyciu programu Azure PowerShell.

Ten samouczek zawiera informacje na temat wykonywania następujących czynności:

  • Udzielanie dostępu grupie w innych zakresach
  • Tworzenie listy dostępu
  • Usuwanie dostępu

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Uwaga

Ten artykuł został zaktualizowany o korzystanie z modułu Azure Az programu PowerShell. Moduł Az programu PowerShell jest zalecanym modułem programu PowerShell na potrzeby interakcji z platformą Azure. Aby rozpocząć pracę z modułem Azure PowerShell, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wymagania wstępne

Do ukończenia tego samouczka niezbędne są następujące elementy:

  • Uprawnienia do tworzenia grup w usłudze Azure Active Directory (lub istniejąca grupa)
  • Azure Cloud Shell

Przypisania ról

W celu udzielenia dostępu w usłudze Azure RBAC należy utworzyć przypisanie roli. Przypisanie roli składa się z trzech elementów: podmiotu zabezpieczeń, definicji roli i zakresu. W tym samouczku utworzysz dwa przypisania ról:

Podmiot zabezpieczeń Definicja roli Zakres
Group (Grupa)
(Grupa samouczka kontroli dostępu opartej na rolach)
Czytelnik Subskrypcja
Group (Grupa)
(Grupa samouczka kontroli dostępu opartej na rolach)
Współautor Grupa zasobów
(rbac-tutorial-resource-group)

Przypisania ról dla grupy

Tworzenie grupy

Do przypisania roli potrzebny jest użytkownik, grupa lub jednostka usługi. Jeśli nie masz jeszcze grupy, możesz ją utworzyć.

  • W usłudze Azure Cloud Shell utwórz nową grupę za pomocą polecenia New-AzureADGroup.

    New-AzureADGroup -DisplayName "RBAC Tutorial Group" `
       -MailEnabled $false -SecurityEnabled $true -MailNickName "NotSet"
    
    ObjectId                             DisplayName         Description
    --------                             -----------         -----------
    11111111-1111-1111-1111-111111111111 RBAC Tutorial Group
    

Jeśli nie masz uprawnień do tworzenia grup, możesz skorzystać z samouczka: Udziel użytkownikowi dostępu do zasobów platformy Azure przy użyciu Azure PowerShell zamiast tego.

Tworzenie grupy zasobów

Za pomocą grupy zasobów można zademonstrować przypisywanie roli w zakresie grupy zasobów.

  1. Pobierz listę lokalizacji regionów za pomocą polecenia Get-AzLocation.

    Get-AzLocation | select Location
    
  2. Wybierz lokalizację w pobliżu i przypisz ją do zmiennej.

    $location = "westus"
    
  3. Utwórz nową grupę zasobów za pomocą polecenia 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
    

Udzielanie dostępu

Aby udzielić dostępu grupie, przypisz rolę za pomocą polecenia New-AzRoleAssignment. Należy określić podmiot zabezpieczeń, definicję roli i zakres.

  1. Pobierz identyfikator obiektu grupy za pomocą polecenia Get-AzureADGroup.

    Get-AzureADGroup -SearchString "RBAC Tutorial Group"
    
    ObjectId                             DisplayName         Description
    --------                             -----------         -----------
    11111111-1111-1111-1111-111111111111 RBAC Tutorial Group
    
  2. Zapisz identyfikator obiektu grupy w zmiennej.

    $groupId = "11111111-1111-1111-1111-111111111111"
    
  3. Pobierz identyfikator subskrypcji za pomocą polecenia Get-AzSubscription.

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : 22222222-2222-2222-2222-222222222222
    State    : Enabled
    
  4. Zapisz zakres subskrypcji w zmiennej.

    $subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
    
  5. Przypisz grupie rolę Czytelnik w zakresie subskrypcji.

    New-AzRoleAssignment -ObjectId $groupId `
      -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 Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    
  6. Przypisz grupie rolę Współautor w zakresie grupy zasobów.

    New-AzRoleAssignment -ObjectId $groupId `
      -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 Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

Tworzenie listy dostępu

  1. Aby zweryfikować dostęp do subskrypcji, wyświetl listę przypisań ról za pomocą polecenia Get-AzRoleAssignment.

    Get-AzRoleAssignment -ObjectId $groupId -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 Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

    W danych wyjściowych widać, że do grupy samouczka kontroli dostępu opartej na rolach przypisano rolę Czytelnik w zakresie subskrypcji.

  2. Aby zweryfikować dostęp do grupy zasobów, wyświetl listę przypisań ról za pomocą polecenia Get-AzRoleAssignment.

    Get-AzRoleAssignment -ObjectId $groupId -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 Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    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 Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

    W danych wyjściowych widać, że do grupy samouczka kontroli dostępu opartej na rolach przypisano zarówno rolę Współautor, jak i rolę Czytelnik. Rola Współautor jest przypisana w zakresie rbac-tutorial-resource-group, a rola Czytelnik jest dziedziczona w zakresie subskrypcji.

Opcjonalnie: tworzenie listy dostępu przy użyciu witryny Azure Portal

  1. Aby sprawdzić, jak wyglądają przypisania ról w witrynie Azure Portal, należy wyświetlić blok Kontrola dostępu (IAM) dla subskrypcji.

    Przypisania ról dla grupy w zakresie subskrypcji

  2. Wyświetl blok Kontrola dostępu (IAM) dla grupy zasobów.

    Przypisania ról dla grupy w zakresie grupy zasobów

Usuwanie dostępu

Aby usunąć dostęp dla użytkowników, grup i aplikacji, usuń przypisanie roli za pomocą polecenia Remove-AzRoleAssignment.

  1. Za pomocą następującego polecenia usuń przypisanie roli Współautor dla grupy w zakresie grupy zasobów.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. Za pomocą następującego polecenia usuń przypisanie roli Czytelnik dla grupy w zakresie subskrypcji.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    

Czyszczenie zasobów

Aby wyczyścić zasoby utworzone w tym samouczku, usuń grupę zasobów i grupę.

  1. Usuń grupę zasobów za pomocą polecenia 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. Gdy zostanie wyświetlony monit o potwierdzenie, wpisz Y. Usunięcie może potrwać kilka sekund.

  3. Usuń grupę za pomocą polecenia Remove-AzureADGroup.

    Remove-AzureADGroup -ObjectId $groupId
    

    Jeśli podczas próby usunięcia grupy wystąpi błąd, możesz także usunąć grupę w portalu.

Następne kroki