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. |
W zależności od tego, jak współpracownicy obszaru roboczego używają obszaru roboczego lub zarządzają nim, zalecamy również przypisanie jednej z następujących ról kontroli dostępu opartej na rolach platformy Azure w zakresie bramy obszaru roboczego: Czytelnik, Współautor lub Właściciel.
Wbudowane role portalu dla deweloperów
Rola | Scope | opis |
---|---|---|
Edytor zawartości portalu deweloperów usługi API Management | service | Może dostosować portal dla deweloperów, edytować jego zawartość i publikować ją przy użyciu interfejsów API usługi Azure Resource Manager. |
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:
- Wprowadzenie do zarządzania dostępem w witrynie Azure Portal
- Przypisywanie ról platformy Azure do zarządzania dostępem do zasobów subskrypcji platformy Azure
- Role niestandardowe w kontroli dostępu opartej na rolach platformy Azure
- Operacje związane z dostawcami zasobów w usłudze Azure Resource Manager