Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kontrola dostępu oparta na rolach Azure (Azure RBAC, Role Based Access Control) to sposób zarządzania dostępem do zasobów na platformie Azure. W tym samouczku przyznasz grupie dostęp do wyświetlania wszystkiego w subskrypcji i zarządzania wszystkimi elementami w grupie zasobów przy użyciu programu Azure PowerShell.
Z tego samouczka dowiesz się, jak wykonywać następujące działania:
- Nadawanie dostępu grupie w różnych zakresach
- Dostęp do listy
- Usuń dostęp
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Uwaga
Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Aby rozpocząć, 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 Microsoft Entra ID (lub mieć istniejącą grupę)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
Przypisania ról
Aby udzielić dostępu w Azure RBAC, trzeba utworzyć przypisanie roli. Przypisanie roli składa się z trzech elementów: podmiotu zabezpieczeń, definicji roli i zakresu. Poniżej przedstawiono dwa przypisania ról, które wykonasz w tym samouczku:
Podmiot bezpieczeństwa | Definicja roli | Zakres |
---|---|---|
Grupa (Grupa samouczków kontroli dostępu opartej na rolach) |
Czytelnik | Subskrypcja |
Grupa (Grupa samouczków RBAC) |
Współautor | Grupa zasobów (rbac-tutorial-resource-group) |
Tworzenie grupy
Aby przypisać rolę, potrzebujesz użytkownika, grupy lub jednostki usługi. Jeśli nie masz jeszcze grupy, możesz je utworzyć.
W usłudze Azure Cloud Shell utwórz nową grupę przy użyciu polecenia 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 {}
Jeśli nie masz uprawnień do tworzenia grup, możesz wypróbować samouczek: udzielanie użytkownikowi dostępu do zasobów platformy Azure przy użyciu programu Azure PowerShell .
Tworzenie grupy zasobów
Grupa zasobów jest używana do pokazania, jak przypisać rolę na poziomie zakresu grupy zasobów.
Pobierz listę lokalizacji regionów przy użyciu polecenia Get-AzLocation .
Get-AzLocation | select Location
Wybierz lokalizację w pobliżu użytkownika i przypisz ją do zmiennej.
$location = "westus"
Utwórz nową grupę zasobów przy użyciu polecenia 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
Przyznaj dostęp
Aby udzielić dostępu dla grupy, należy użyć polecenia New-AzRoleAssignment w celu przypisania roli. Musisz określić podmiot zabezpieczeń, definicję roli i zakres.
Pobierz identyfikator obiektu grupy przy użyciu polecenia Get-MgGroup .
Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Zapisz identyfikator obiektu grupy w zmiennej.
$groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
Pobierz identyfikator subskrypcji za pomocą polecenia Get-AzSubscription.
Get-AzSubscription
Name : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : Enabled
Zapisz zakres subskrypcji w zmiennej.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
Przypisz rolę Czytelnik do grupy w zakresie subskrypcji.
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
Przypisz rolę Współautor grupie w zakresie grupy zasobów.
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
Dostęp do listy
Aby sprawdzić dostęp do subskrypcji, użyj polecenia Get-AzRoleAssignment , aby wyświetlić listę przypisań ról.
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
W danych wyjściowych widać, że rola Czytelnik została przypisana do Grupy samouczkowej RBAC na poziomie subskrypcji.
Aby sprawdzić dostęp do grupy zasobów, użyj polecenia Get-AzRoleAssignment , aby wyświetlić listę przypisań ról.
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
W danych wyjściowych widać, że role Współautor i Czytelnik zostały przypisane do grupy RBAC Tutorial. Rola Współautora znajduje się w zakresie grupy zasobów rbac-tutorial-resource-group, a rola Czytelnika jest dziedziczona w zakresie subskrypcji.
(Opcjonalnie) Wyświetlanie listy dostępu przy użyciu witryny Azure Portal
Aby zobaczyć, jak wyglądają przypisania ról w portalu Azure, wyświetl blok Kontrola dostępu (IAM) dla subskrypcji.
Wyświetl blok Kontrola dostępu (IAM) dla grupy zasobów.
Usuń dostęp
Aby usunąć dostęp dla użytkowników, grup i aplikacji, użyj polecenia Remove-AzRoleAssignment , aby usunąć przypisanie roli.
Użyj następującego polecenia, aby usunąć przypisanie roli Kontrybutora dla grupy w obrębie grupy zasobów.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Użyj następującego polecenia, aby usunąć 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ę.
Usuń grupę zasobów przy użyciu 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"):
Po wyświetleniu monitu o potwierdzenie wpisz Y. Usunięcie potrwa kilka sekund.
Usuń grupę przy użyciu polecenia Remove-MgGroup .
Remove-MgGroup -GroupID $groupId
Jeśli podczas próby usunięcia grupy wystąpi błąd, możesz również usunąć grupę w portalu.