Jak używać kontroli dostępu opartej na rolach w usłudze Azure API Management

DOTYCZY: Wszystkie warstwy usługi API Management

Usługa Azure API Management opiera się na kontroli dostępu na podstawie ról na platformie Azure (Azure RBAC), aby umożliwić precyzyjne zarządzanie dostępem do usług i jednostek API Management (na przykład interfejsów API i zasad). Ten artykuł zawiera omówienie wbudowanych i niestandardowych ról w usłudze API Management. Aby uzyskać więcej informacji na temat zarządzania dostępem w witrynie Azure Portal, zobacz Wprowadzenie do zarządzania dostępem w witrynie Azure Portal.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wbudowane role usługi

Usługa API Management obecnie udostępnia trzy wbudowane role i doda dwie kolejne role w najbliższej przyszłości. Role te mogą być przypisywane w różnych zakresach, w tym subskrypcji, grupy zasobów i indywidualnego wystąpienia usługi API Management. Na przykład przypisanie roli „Czytnik usługi API Management” do użytkownika na poziomie grupy zasobów spowoduje, że będzie on miał dostęp do odczytu do wszystkich wystąpień usługi API Management w grupie zasobów.

Poniższa tabela zawiera krótkie opisy wbudowanych ról. Te role można przypisać przy użyciu witryny Azure Portal lub innych narzędzi, w tym programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu API REST. Aby uzyskać szczegółowe informacje na temat przypisywania wbudowanych ról, zobacz Przypisywanie ról platformy Azure do zarządzania dostępem do zasobów subskrypcji platformy Azure.

Rola Dostęp do odczytu[1] Dostęp do zapisu[2] Tworzenie, usuwanie, skalowanie usług, sieci VPN i niestandardowa konfiguracja domeny Dostęp do starszego portalu wydawcy opis
Współautor usługi API Management Superużytkownik. Ma pełny dostęp typu CRUD do usług i jednostek usługi API Management (na przykład interfejsów API i zasad). Ma dostęp do starszego portalu wydawcy.
Czytnik usługi API Management Ma dostęp tylko do odczytu do usług i jednostek API Management.
Operator usługi API Management Może zarządzać usługami API Management, ale nie jednostkami.

[1] Odczyt dostępu do usług i jednostek usługi API Management (na przykład interfejsów API i zasad).

[2] Dostęp do zapisu w usługach i jednostkach usługi API Management z wyjątkiem następujących operacji: tworzenie, usuwanie i skalowanie wystąpień; Konfiguracja sieci VPN; i niestandardowa konfiguracja domeny.

Wbudowane role obszaru roboczego

Usługa API Management udostępnia następujące wbudowane role dla współpracowników w obszarach roboczych w wystąpieniu usługi API Management.

Współpracownik obszaru roboczego musi mieć przypisaną zarówno rolę o zakresie obszaru roboczego, jak i rolę o zakresie usługi.

Rola Scope opis
Współautor obszaru roboczego usługi API Management obszar roboczy Może zarządzać obszarem roboczym i widokiem, ale nie modyfikować jego członków. Ta rola powinna być przypisana w zakresie obszaru roboczego.
Czytelnik obszaru roboczego usługi API Management obszar roboczy Ma dostęp tylko do odczytu do jednostek w obszarze roboczym. Ta rola powinna być przypisana w zakresie obszaru roboczego.
Api Workspace API Developer (Deweloper interfejsu API obszaru roboczego usługi API Management) obszar roboczy Ma dostęp do odczytu do jednostek w obszarze roboczym oraz dostęp do odczytu i zapisu do jednostek na potrzeby edytowania interfejsów API. Ta rola powinna być przypisana w zakresie obszaru roboczego.
Menedżer produktu interfejsu API obszaru roboczego usługi API obszar roboczy Ma dostęp do odczytu do jednostek w obszarze roboczym oraz dostęp do odczytu i zapisu do jednostek na potrzeby publikowania interfejsów API. Ta rola powinna być przypisana w zakresie obszaru roboczego.
Deweloper interfejsu API obszaru roboczego usługi API usługi API Management service Ma dostęp do odczytu do tagów i produktów oraz dostępu do zapisu, aby umożliwić:

▪️ Przypisywanie interfejsów API do produktów
▪️ Przypisywanie tagów do produktów i interfejsów API

Ta rola powinna być przypisana w zakresie usługi.
Menedżer produktu interfejsu API obszaru roboczego usługi API zarządzania interfejsem API service Ma taki sam dostęp, jak interfejs API obszaru roboczego usługi API Management, a także dostęp do odczytu do użytkowników i dostęp do zapisu, aby umożliwić przypisywanie użytkowników do grup. Ta rola powinna być przypisana w zakresie usługi.

Role niestandardowe

Jeśli żadna z wbudowanych ról nie spełnia określonych potrzeb, można utworzyć role niestandardowe, aby zapewnić bardziej szczegółowe zarządzanie dostępem dla jednostek usługi API Management. Można na przykład utworzyć rolę niestandardową, która ma dostęp tylko do odczytu do usługi API Management, ale ma dostęp do zapisu tylko do jednego określonego interfejsu API. Aby dowiedzieć się więcej na temat ról niestandardowych, zobacz Role niestandardowe w kontroli dostępu opartej na rolach platformy Azure.

Uwaga

Aby można było wyświetlić wystąpienie usługi API Management w witrynie Azure Portal, rola niestandardowa musi zawierać Microsoft.ApiManagement/service/read akcję.

Podczas tworzenia roli niestandardowej łatwiej jest zacząć od jednej z wbudowanych ról. Edytuj atrybuty, aby dodać akcje, notactions lub AssignableScopes, a następnie zapisać zmiany jako nową rolę. Poniższy przykład rozpoczyna się od roli "Czytelnik usługi API Management" i tworzy rolę niestandardową o nazwie "Calculator API Editor". Rolę niestandardową można przypisać w zakresie określonego interfejsu API. W związku z tym ta rola ma dostęp tylko do tego interfejsu API.

$role = Get-AzRoleDefinition "API Management Service Reader Role"
$role.Id = $null
$role.Name = 'Calculator API Contributor'
$role.Description = 'Has read access to Contoso APIM instance and write access to the Calculator API.'
$role.Actions.Add('Microsoft.ApiManagement/service/apis/write')
$role.Actions.Add('Microsoft.ApiManagement/service/apis/*/write')
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add('/subscriptions/<Azure subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>')
New-AzRoleDefinition -Role $role
New-AzRoleAssignment -ObjectId <object ID of the user account> -RoleDefinitionName 'Calculator API Contributor' -Scope '/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>'

Artykuł Operacje dostawcy zasobów usługi Azure Resource Manager zawiera listę uprawnień, które można udzielić na poziomie usługi API Management.

Następne kroki

Aby dowiedzieć się więcej na temat kontroli dostępu opartej na rolach na platformie Azure, zobacz następujące artykuły: