Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli wbudowane role platformy Azure nie spełniają specyficznych potrzeb Twojej organizacji, możesz tworzyć własne role niestandardowe. Podobnie jak w przypadku ról wbudowanych, można przypisywać role niestandardowe do użytkowników, grup i jednostek usługi w zakresach grup zarządzania, subskrypcji i grup zasobów.
Role niestandardowe mogą być współużytkowane między subskrypcjami, które ufają temu samemu dzierżawcy platformy Microsoft Entra. Istnieje limit 5000 ról niestandardowych na najemcę. (W przypadku platformy Microsoft Azure obsługiwanej przez firmę 21Vianet limit wynosi 2000 ról niestandardowych). Role niestandardowe można tworzyć przy użyciu witryny Azure Portal, programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST.
Kroki tworzenia roli niestandardowej
Poniżej przedstawiono podstawowe kroki tworzenia roli niestandardowej.
Określ potrzebne uprawnienia.
Podczas tworzenia roli niestandardowej musisz znać akcje, które są dostępne do zdefiniowania uprawnień. Zazwyczaj zaczynasz od istniejącej wbudowanej roli, a następnie zmodyfikuj ją zgodnie z potrzebami. Dodasz akcje do właściwości
ActionslubNotActionsw definicji roli. Jeśli masz akcje danych, dodasz je do właściwościDataActionslubNotDataActions.Aby uzyskać więcej informacji, zobacz następną sekcję Jak określić potrzebne uprawnienia.
Zdecyduj, w jaki sposób chcesz utworzyć niestandardową rolę.
Role niestandardowe można tworzyć przy użyciu witryny Azure Portal, programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST.
Utwórz rolę niestandardową.
Najprostszym sposobem jest użycie witryny Azure Portal. Aby uzyskać instrukcje dotyczące tworzenia roli niestandardowej przy użyciu witryny Azure Portal, zobacz Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu witryny Azure Portal.
Przetestuj rolę niestandardową.
Po utworzeniu roli niestandardowej należy ją przetestować, aby sprawdzić, czy działa zgodnie z oczekiwaniami. Jeśli musisz później wprowadzić korekty, możesz zaktualizować rolę niestandardową.
Jak określić potrzebne uprawnienia
Platforma Azure ma tysiące uprawnień, które potencjalnie można uwzględnić w roli niestandardowej. Poniżej przedstawiono niektóre metody, które mogą pomóc w określeniu uprawnień, które chcesz dodać do roli niestandardowej:
Przyjrzyj się istniejącym wbudowanym rolom.
Możesz zmodyfikować istniejącą rolę lub połączyć uprawnienia używane w wielu rolach.
Wyświetl listę usług platformy Azure, do których chcesz udzielić dostępu.
Określ dostawców zasobów odpowiadających usługom platformy Azure.
Usługi platformy Azure udostępniają swoje funkcje i uprawnienia za pośrednictwem dostawców zasobów. Na przykład dostawca zasobów Microsoft.Compute dostarcza zasoby maszyn wirtualnych, a dostawca zasobów Microsoft.Billing dostarcza zasoby subskrypcji i rozliczeń. Znajomość dostawców zasobów może pomóc w zawężaniu i określaniu uprawnień potrzebnych do roli niestandardowej.
Podczas tworzenia roli niestandardowej przy użyciu witryny Azure Portal można również określić dostawców zasobów, wyszukując słowa kluczowe. Ta funkcja wyszukiwania została opisana w temacie Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu witryny Azure Portal.
Wyszukaj dostępne uprawnienia , aby znaleźć uprawnienia, które chcesz uwzględnić.
Podczas tworzenia roli niestandardowej przy użyciu witryny Azure Portal możesz wyszukać uprawnienia według słowa kluczowego. Możesz na przykład wyszukać uprawnienia dotyczące maszyny wirtualnej lub rozliczeń . Możesz również pobrać wszystkie uprawnienia jako plik CSV, a następnie wyszukać ten plik. Ta funkcja wyszukiwania została opisana w temacie Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu witryny Azure Portal.
Przykład roli niestandardowej
Poniższy przykład pokazuje, jak rola niestandardowa jest wyświetlana w programie Azure PowerShell w formacie JSON. Ta rola niestandardowa może służyć do monitorowania i ponownego uruchamiania maszyn wirtualnych.
{
"Name": "Virtual Machine Operator",
"Id": "88888888-8888-8888-8888-888888888888",
"IsCustom": true,
"Description": "Can monitor and restart virtual machines.",
"Actions": [
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Support/*"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}",
"/providers/Microsoft.Management/managementGroups/{groupId1}"
]
}
Poniżej przedstawiono tę samą rolę niestandardową, jak wyświetlana za pomocą interfejsu wiersza polecenia platformy Azure.
[
{
"assignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}",
"/providers/Microsoft.Management/managementGroups/{groupId1}"
],
"description": "Can monitor and restart virtual machines.",
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/88888888-8888-8888-8888-888888888888",
"name": "88888888-8888-8888-8888-888888888888",
"permissions": [
{
"actions": [
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Support/*"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "Virtual Machine Operator",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
]
Właściwości roli niestandardowej
W poniższej tabeli opisano, co oznaczają właściwości roli niestandardowej.
| Property | Required | Typ | Description |
|---|---|---|---|
NameroleName |
Yes | String | Nazwa wyświetlana roli niestandardowej. Chociaż definicja roli jest grupą zarządzania lub zasobem na poziomie subskrypcji, może być używana w wielu subskrypcjach, które współdzielą tę samą dzierżawę Microsoft Entra. Ta nazwa wyświetlana musi być unikatowa w obrębie dzierżawcy Microsoft Entra. Może zawierać litery, cyfry, spacje i znaki specjalne. Zalecana wartość maksymalna: 256 znaków. |
Idname |
Yes | String | Unikalny identyfikator roli niestandardowej. W przypadku programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure ten identyfikator jest generowany automatycznie podczas tworzenia nowej roli. |
IsCustomroleType |
Yes | String | Wskazuje, czy jest to rola niestandardowa. Ustaw na true lub CustomRole dla ról niestandardowych. Ustaw na false lub BuiltInRole dla ról wbudowanych. |
Descriptiondescription |
Yes | String | Opis roli niestandardowej. Może zawierać litery, cyfry, spacje i znaki specjalne. Zalecana wartość maksymalna: 512 znaków. |
Actionsactions |
Yes | String[] | Tablica ciągów, która określa akcje płaszczyzny sterowania, które rola umożliwia wykonywać. Aby uzyskać więcej informacji, zobacz Akcje. |
NotActionsnotActions |
No | String[] | Tablica ciągów, która określa akcje płaszczyzny sterowania, które są wyłączone z dozwolonej konfiguracji Actions. Aby uzyskać więcej informacji, zobacz NotActions . |
DataActionsdataActions |
No | String[] | Tablica ciągów, która określa akcje dotyczące płaszczyzny danych, jakie rola umożliwia wykonywać na danych wewnątrz danego obiektu. Jeśli tworzysz rolę niestandardową za pomocą DataActions polecenia, ta rola nie może być przypisana w zakresie grupy zarządzania. Aby uzyskać więcej informacji, zobacz DataActions. |
NotDataActionsnotDataActions |
No | String[] | Tablica ciągów znakowych określająca akcje płaszczyzny danych, które są wykluczone z dozwolonego elementu DataActions. Aby uzyskać więcej informacji, zobacz NotDataActions. |
AssignableScopesassignableScopes |
Yes | String[] | Tablica ciągów, która określa zakresy, dla których rola niestandardowa jest dostępna do przypisania. Maksymalna liczba AssignableScopes to 2000. Aby uzyskać więcej informacji, zobacz AssignableScopes. |
Ciągi uprawnień są bez uwzględniania wielkości liter. Podczas tworzenia ról niestandardowych konwencja jest zgodna z przypadkiem widocznym dla uprawnień w operacjach dostawcy zasobów platformy Azure.
Uprawnienia z użyciem symboli wieloznacznych
Actions, , NotActionsDataActionsi NotDataActions obsługują symbole wieloznaczne (*) w celu zdefiniowania uprawnień. Symbol wieloznaczności (*) rozszerza uprawnienia na wszystkie elementy zgodne z określonym przez Ciebie ciągiem akcji. Załóżmy na przykład, że chcesz dodać wszystkie uprawnienia związane z usługą Microsoft Cost Management i eksportami. Możesz dodać wszystkie te ciągi akcji:
Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/delete
Microsoft.CostManagement/exports/run/action
Zamiast dodawać wszystkie te ciągi, wystarczy dodać ciąg wieloznaczny. Na przykład następujący ciąg wieloznaczny jest odpowiednikiem poprzednich pięciu ciągów. Obejmuje to również wszelkie przyszłe uprawnienia eksportu, które mogą zostać dodane.
Microsoft.CostManagement/exports/*
Note
Zaleca się określenie Actions i DataActions jawnie zamiast używania symbolu wieloznakowego (*). Dodatkowy dostęp i uprawnienia przyznane w przyszłości Actions lub DataActions mogą być niepożądanym zachowaniem przy użyciu symbolu wieloznacznego.
Kto może tworzyć, usuwać, aktualizować lub wyświetlać rolę niestandardową
Podobnie jak role wbudowane, właściwość AssignableScopes określa zakresy, w których rola jest dostępna do przypisania. Właściwość AssignableScopes roli niestandardowej kontroluje również, kto może tworzyć, usuwać, aktualizować lub wyświetlać rolę niestandardową.
| Task | Action | Description |
|---|---|---|
| Tworzenie/usuwanie roli niestandardowej | Microsoft.Authorization/ roleDefinitions/write |
Użytkownicy, którym przyznano tę akcję dla wszystkich AssignableScopes ról niestandardowych, mogą tworzyć (lub usuwać) role niestandardowe do użycia w tych zakresach. Na przykład właściciele i administratorzy dostępu użytkowników grup zarządzania, subskrypcji i grup zasobów. |
| Aktualizacja roli niestandardowej | Microsoft.Authorization/ roleDefinitions/write |
Użytkownicy, którym przyznano tę akcję dla wszystkich AssignableScopes ról niestandardowych, mogą aktualizować role niestandardowe w tych zakresach. Na przykład właściciele i administratorzy dostępu użytkowników grup zarządzania, subskrypcji i grup zasobów. |
| Wyświetl rolę niestandardową | Microsoft.Authorization/ roleDefinitions/read |
Użytkownicy, którym przyznano tę akcję w zakresie, mogą wyświetlać role niestandardowe, które są dostępne do przypisania w tym zakresie. Wszystkie role wbudowane pozwalają na przypisywanie ról niestandardowych. |
Note
Nawet jeśli nazwa roli zostanie zmieniona, identyfikator roli nie ulegnie zmianie. Jeśli używasz skryptów lub automatyzacji do tworzenia przypisań ról, najlepszym rozwiązaniem jest użycie unikatowego identyfikatora roli zamiast nazwy roli. W związku z tym, jeśli nazwa roli zostanie zmieniona, istnieje większe prawdopodobieństwo, że skrypty będą działać poprawnie.
Znajdowanie przypisań ról w celu usunięcia roli niestandardowej
Przed usunięciem roli niestandardowej należy usunąć wszystkie przypisania ról używające roli niestandardowej. Jeśli spróbujesz usunąć rolę niestandardową z przypisaniami ról, zostanie wyświetlony komunikat: There are existing role assignments referencing role (code: RoleDefinitionHasAssignments).
Poniżej przedstawiono kroki ułatwiające znalezienie przydzielonych ról, zanim usuniesz rolę niestandardową:
- Wymień definicję roli niestandardowej.
- W sekcji AssignableScopes uzyskaj dostęp do grup zarządzania, subskrypcji i grup zasobów.
- Iteruj na liście
AssignableScopesi przypisań ról. - Usuń przypisania ról , które używają roli niestandardowej.
- Jeśli używasz usługi Microsoft Entra Privileged Identity Management, usuń kwalifikujące się przypisania ról niestandardowych.
- Usuń rolę niestandardową.
Aby uzyskać informacje na temat znajdowania nieużywanych ról niestandardowych, zobacz Objaw — nie można utworzyć więcej definicji ról.
Limity ról niestandardowych
Na poniższej liście opisano limity ról niestandardowych.
- Każda dzierżawa może mieć maksymalnie 5000 ról niestandardowych.
- Platforma Microsoft Azure, zarządzana przez 21Vianet, może mieć do 2000 ról niestandardowych dla każdego dzierżawcy.
- Nie można ustawić
AssignableScopesna zakres główny ("/"). - Nie można używać symboli wieloznacznych (
*) w plikuAssignableScopes. To ograniczenie symboli wieloznacznych pomaga zagwarantować, że użytkownik nie może potencjalnie uzyskać dostępu do zakresu, aktualizując definicję roli. - W łańcuchu akcji można mieć tylko jeden symbol wieloznaczny.
- W niestandardowej roli można zdefiniować tylko jedną grupę zarządzania
AssignableScopes. - Usługa Azure Resource Manager nie weryfikuje istnienia grupy zarządzania w definicji
AssignableScopesroli . - Ról niestandardowych z
DataActionsnie można przypisać w zakresie grupy zarządzania. - Rolę niestandardową można utworzyć za pomocą polecenia
DataActionsi jedną grupę zarządzania w programieAssignableScopes. Nie można przypisać roli niestandardowej w samym zakresie grupy zarządzania; można jednak przypisać rolę niestandardową w zakresie subskrypcji w grupie zarządzania. Może to być przydatne, jeśli potrzebujesz utworzyć jedną spersonalizowaną rolę zDataActions, która musi być przypisana w wielu subskrypcjach, zamiast tworzyć osobne role niestandardowe dla każdej subskrypcji.
Aby uzyskać więcej informacji na temat ról niestandardowych i grup zarządzania, zobacz Co to są grupy zarządzania platformy Azure?.
Formaty danych wejściowych i wyjściowych
Aby utworzyć rolę niestandardową przy użyciu wiersza polecenia, zazwyczaj używasz formatu JSON do określania właściwości, które mają być używane dla roli niestandardowej. W zależności od używanych narzędzi formaty danych wejściowych i wyjściowych będą wyglądać nieco inaczej. W tej sekcji wymieniono formaty danych wejściowych i wyjściowych w zależności od narzędzia.
Azure PowerShell
Aby utworzyć rolę niestandardową przy użyciu programu Azure PowerShell, należy podać następujące dane wejściowe.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Aby zaktualizować rolę niestandardową przy użyciu programu Azure PowerShell, należy podać następujące dane wejściowe. Należy pamiętać, że Id właściwość została dodana.
{
"Name": "",
"Id": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Poniżej przedstawiono przykład danych wyjściowych wyświetlanych podczas wyświetlania listy roli niestandardowej przy użyciu programu Azure PowerShell i polecenia ConvertTo-Json .
{
"Name": "",
"Id": "",
"IsCustom": true,
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Azure CLI
Aby utworzyć lub zaktualizować rolę niestandardową przy użyciu interfejsu wiersza polecenia platformy Azure, musisz podać następujące dane wejściowe. Ten format jest taki sam, gdy tworzysz rolę niestandardową przy użyciu programu Azure PowerShell.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Poniżej przedstawiono przykład danych wyjściowych wyświetlanych podczas wyświetlania listy roli niestandardowej przy użyciu interfejsu wiersza polecenia platformy Azure.
[
{
"assignableScopes": [],
"description": "",
"id": "",
"name": "",
"permissions": [
{
"actions": [],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
]
interfejs API REST
Aby utworzyć lub zaktualizować rolę niestandardową przy użyciu interfejsu API REST, należy podać następujące dane wejściowe. Ten format jest tym samym formatem, który jest generowany podczas tworzenia roli niestandardowej przy użyciu witryny Azure Portal.
{
"properties": {
"roleName": "",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
Poniżej przedstawiono przykład danych wyjściowych podczas wyświetlania listy roli niestandardowej przy użyciu interfejsu API REST.
{
"properties": {
"roleName": "",
"type": "CustomRole",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
],
"createdOn": "",
"updatedOn": "",
"createdBy": "",
"updatedBy": ""
},
"id": "",
"type": "Microsoft.Authorization/roleDefinitions",
"name": ""
}