Samouczek: tworzenie roli niestandardowej platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure
Jeśli wbudowane role platformy Azure nie spełniają konkretnych potrzeb organizacji, możesz utworzyć własne role niestandardowe. W tym samouczku utworzysz rolę niestandardową o nazwie Reader Support Tickets przy użyciu interfejsu wiersza polecenia platformy Azure. Rola niestandardowa umożliwia użytkownikowi wyświetlanie wszystkich elementów w płaszczyźnie sterowania subskrypcji, a także otwieranie biletów pomocy technicznej.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Tworzenie roli niestandardowej
- Wyświetlanie ról niestandardowych
- Aktualizacja roli niestandardowej
- Usuwanie roli niestandardowej
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Do ukończenia tego samouczka niezbędne są następujące elementy:
- Uprawnienia do tworzenia ról niestandardowych, takich jak Administracja istrator dostępu użytkowników
- Azure Cloud Shell lub interfejs wiersza polecenia platformy Azure
Logowanie do interfejsu wiersza polecenia platformy Azure
Zaloguj się do interfejsu wiersza polecenia platformy Azure.
Tworzenie roli niestandardowej
Najprostszym sposobem na utworzenie roli niestandardowej jest rozpoczęcie od szablonu JSON, dodanie własnych zmian, a następnie utworzenie nowej roli.
Przejrzyj listę akcji dostawcy zasobów Microsoft.Support. Warto znać akcje, które są dostępne do tworzenia uprawnień.
Akcja opis Microsoft.Support/register/action Przeprowadza rejestrację u dostawcy zasobów pomocy technicznej Microsoft.Support/supportTickets/read Pobiera szczegóły biletu pomocy technicznej (w tym stan, ważność, szczegóły dotyczące kontaktu i komunikacji) lub pobiera listę biletów pomocy technicznej dla różnych subskrypcji. Microsoft.Support/supportTickets/write Tworzy lub aktualizuje bilet pomocy technicznej. Można utworzyć bilet pomocy technicznej dotyczący problemów technicznych, rozliczeń, limitów przydziału lub problemów związanych z zarządzaniem subskrypcją. Można także zaktualizować ważność, szczegóły dotyczące kontaktu i komunikacji dla istniejących biletów pomocy technicznej. Utwórz nowy plik o nazwie ReaderSupportRole.json.
Otwórz plik ReaderSupportRole.json w edytorze i dodaj następujący kod JSON.
Aby uzyskać informacje o różnych właściwościach, zobacz Role niestandardowe platformy Azure.
{ "Name": "", "IsCustom": true, "Description": "", "Actions": [], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/{subscriptionId1}" ] }
Dodaj następujące akcje do
Actions
właściwości . Te akcje umożliwią użytkownikowi przeglądanie całej zawartości subskrypcji i tworzenie biletów pomocy technicznej."*/read", "Microsoft.Support/*"
Pobierz identyfikator subskrypcji za pomocą polecenia az account list.
az account list --output table
We właściwości
AssignableScopes
zastąp element{subscriptionId1}
identyfikatorem subskrypcji.Musisz jawnie dodać identyfikatory subskrypcji, ponieważ w przeciwnym razie nie będzie można zaimportować roli do subskrypcji.
Zmień właściwości
Name
iDescription
na „Reader Support Tickets” i „View everything in the subscription and also open support tickets”.Zawartość pliku JSON powinna wyglądać następująco:
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
Aby utworzyć nową rolę niestandardową, użyj polecenia az role definition create i określ plik definicji roli JSON.
az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"
{ "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }
Nowa rola niestandardowa jest teraz dostępna i można ją przypisywać do użytkowników, grup lub jednostek usług tak samo jak role wbudowane.
Wyświetlanie ról niestandardowych
Aby wyświetlić listę wszystkich ról niestandardowych, użyj polecenia az role definition list z parametrem
--custom-role-only
.az role definition list --custom-role-only true
[ { "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*", "Microsoft.Insights/diagnosticSettings/*/read" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" } ]
Rolę niestandardową można również sprawdzić w witrynie Azure Portal.
Aktualizacja roli niestandardowej
Aby zaktualizować rolę niestandardową, zaktualizuj plik JSON, a następnie zaktualizuj rolę niestandardową.
Otwórz plik ReaderSupportRole.json.
W
Actions
pliku dodaj akcję , aby utworzyć wdrożenia"Microsoft.Resources/deployments/*"
grup zasobów i zarządzać nimi. Pamiętaj, aby uwzględnić przecinek po poprzedniej akcji.Zaktualizowany plik JSON powinien wyglądać następująco:
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
Aby zaktualizować rolę niestandardową, użyj polecenia az role definition update i określ zaktualizowany plik JSON.
az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"
{ "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }
Usuwanie roli niestandardowej
Użyj polecenia az role definition delete i określ nazwę lub identyfikator roli w celu usunięcia roli niestandardowej.
az role definition delete --name "Reader Support Tickets"