Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Baca dokumentasi
Apigee Edge.
Halaman ini menjelaskan cara hierarki izin Identity and Access Management (IAM) diterapkan ke resource Apigee API (proxy API, alur bersama, dan produk API) dan turunannya saat menggunakan Ruang Apigee.
Interaksi IAM dengan Apigee Spaces
Secara umum, kebijakan IAM yang mengatur akses ke resource diwariskan melalui Google Cloud hierarki resource. Kebijakan IAM spesifik yang berlaku untuk resource tertentu mencakup kedua hal berikut:
- Kebijakan apa pun yang diterapkan langsung ke resource
- Kebijakan apa pun yang diwarisi resource dari ancestor-nya
Hierarki resource dan izin di Apigee
Di Apigee, bagian atas hierarki resource adalah resource organisasi. Resource turunan organisasi mencakup proxy API, alur bersama, dan produk API. Saat Anda menggunakan Apigee tanpa Ruang, izin diterapkan ke project Google Cloud , yang berkorelasi langsung dengan resource organisasi Apigee. Akibatnya, kebijakan IAM yang mengatur akses ke proxy API, alur bersama, atau produk API tertentu mencakup kebijakan apa pun yang diwarisi dari organisasi, selain kebijakan apa pun yang diterapkan langsung ke resource tertentu.
Hierarki resource dan izin dengan Ruang
Saat Anda menggunakan Apigee dengan Ruang, resource Ruang akan ditambahkan ke hierarki.
Pertimbangkan skenario saat organisasi Apigee memiliki tiga proxy API, proxy-a
, proxy-b
, dan proxy-c
.
Dalam contoh ini, proxy-b
dan proxy-c
masing-masing dikaitkan dengan space-red
dan
space-blue
. Saat Anda mengaitkan resource API dengan Ruang, atribut space
akan ditetapkan pada resource.
Saat Anda melakukan panggilan API untuk mendapatkan detail proxy-c
, endpoint API Anda akan mencerminkan hierarki resource yang sebenarnya, dengan
proxy API adalah turunan organisasi dengan atribut Ruang, seperti yang ditunjukkan dalam contoh berikut:
curl -X GET -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/org1/apis/proxy-c" { "metaData": { "createdAt": "1725665197737", "lastModifiedAt": "1725665462105", "subType": "Proxy" }, "name": "proxy-c", "revision": [ "1" ], "apiProxyType": "PROGRAMMABLE", "space": "space-blue" }
Meskipun jalur ke resource API yang terkait dengan Ruang tetap sama, hierarki izin IAM yang efektif akan berubah. Dalam contoh skenario kami, pemeriksaan izin IAM akan berperilaku seolah-olah resource API adalah turunan Ruang. Akibatnya, kebijakan IAM yang berlaku untuk resource API mencakup kebijakan yang diwarisi dari Ruang, selain kebijakan apa pun yang diterapkan langsung ke Ruang, seperti yang ditunjukkan pada gambar berikut:

Pemeriksaan kebijakan IAM untuk resource Ruang
Seperti yang disebutkan di bagian sebelumnya, saat proxy API, alur bersama, dan produk API dikaitkan dengan Ruang, resource tersebut akan diperlakukan sebagai resource turunan Ruang selama pemeriksaan kebijakan IAM. Hierarki resource yang efektif ini berlaku untuk semua sub-turunan proxy API, alur bersama, dan produk API.
Misalnya, Atribut Produk API adalah
resource turunan dari produk API. Untuk mencantumkan semua atribut produk API product-a
di organisasi Apigee org1
,
yang dikaitkan dengan ruang Apigee space-blue
, jalur resource yang sebenarnya adalah GET organizations/org1/apiproduct/product-a/attributes
. Namun,
jalur yang diperiksa untuk izin IAM adalah organizations/org1/spaces/space-blue/apiproduct/product-a/attributes
.
Pemeriksaan kebijakan IAM untuk deployment
Resource Environment tidak dikaitkan dengan Ruang. Namun, beberapa API yang ada telah diperbarui untuk mengaktifkan akses terperinci ke deployment dan sesi debug untuk proxy API dan alur bersama.
Perubahan pada pemeriksaan izin IAM untuk operasi deployment berikut pada resource di Ruang dijelaskan di bawah:
Metode | Pemeriksaan Izin IAM Ruang |
---|---|
organizations.deployments.list | Tidak ada perubahan |
organizations.apis.deployments.list | apigee.deployments.list di organizations/$ORG/spaces/$SPACE/apis/$API
|
organizations.apis.revisions.deployments.list | apigee.deployments.list di organizations/$ORG/spaces/$SPACE/apis/$API/revisions/$REV
|
organizations.environments.deployments.list | Tidak ada perubahan |
organizations.environments.deployments.get | Tidak ada perubahan |
organizations.environments.apis.deployments.list | apigee.deployments.list di organizations/$ORG/environments/$ENV ATAU
|
organizations.environments.apis.revisions.deployments.get | apigee.deployments.get di organizations/$ORG/environments/$ENV
ATAU
apigee.deployments.get di |
organizations.environments.apis.revisions.deployments.deploy | apigee.deployments.create pada organizations/$ORG/environments/$ENV
AND
apigee.proxyrevisions.deploy di |
organizations.environments.apis.revisions.deployments.generateDeployChangeReport | apigee.deployments.create pada organizations/$ORG/environments/$ENV
AND
apigee.proxyrevisions.deploy di |
organizations.environments.apis.revisions.deployments.generateUndeployChangeReport | apigee.deployments.delete di organizations/$ORG/environments/$ENV
AND
apigee.proxyrevisions.undeploy di |
organizations.environments.apis.revisions.deployments.undeploy | apigee.deployments.delete di organizations/$ORG/environments/$ENV
AND
apigee.proxyrevisions.undeploy di |
organizations.environments.sharedflows.deployments.list | apigee.deployments.list di organizations/$ORG/environments/$ENV ATAU apigee.deployments.list di organizations/$ORG/spaces/$SPACE/sharedflows/$SF
|
organizations.environments.sharedflows.revisions.deployments.deploy | apigee.deployments.create pada organizations/$ORG/environments/$ENV
AND
apigee.sharedflowrevisions.deploy di |
organizations.environments.sharedflows.revisions.deployments.get | apigee.deployments.get di organizations/$ORG/environments/$ENV
ATAU apigee.deployments.get di
|
organizations.environments.sharedflows.revisions.deployments.undeploy | apigee.deployments.delete di organizations/$ORG/environments/$ENV
AND
apigee.sharedflowrevisions.undeploy di |
organizations.sharedflows.deployments.list | apigee.deployments.list diorganizations/$ORG/spaces/$SPACE/sharedflows/$SF
|
organizations.sharedflows.revisions.deployments.list | apigee.deployments.list diorganizations/$ORG/spaces/$SPACE/sharedflows/$SF/revisions/$REV
|
Pemeriksaan izin untuk sesi debug
Jika proxy API dikaitkan dengan Ruang, pemeriksaan izin IAM untuk sesi debug proxy telah berubah, seperti yang dijelaskan dalam tabel berikut:
Metode | Pemeriksaan Izin IAM Ruang |
---|---|
organizations.environments.apis.revisions.debugsessions.create | apigee.tracesessions.create pada organizations/$ORG/spaces/$SPACE/apis/$API/revisions/$REV
AND
|
organizations.environments.apis.revisions.debugsessions.get | apigee.tracesessions.get di organizations/$ORG/environments/$ENV DAN organizations/$ORG/spaces/$SPACE/apis/$API
|
organizations.environments.apis.revisions.debugsessions.deleteData | apigee.tracesessions.delete di organizations/$ORG/environments/$ENV DAN apigee.tracesessions.delete di
|
organizations.environments.apis.revisions.debugsessions.list | apigee.tracesessions.list pada organizations/$ORG/environments/$ENV
ATAU
apigee.tracesessions.list pada |
organizations.environments.apis.revisions.debugsessions.data.get | apigee.tracesessions.get di organizations/$ORG/environments/$ENV
AND
apigee.tracesessions.get di |
organizations.environments.apis.revisions.debugsessions.data.list | apigee.tracesessions.get di organizations/$ORG/environments/$ENV
DAN
apigee.tracesessions.get di |