Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Baca dokumentasi
Apigee Edge.
Halaman ini menjelaskan cara membuat Ruang Apigee di organisasi Apigee Anda untuk mengelola kebijakan Identity and Access Management (IAM) untuk resource Apigee API dalam skala besar.
Panduan ini menguraikan langkah-langkah yang diperlukan untuk:
- Membuat Ruang
- Mengelola anggota dan peran di Ruang
- Mencantumkan semua ruang di organisasi
- Mendapatkan detail Ruang
- Memperbarui Ruang
- Menghapus Ruang
Untuk mengetahui manfaat penggunaan Apigee Spaces guna mengelola resource API Anda lebih lanjut, lihat Apigee Spaces.
Sebelum memulai
Sebelum memulai Ruang:
- Sediakan Apigee. Pastikan bahwa Langganan Apigee atau organisasi Bayar sesuai penggunaan yang ingin Anda gunakan telah disediakan. Untuk informasi selengkapnya tentang langkah-langkah yang diperlukan untuk menyediakan Apigee, lihat Pengantar penyediaan.
- Dapatkan kredensial autentikasi Anda. Sebelum menjalankan perintah untuk membuat dan mengelola Ruang
di command line, dapatkan kredensial autentikasi
gcloud
Anda menggunakan perintah berikut:export TOKEN=$(gcloud auth print-access-token)
Peran dan izin yang diperlukan
Make sure that you have the following role or roles on the project: Apigee > Apigee Organization Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Buka IAM - Pilih project.
- Klik Berikan akses.
-
Di kolom New principals, masukkan ID pengguna Anda. Ini biasanya adalah alamat email untuk Akun Google.
- Di daftar Pilih peran, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
Membuat Ruang
Untuk melakukan tugas ini, Anda memerlukan izin apigee.spaces.create
.
Izin ini disertakan dalam peran Apigee Organization Admin
.
Untuk membuat Ruang di organisasi Apigee, gunakan perintah berikut:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces" \ --data-raw '{ "name":"SPACE_NAME ", "displayName":"DISPLAY_NAME ", }'
Dengan keterangan:
- ORG_NAME adalah nama organisasi Apigee Anda.
- SPACE_NAME adalah nama dan ID Ruang.
- DISPLAY_NAME adalah nama Ruang seperti yang seharusnya muncul di UI Apigee di Cloud Console. Jika tidak ada nama tampilan yang diberikan, nama Ruang akan digunakan sebagai nama tampilan.
Misalnya, perintah berikut akan membuat Ruang bernama red di organisasi acme:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ https://apigee.googleapis.com/v1/organizations/acme/spaces \ --data-raw '{ "name":"red", "displayName":"Red", }'
Setelah Anda membuat Ruang di organisasi, anggota organisasi yang menggunakan UI Apigee di konsol Cloud akan melihat Ruang sebagai parameter yang tersedia saat membuat resource API di UI. Selain itu, saat melihat daftar proxy API, produk API, dan alur bersama di UI, Ruang akan muncul sebagai atribut untuk resource API yang ditetapkan ke Ruang tersebut.
Ruang.Mengelola anggota dan peran di Ruang
Setelah membuat Ruang, Anda dapat menambahkan anggota tim ke Ruang dan menetapkan peran IAM yang diperlukan untuk membuat dan mengelola resource API di Ruang. Pengguna Apigee hanya dapat membuat dan mengelola resource di Ruang tempat mereka adalah anggota tim yang diberi izin yang sesuai. Karena kontrol akses IAM diberikan di tingkat Ruang, anggota organisasi tidak dapat mengakses atau mengelola resource Apigee API yang termasuk dalam Ruang kecuali jika mereka ditambahkan secara khusus ke Ruang. Untuk mengetahui ringkasan peran dan izin IAM yang diperlukan untuk mengelola resource Ruang, lihat Membuat dan mengelola resource Ruang.
Menambahkan anggota organisasi ke Ruang
Saat anggota organisasi ditambahkan ke Ruang, binding kebijakan IAM akan dibuat untuk ruang yang menggunakan dua argumen:
- Daftar anggota Ruang
- Peran atau daftar peran yang diberikan kepada anggota
Untuk melakukan tugas ini, Anda memerlukan izin apigee.spaces.setIamPolicy
.
Izin ini disertakan dalam peran Apigee Organization Admin
.
Untuk menambahkan anggota organisasi ke Ruang dan menetapkan peran IAM, gunakan perintah berikut:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:USER_EMAIL "], "role": "roles/IAM_ROLE " } ] } }'
Dengan keterangan:
- ORG_NAME adalah nama organisasi Apigee.
- SPACE_NAME adalah nama Ruang.
- USER_EMAIL adalah alamat email pengguna yang Anda tambahkan ke Ruang.
- IAM_ROLE adalah nama peran IAM yang Anda tetapkan kepada pengguna sebagai anggota Ruang.
Misalnya, perintah ini menambahkan pengguna my-email@acme.com ke Ruang red di organisasi acme, dan memberikan peran IAM apigee.spaceContentEditor
:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:my-email@acme.com"], "role": "roles/apigee.spaceContentEditor" } ] } }'
Peran dan izin tambahan dapat ditambahkan untuk anggota Ruang dengan memperbarui kebijakan IAM untuk Ruang. Untuk
memperbarui kebijakan IAM untuk Ruang, gunakan metode setIamPolicy
yang dijelaskan di bagian ini, menggunakan
daftar peran dan izin yang diinginkan yang telah direvisi. Tindakan ini akan membuat kebijakan IAM baru untuk ruang, dengan peran dan izin yang disesuaikan.
Menambahkan tim anggota ke Ruang
Atau, Anda dapat menambahkan tim anggota ke Ruang dan menetapkan satu atau beberapa peran IAM. Untuk menambahkan tim anggota ke Ruang dan menetapkan peran IAM, gunakan perintah berikut:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:GROUP_EMAIL "], "role": "roles/IAM_ROLE " } ] } }'
Dengan keterangan:
- ORG_NAME adalah nama organisasi Apigee.
- SPACE_NAME adalah nama Ruang.
- GROUP_EMAIL adalah alamat email grup yang Anda tambahkan ke Ruang.
- IAM_ROLE adalah nama peran IAM yang Anda tetapkan ke tim sebagai anggota Ruang.
Misalnya, perintah ini menambahkan grup acme-team@acme.com ke Ruang red di organisasi acme
dan memberikan peran apigee.spaceContentEditor
ke grup tersebut:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:red-team@acme.com"], "role": "roles/apigee.spaceContentEditor" } ] } }'
Seperti yang disebutkan dalam Menambahkan anggota organisasi ke Ruang, peran IAM apigee.spaceContentEditor
berisi banyak izin yang diperlukan untuk mengelola resource Ruang.
Namun, Anda mungkin perlu memberikan peran tambahan kepada pengguna untuk melakukan tugas tertentu.
Memverifikasi penetapan kebijakan IAM Ruang
Untuk melakukan tugas ini, Anda memerlukan izin apigee.spaces.getIamPolicy
.
Izin ini disertakan dalam peran Apigee Organization Admin
.
Untuk memverifikasi bahwa kebijakan IAM ditetapkan dengan benar untuk ruang, gunakan perintah berikut:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME :getIamPolicy"
Dengan keterangan:
- ORG_NAME adalah nama organisasi Apigee.
- SPACE_NAME adalah nama Ruang.
Misalnya, perintah berikut digunakan untuk mengonfirmasi bahwa kebijakan IAM ditetapkan dengan benar untuk Ruang red di organisasi acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:getIamPolicy"
Output perintah akan menampilkan kebijakan IAM saat ini untuk ruang, dan akan terlihat seperti ini:
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "members": [ "group:red-team@acme.com" ] } ] }
Dalam contoh ini, kebijakan IAM untuk ruang memberikan peran apigee.spaceContentEditor
kepada anggota ruang, dalam hal ini, anggota grup red-team@acme.com
Perhatikan bahwa anggota tim merah adalah satu-satunya anggota organisasi yang diberi akses ke Ruang merah. Artinya, hanya anggota tim merah yang dapat membuat dan mengelola resource API di Ruang merah. Jika anggota tim organisasi lain, seperti team-blue@acme.com mencoba mengakses proxy API yang dibuat di Ruang red, mereka akan melihat error berikut:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/proxy-1\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
Menghapus anggota dari Ruang
Untuk menghapus anggota, atau sekelompok anggota, dari Ruang, Anda harus menetapkan kebijakan IAM baru untuk ruang tersebut, dengan
daftar anggota atau grup yang telah direvisi. Menggunakan metode setIamPolicy
akan membuat kebijakan IAM baru untuk ruang,
dengan peran dan anggota yang disesuaikan.
Misalnya, untuk memperbarui anggota Ruang tim biru, Anda dapat memeriksa kebijakan IAM saat ini terlebih dahulu menggunakan perintah berikut:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:getIamPolicy"
Output perintah akan menampilkan kebijakan IAM saat ini untuk ruang, dan akan terlihat seperti ini:
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "members": [ "group: blue-team@acme.com", "users: user-a@acme.com, user-b@acme.com, user-c@acme.com" ] } ] }
Untuk menghapus user-b@acme.com dari Ruang, gunakan perintah berikut:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": [ "group:blue-team@acme.com", "users: user-a@acme.com, user-c@acme.com" ] "role": "roles/apigee.spaceContentEditor" } ] } }'
Kebijakan IAM baru untuk Ruang tidak akan lagi menyertakan user-b@acme.com.
Untuk menghapus anggota dari grup yang disertakan dalam Ruang, hapus anggota dari grup terlebih dahulu, lalu jalankan kembali perintah setIamPolicy untuk memperbarui kebijakan IAM untuk Ruang dengan keanggotaan yang benar untuk alias email grup.
Mencantumkan semua Ruang di organisasi
Untuk melakukan tugas ini, Anda memerlukan izin apigee.spaces.list
.
Izin ini disertakan dalam peran Apigee Organization Admin
.
Untuk mencantumkan semua Ruang di organisasi Apigee, gunakan perintah berikut:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces"
Dengan ORG_NAME sebagai nama organisasi Apigee.
Misalnya, perintah berikut mencantumkan semua Ruang di organisasi acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces"
Perintah ini menampilkan sesuatu seperti berikut:
{ "spaces": [ { "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }, { "name": "blue", "createTime": "2024-08-02T00:34:54.159331Z", "updateTime": "2024-08-02T00:34:54.159331Z" } ] }
Mendapatkan detail Ruang
Untuk melakukan tugas ini, Anda memerlukan izin apigee.spaces.get
.
Izin ini disertakan dalam peran Apigee Organization Admin
.
Gunakan perintah berikut untuk mendapatkan detail Ruang:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME "
Dengan keterangan:
- ORG_NAME adalah nama organisasi Apigee.
- SPACE_NAME adalah nama Ruang.
Misalnya, perintah berikut mendapatkan detail tentang Ruang red di organisasi acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Perintah ini menampilkan sesuatu seperti berikut:
{ "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }
Memperbarui Ruang
Untuk melakukan tugas ini, Anda memerlukan izin apigee.spaces.update
.
Izin ini disertakan dalam peran Apigee Organization Admin
.
Untuk memperbarui Ruang di organisasi Apigee, gunakan perintah berikut:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME " \ --data-raw '{ "displayName":"DISPLAY_NAME " }'
Dengan keterangan:
- ORG_NAME adalah nama organisasi Apigee.
- SPACE_NAME adalah nama dan ID Ruang.
- DISPLAY_NAME adalah nama tampilan baru untuk Ruang.
Misalnya, perintah berikut memperbarui nama tampilan Ruang red di organisasi acme:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red" -d \ '{ "displayName": "Red team space" }'
Menghapus Ruang
Untuk melakukan tugas ini, Anda memerlukan izin apigee.spaces.delete
.
Izin ini disertakan dalam peran Apigee Organization Admin
. Sebelum menghapus Ruang, pastikan semua resource di Ruang juga telah dihapus.
Untuk menghapus Ruang di organisasi Apigee, gunakan perintah berikut:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME /spaces/SPACE_NAME "
Misalnya, perintah berikut menghapus Ruang red di organisasi acme:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Jika Anda mencoba menghapus Ruang dengan resource aktif yang masih terkait dengannya, Anda akan melihat error berikut:
{ "error": { "code": 400, "message": "Space \"red\" has resources associated with it. Please delete the resources before deleting the space.", "status": "FAILED_PRECONDITION" } }
Untuk mengatasi error, hapus atau pindahkan resource di Ruang sebelum mencoba menghapus Ruang.
Langkah berikutnya
- Pelajari Ruang Apigee lebih lanjut.
- Pelajari cara Mengelola resource API dengan Ruang Apigee.
- Tinjau dokumentasi Identity and Access Management (IAM).