Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz 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 użytkownikowi 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:
- Udzielanie dostępu użytkownikowi 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 użytkowników w identyfikatorze Entra firmy Microsoft (lub mają istniejącego użytkownika)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
Przypisania ról
Aby udzielić dostępu w kontroli dostępu na podstawie ról platformy Azure, należy 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 | Scope |
|---|---|---|
| Użytkownik (Użytkownik samouczka RBAC) |
Czytelnik | Subskrypcja |
| Użytkownik (Użytkownik samouczka RBAC) |
Współautor | Grupa zasobów (rbac-tutorial-resource-group) |
Przypisania ról dla użytkownika
Tworzenie użytkownika
Aby przypisać rolę, potrzebujesz użytkownika, grupy lub jednostki usługi. Jeśli jeszcze nie masz użytkownika, możesz go utworzyć.
W usłudze Azure Cloud Shell utwórz hasło zgodne z wymaganiami dotyczącymi złożoności hasła.
$PasswordProfile = @{ Password = "<Password>" }Utwórz nowego użytkownika dla domeny przy użyciu polecenia New-MgUser .
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
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 LocationWybierz 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 $locationResourceGroupName : 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 użytkownikowi, użyj polecenia New-AzRoleAssignment , aby przypisać rolę. Musisz określić podmiot zabezpieczeń, definicję roli i zakres.
Pobierz identyfikator subskrypcji za pomocą polecenia Get-AzSubscription.
Get-AzSubscriptionName : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : EnabledZapisz zakres subskrypcji w zmiennej.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"Przypisz użytkownikowi rolę Czytelnik w zakresie subskrypcji.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScopeRoleAssignmentId : /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 : FalsePrzypisz użytkownikowi rolę Współautor w zakresie grupy zasobów.
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
Dostęp do listy
Aby sprawdzić dostęp do subskrypcji, użyj polecenia Get-AzRoleAssignment , aby wyświetlić listę przypisań ról.
Get-AzRoleAssignment -SignInName rbacuser@example.com -Scope $subScopeRoleAssignmentId : /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 : FalseW danych wyjściowych widać, że rola Czytelnik została przypisana do użytkownika samouczka kontroli dostępu opartej na rolach w zakresie subskrypcji.
Aby sprawdzić dostęp do grupy zasobów, użyj polecenia Get-AzRoleAssignment , aby wyświetlić listę przypisań ról.
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 : FalseW danych wyjściowych widać, że zarówno role Współautor, jak i Czytelnik zostały przypisane do użytkownika samouczka kontroli dostępu opartej na rolach. Rola Współautor znajduje się w zakresie rbac-tutorial-resource-group, a rola Czytelnik 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 witrynie Azure Portal, 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 Współautor dla użytkownika w zakresie grupy zasobów.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"Użyj następującego polecenia, aby usunąć przypisanie roli Czytelnik dla użytkownika w zakresie subskrypcji.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
Czyszczenie zasobów
Aby wyczyścić zasoby utworzone w tym samouczku, usuń grupę zasobów i użytkownika.
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ń użytkownika przy użyciu polecenia Remove-MgUser .
$User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'" Remove-MgUser -UserId $User.Id