Cara menggunakan kontrol akses berbasis peran di Azure API Management

BERLAKU UNTUK: Semua tingkatAN API Management

Azure API Management mengandalkan kontrol akses berbasis peran Azure (Azure RBAC) untuk mengaktifkan manajemen akses yang cermat untuk entitas dan layanan API Management (misalnya, API dan kebijakan). Artikel ini memberi Anda gambaran umum tentang peran bawaan dan kustom dalam API Management. Untuk informasi selengkapnya tentang manajemen akses di portal Microsoft Azure, lihat Mulai menggunakan manajemen akses di portal Microsoft Azure.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Peran layanan bawaan

API Management saat ini menyediakan tiga peran bawaan dan akan menambahkan dua peran lagi dalam waktu dekat. Peran ini dapat ditetapkan pada cakupan yang berbeda, termasuk langganan, grup sumber daya, dan instans API Management individual. Misalnya, jika Anda menetapkan peran "Pembaca Layanan API Management" kepada pengguna di tingkat grup sumber daya, maka pengguna telah membaca akses ke semua instans API Management di dalam grup sumber daya.

Tabel berikut ini memberikan deskripsi singkat tentang peran bawaan. Anda dapat menetapkan peran ini dengan menggunakan portal Microsoft Azure atau alat lain, termasuk Azure PowerShell, Azure CLI, dan REST API. Untuk detail tentang cara menetapkan peran bawaan, lihat Menetapkan peran Azure untuk mengelola akses ke sumber daya langganan Azure Anda.

Peran Akses baca[1] Akses tulis[2] Pembuatan layanan, penghapusan, penskalaan, VPN, dan konfigurasi domain kustom Akses ke portal penerbit warisan Deskripsi
Kontributor Layanan API Management Pengguna super. Memiliki akses CRUD penuh ke layanan dan entitas API Management (misalnya, API dan kebijakan). Memiliki akses ke portal penerbit warisan.
Pembaca Layanan API Management Memiliki akses baca-saja ke layanan dan entitas API Management.
Operator Layanan API Management Dapat mengelola layanan API Management, tetapi bukan entitas.

[1] Akses baca ke layanan dan entitas API Management (misalnya, API dan kebijakan).

[2] Akses tulis ke layanan dan entitas API Management kecuali operasi berikut: pembuatan instans, penghapusan, dan penskalaan; Konfigurasi VPN; dan penyiapan domain kustom.

Peran ruang kerja bawaan

API Management menyediakan peran bawaan berikut untuk kolaborator di ruang kerja dalam instans API Management.

Kolaborator ruang kerja harus diberi peran cakupan ruang kerja dan peran cakupan layanan.

Peran Cakupan Deskripsi
Kontributor Ruang Kerja API Management ruang kerja Dapat mengelola ruang kerja dan tampilan, tetapi tidak mengubah anggotanya. Peran ini harus ditetapkan pada cakupan ruang kerja.
Pembaca Ruang Kerja API Management ruang kerja Memiliki akses baca-saja ke entitas di ruang kerja. Peran ini harus ditetapkan pada cakupan ruang kerja.
Pengembang API Api Management Workspace API ruang kerja Memiliki akses baca ke entitas di ruang kerja dan membaca dan menulis akses ke entitas untuk mengedit API. Peran ini harus ditetapkan pada cakupan ruang kerja.
API Management Workspace API Product Manager ruang kerja Memiliki akses baca ke entitas di ruang kerja dan membaca dan menulis akses ke entitas untuk menerbitkan API. Peran ini harus ditetapkan pada cakupan ruang kerja.
Pengembang API Api Management Service Workspace API layanan Memiliki akses baca ke tag dan produk dan menulis akses untuk memungkinkan:

▪️ Menetapkan API ke produk
▪️ Menetapkan tag ke produk dan API

Peran ini harus ditetapkan pada cakupan layanan.
API Management Service Workspace API Product Manager layanan Memiliki akses yang sama dengan API Management Service Workspace API Developer serta akses baca ke pengguna dan akses tulis untuk memungkinkan penetapan pengguna ke grup. Peran ini harus ditetapkan pada cakupan layanan.

Peran kustom

Jika tidak ada peran bawaan yang memenuhi kebutuhan spesifik Anda, peran kustom dapat dibuat untuk menyediakan manajemen akses yang lebih terperinci untuk entitas API Management. Misalnya, Anda dapat membuat peran kustom yang memiliki akses baca-saja ke layanan API Management, tetapi hanya memiliki akses tulis ke satu API tertentu. Untuk mempelajari lebih lanjut tentang peran kustom, lihat Peran kustom di Azure RBAC.

Catatan

Agar dapat melihat instans API Management di portal Microsoft Azure, peran kustom harus menyertakan tindakan Microsoft.ApiManagement/service/read.

Saat Anda membuat peran kustom, lebih mudah untuk memulai dengan salah satu peran bawaan. Edit atribut untuk menambahkan Action, NotActions, atau AssignableScopes, lalu simpan perubahan sebagai peran baru. Contoh berikut dimulai dengan peran "Pembaca Layanan API Management" dan membuat peran kustom yang disebut "Editor API Kalkulator". Anda dapat menetapkan peran kustom pada cakupan API tertentu. Akibatnya, peran ini hanya memiliki akses ke API tersebut.

$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>'

Artikel Operasi penyedia sumber daya Azure Resource Manager berisi daftar izin yang dapat diberikan pada tingkat API Management.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang kontrol akses berbasis peran di Azure, lihat artikel berikut ini: