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 (RBAC) platformy Azure to system autoryzacji używany do zarządzania dostępem do zasobów platformy Azure. Aby udzielić dostępu, należy przydzielić role użytkownikom, grupom, jednostkom usługowym lub tożsamościom zarządzanym w określonym zakresie. W tym artykule opisano sposób przypisywania ról przy użyciu interfejsu API REST.
Wymagania wstępne
Aby przypisać role platformy Azure, musisz mieć następujące elementy:
-
Microsoft.Authorization/roleAssignments/writeuprawnienia, takie jak administrator kontroli dostępu opartej na rolach lub administrator dostępu użytkowników
Należy użyć następujących wersji:
-
2015-07-01lub później, aby przypisać rolę Azure -
2018-09-01-previewlub nowsza wersja, aby przypisać rolę Azure do nowego głównego składnika usługi
Aby uzyskać więcej informacji, zobacz wersje interfejsów API REST RBAC platformy Azure.
Przypisywanie roli platformy Azure
Aby przypisać rolę, użyj interfejsu API REST Role Assignments - Create i określ podmiot zabezpieczeń, definicję roli oraz zakres. Aby wywołać ten interfejs API, musisz mieć dostęp do Microsoft.Authorization/roleAssignments/write akcji, takiej jak Administrator kontroli dostępu opartej na rolach.
Użyj Role Definitions - List API REST lub zobacz Wbudowane role, aby uzyskać identyfikator definicji roli, którą chcesz przypisać.
Użyj narzędzia GUID, aby wygenerować unikatowy identyfikator, który będzie używany dla identyfikatora przypisania roli. Identyfikator ma format:
00000000-0000-0000-0000-000000000000Zacznij od następującego żądania i treści:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01{ "properties": { "roleDefinitionId": "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "principalId": "{principalId}" } }W identyfikatorze URI zastąp #B0 {scope} #C1 zakresem przypisania roli.
Zakres Typ providers/Microsoft.Management/managementGroups/{groupId1}Grupa zarządzania subscriptions/{subscriptionId1}Subskrypcja subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1Grupa zasobów subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1Zasób W poprzednim przykładzie microsoft.web jest dostawcą zasobów, który odnosi się do instancji App Service. Podobnie można użyć dowolnego innego dostawcy zasobów i określić zakres. Aby uzyskać więcej informacji, zobacz Dostawcy i typy zasobów platformy Azure oraz obsługiwane operacje dostawcy zasobów platformy Azure.
Zastąp element {roleAssignmentId} identyfikatorem GUID przypisania roli.
W treści żądania zastąp element {scope} tym samym zakresem co w identyfikatorze URI.
Zastąp element {roleDefinitionId} identyfikatorem definicji roli.
Zastąp #B0 {principalId} #C1 identyfikatorem obiektu użytkownika, grupy lub jednostki usługi, która zostanie przypisana do roli.
Następujące żądanie i treść przypisuje użytkownikowi rolę Czytelnik kopii zapasowych w zakresie subskrypcji:
PUT https://management.azure.com/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}?api-version=2022-04-01
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
"principalId": "{objectId1}"
}
}
Poniżej przedstawiono przykład danych wyjściowych:
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
"principalId": "{objectId1}",
"principalType": "User",
"scope": "/subscriptions/{subscriptionId1}",
"condition": null,
"conditionVersion": null,
"createdOn": "2022-05-06T23:55:23.7679147Z",
"updatedOn": "2022-05-06T23:55:23.7679147Z",
"createdBy": null,
"updatedBy": "{updatedByObjectId1}",
"delegatedManagedIdentityResourceId": null,
"description": null
},
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
"type": "Microsoft.Authorization/roleAssignments",
"name": "{roleAssignmentId1}"
}
Nowa jednostka usługi
Jeśli tworzysz nową jednostkę usługi i natychmiast spróbujesz przypisać rolę do tej jednostki usługi, przypisanie tej roli może zakończyć się niepowodzeniem w niektórych przypadkach. Jeśli na przykład utworzysz nową tożsamość zarządzaną, a następnie spróbujesz przypisać rolę do tej jednostki usługi, przypisanie roli może zakończyć się niepowodzeniem. Przyczyną tego błędu jest prawdopodobnie opóźnienie replikacji. Główna jednostka usługi jest tworzona w jednym regionie, ale przypisanie roli może zostać dokonane w innym regionie, gdzie jednostka usługi nie została jeszcze zreplikowana.
Aby rozwiązać ten scenariusz, użyj interfejsu API REST Role Assignments - Create i ustaw właściwość principalType na ServicePrincipal. Trzeba również ustawić apiVersion na 2018-09-01-preview lub później.
2022-04-01 jest pierwszą stabilną wersją.
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
{
"properties": {
"roleDefinitionId": "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}",
"principalId": "{principalId}",
"principalType": "ServicePrincipal"
}
}
Następne kroki
- Lista przypisań ról Azure za pomocą interfejsu API REST
- Wdrażanie zasobów przy użyciu szablonów usługi Resource Manager i interfejsu API REST usługi Resource Manager
- Dokumentacja interfejsu API REST platformy Azure
- Tworzenie lub aktualizowanie ról niestandardowych platformy Azure przy użyciu interfejsu API REST