Zarządzanie rolami niestandardowymi platformy Azure

Ukończone

W trakcie tej lekcji omówimy sposób zarządzania rolami niestandardowymi platformy Azure oraz wskażemy, kto może to robić.

Kto może zarządzać rolami niestandardowymi?

Zasadniczo uprawnienia do tworzenia ról niestandardowych i zarządzania nimi mają administratorzy z rolą Właściciel lub Administrator dostępu użytkowników. Domyślnie te role mają Microsoft.Authorization/roleDefinitions/write uprawnienia do wszystkich zakresów przypisania ról. To uprawnienie jest wymagane do tworzenia, usuwania i aktualizowania ról niestandardowych.

Zakresy przypisania ról są definiowane w niestandardowej definicji roli w funkcji AssignableScopes. Zgodnie z informacjami w lekcji 2 właściwość AssignableScopes może obejmować subskrypcję, grupę zasobów, zasób lub więcej takich elementów.

W poniższej tabeli wymieniono uprawnienia potrzebne do tworzenia, usuwania, aktualizowania lub wyświetlania ról niestandardowych. Aby zarządzać rolami niestandardowymi, należy przypisać do roli, która ma powiązane akcje i assignableScopes w definicji roli.

Zadanie Akcje opis
Tworzenie/usuwanie Microsoft.Authorization/roleDefinitions/write Użytkownicy mogą tworzyć i usuwać role niestandardowe przeznaczone do używania w zakresach. Na przykład: Właściciele i administratorzy dostępu użytkowników subskrypcji, grup zasobów i zasobów.
Update Microsoft.Authorization/roleDefinitions/write Użytkownicy mogą aktualizować role niestandardowe w zakresach. Na przykład: Właściciele i administratorzy dostępu użytkowników subskrypcji, grup zasobów i zasobów.
Widok Microsoft.Authorization/roleDefinitions/read Użytkownicy mogą wyświetlać role niestandardowe dostępne do przypisania w zakresie. Wszystkie role wbudowane umożliwiają udostępnianie ról niestandardowych do przypisania.

Tworzenie ról niestandardowych

W poprzedniej lekcji utworzono rolę niestandardową przy użyciu interfejsu wiersza polecenia platformy Azure. Rolę niestandardową można też utworzyć przy użyciu witryny Azure Portal lub programu Azure PowerShell.

Tworzenie ról niestandardowych za pomocą witryny Azure Portal

W witrynie Azure Portal przejdź do subskrypcji lub grupy zasobów, do której ma być stosowany zakres roli niestandardowej, a następnie przejdź do pozycji Kontrola dostępu (IAM) i wybierz pozycję Dodaj>rolę niestandardową.

Zrzut ekranu przedstawiający opcję Dodaj rolę niestandardową w obszarze przycisku Dodaj.

Możesz sklonować istniejącą rolę lub utworzyć ją od zera.

Zrzut ekranu przedstawiający wybrany przycisk radiowy klonowania roli i rolę do sklonowania: Współautor maszyny wirtualnej.

Bez względu na to, która opcja zostanie wybrana, można edytować uprawnienia, zakresy i wynikowy kod JSON.

Tworzenie roli niestandardowej za pomocą programu Azure PowerShell

Kroki związane z tworzeniem roli przy użyciu programu Azure PowerShell są podobne do czynności omówionych w poprzednich dwóch lekcjach. Po zdefiniowaniu roli niestandardowej w pliku JSON użyj następującego polecenia w interfejsie wiersza polecenia platformy Azure, aby utworzyć rolę niestandardową:

az role definition create --role-definition vm-operator-role.json

Aby utworzyć rolę w programie Azure PowerShell, uruchom następujące polecenie:

New-AzRoleDefinition -InputFile "vm-operator-role.json"

Aktualizowanie ról niestandardowych

Aby zaktualizować rolę niestandardową, możesz użyć interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. W następnej lekcji omówisz konkretne kroki aktualizacji niestandardowej definicji roli; ale ogólnie po zaktualizowaniu pliku JSON za pomocą zmian uruchomisz jedno z następujących poleceń.

Aby zaktualizować rolę niestandardową przy użyciu interfejsu wiersza polecenia platformy Azure, uruchom następujące polecenie ze ścieżką do pliku JSON zawierającego aktualizacje:

az role definition update --role-definition "<<path-to-json-file>>"

W programie Azure PowerShell uruchom następujące polecenie ze ścieżką do zaktualizowanego pliku JSON:

Set-AzRoleDefinition -InputFile "<<path-to-json-file>>"

Wyświetlanie ról niestandardowych

W następnej lekcji dowiesz się, jak wyświetlać role niestandardowe w witrynie Azure Portal. Używając interfejsu wiersza polecenia platformy Azure lub programu PowerShell, można też uzyskać listę ról niestandardowych.

Aby wyświetlić listę wszystkich ról niestandardowych przy użyciu interfejsu wiersza polecenia platformy Azure, użyj następującego polecenia:

az role definition list --custom-role-only true --output json | jq '.[] | {"roleName":.roleName, "roleType":.roleType}'

To polecenie sprawdza tylko nazwę i typ roli. Ułatwia to wyświetlanie wielu ról.

Aby wyświetlić wszystkie role niestandardowe przy użyciu programu Azure PowerShell, użyj poniższego polecenia. To polecenie wyświetla listę ról niestandardowych, które są dostępne do przypisania w subskrypcji. Jeśli dana subskrypcja nie należy do właściwości AssignableScopes roli, ta rola niestandardowa nie zostanie wyświetlona.

Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom

Wyświetlanie definicji roli

Aby wyświetlić pełną definicję określonej roli, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure:

az role definition list --name "Virtual Machine Operator"

Aby wyświetlić definicję w programie PowerShell, użyj następującego polecenia:

Get-AzRoleDefinition "Virtual Machine Operator" 

Wyświetlanie przypisań roli niestandardowej

Poniższe polecenie pozwala sprawdzić, kto jest przypisany do roli niestandardowej utworzonej w interfejsie wiersza polecenia platformy Azure:

az role assignment list --role "Virtual Machine Operator"

W przypadku programu PowerShell użyj następującego polecenia:

Get-AzRoleAssignment -RoleDefinitionName "Virtual Machine Operator"

Usuwanie ról niestandardowych

Do ćwiczeń w następnej lekcji potrzebna jest rola niestandardowa utworzona w poprzedniej lekcji, więc nie usuwaj jeszcze roli niestandardowej. Najpierw omówimy sposób usuwania ról niestandardowych.

Usuwanie przypisań ról

Jeśli rola niestandardowa przestała być potrzebna, przed jej usunięciem należy usunąć jej przypisania.

W witrynie Azure Portal można usunąć przypisania, przechodząc do elementu, którego dotyczy zakres roli niestandardowej (subskrypcji, grupy zasobów lub zasobu). Następnie wybierz pozycję Kontrola dostępu (IAM)>Przypisania ról. Filtruj według nazwy roli, zaznacz wszystkich użytkowników przypisanych do roli, a następnie wybierz pozycję Usuń.

W interfejsie wiersza polecenia platformy Azure użyj następującego polecenia z nazwą roli niestandardowej:

   az role assignment delete --role "role name"

W programie Azure PowerShell użyj polecenia cmdlet Remove-AzRoleAssignment. Polecenie może wyglądać mniej więcej tak:

Remove-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionName "role name" -Scope /subscriptions/<subscription_id>

ObjectID to Microsoft Entra ObjectId użytkownika, grupy lub jednostki usługi.

Usuwanie roli niestandardowej

Rolę niestandardową można usunąć przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.

W witrynie Azure Portal przejdź do subskrypcji, grupy zasobów lub zasobu, do którego ma zastosowanie zakres roli niestandardowej, a następnie przejdź do pozycji Role kontroli dostępu (IAM).> Aby znaleźć rolę, wybierz pozycję Typ>CustomRole.

Zrzut ekranu ilustrujący role niestandardowe wybrane z listy rozwijanej.

Wybierz rolę, a następnie wybierz pozycję Usuń.

W następnej lekcji użyjesz następującego polecenia, aby usunąć rolę niestandardową przy użyciu interfejsu wiersza polecenia platformy Azure:

az role definition delete --name "role name"

W programie PowerShell użyj następującego polecenia, aby usunąć rolę:

Get-AzRoleDefinition "role name" | Remove-AzRoleDefinition

Sprawdź swoją wiedzę

1.

Jakie polecenie cmdlet programu Azure PowerShell służy do aktualizowania roli niestandardowej?

2.

Jaka jest procedura usuwania roli niestandardowej?