Halaman ini menunjukkan cara mengelola unit tenancy untuk layanan Anda. Unit tenancy adalah resource ringan yang mewakili hubungan antara konsumen layanan dan layanan terkelola. Setiap konsumen layanan hanya dapat memiliki satu unit sewa aktif untuk layanan terkelola. Ini adalah fitur yang disediakan oleh Service Infrastructure.
Nama resource unit sewa memiliki format berikut:
services/{your service name}/projects/{consumer project number}/tenancyUnits/{id}
ID unit sewa dibuat secara otomatis saat Anda membuatnya. Anda juga dapat
memberikan ID saat memanggil
metode
services.tenancyUnits.create
. Jika Anda memberikan ID, ID tersebut harus unik secara global dalam cakupan layanan terkelola di semua konsumen layanan.
Contoh di halaman ini menggunakan panggilan langsung ke REST API Service Consumer Management. Untuk penggunaan produksi, sebaiknya gunakan library klien yang disediakan Google untuk kegunaan dan keandalan yang lebih baik.
Sebelum memulai
- Service Consumer Management API ditujukan untuk digunakan dengan project layanan terkelola dan produser layanan. Anda harus sudah memiliki project Google Cloud dan layanan terkelola (seperti layanan yang dibuat menggunakan Cloud Endpoints) di project tersebut.
- Untuk menggunakan unit tenancy, Service Consumer Management API perlu membuat project tenant di organisasi produsen layanan Anda. Pastikan Anda memiliki kuota yang memadai untuk jumlah project tenant yang diperlukan bagi konsumen layanan Anda.
- Untuk membuat dan menghapus unit sewa, ikuti petunjuk penyiapan awal di Memulai Service Consumer Management API.
- Setiap project tenant yang dibuat di unit sewa juga harus berada dalam folder yang Anda tentukan sebagai bagian dari konfigurasi project tenant. Oleh karena itu, Anda memerlukan Organisasi untuk menggunakan unit sewa.
Autentikasi
Select the tabs for how you plan to access the API:
gcloud
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Library klien
Untuk menggunakan library klien di lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Untuk informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam Google Cloud dokumentasi autentikasi.
REST
Untuk menggunakan REST API di lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
Untuk informasi tentang cara menyiapkan autentikasi bagi lingkungan produksi, lihat Set up Application Default Credentials for code running on Google Cloud di Google Cloud dokumentasi autentikasi.
Membuat unit tenancy
Unit tenancy dan project tenant di dalamnya biasanya dibuat saat resource di layanan Anda sendiri dibuat yang bergantung pada resource Google Cloud tambahan yang akan disediakan untuk konsumen.
Anda membuat unit tenancy sebagai berikut:
POST https://serviceconsumermanagement.googleapis.com/v1/services/service.example.com/projects/12345678901/tenancyUnits
Di sini, 'projects/12345678901' mewakili konsumen layanan, dan
service.example.com
adalah nama layanan Anda.
Struktur data yang ditampilkan memiliki nama unit sewa, dengan ID unik yang dihasilkan
yang dapat digunakan untuk mengaksesnya. Dalam contoh ini, nama yang dihasilkan adalah
services/your-service.example.com/projects/12345678901/tenancyUnits/absdef
.
Menambahkan project tenant
Sekarang Anda dapat menambahkan project untuk pengguna. Untuk menambahkan project tenant baru ke unit tenancy yang dibuat di langkah sebelumnya, panggil metode berikut:
POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:addProject
dengan data berikut:
{"tag":"tag1", "project_config":{"folder":"folders/9876543210", "tenant_project_policy":{"policy_bindings":{"role":"roles/owner", "members":"user:bob@example.com"}}, "billing_config":{"billing_account":"billingAccounts/123456-472F22-28F9AA"}}}
Nilai tag
adalah ID yang Anda berikan untuk project dalam unit
tenancy: ini dapat berupa apa pun yang Anda sukai (di sini adalah tag1
), seperti region, jaringan konsumen, atau hanya ID string.
Panggilan ini menampilkan operasi yang berjalan lama yang dapat Anda buat kueri untuk mengetahui apakah pembuatan project berhasil.
Jika perlu menerapkan konfigurasi yang berbeda, misalnya untuk menambahkan layanan terkelola
baru, Anda dapat memanggil
metode
services.tenancyUnits.applyProjectConfig
.
Menelusuri unit tenancy
Menemukan unit tenancy untuk konsumen layanan
Untuk menemukan unit sewa untuk konsumen layanan tertentu, gunakan
metode services.tenancyUnits.ListTenancyUnits
, yang menentukan
nomor project konsumen layanan mereka:
GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits
Menelusuri unit tenancy
Anda dapat menggunakan metode services.tenancyUnits.SearchTenancyUnits
untuk menelusuri unit tenancy yang ditentukan untuk layanan Anda. Misalnya, kueri berikut akan menampilkan semua unit yang berisi project dengan tag 'tag1':
GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com:search?query=tenant_resources.tag=tag1
Membersihkan unit tenancy
Saat konsumen layanan berhenti menggunakan layanan Anda, Anda harus menghapus unit sewanya untuk mengosongkan resource dan memastikan data pengguna dihapus.
Menghapus project tenant
Anda harus menghapus semua project tenant sebelum menghapus unit sewa
yang sesuai. Anda harus menggunakan metode
services.tenancyUnits.removeProject
untuk menghapus project tenant dan semua resource di dalamnya:
POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:removeProject
Menghapus unit tenancy
Setelah menghapus semua project tenant di unit tenancy, atau semuanya berada dalam status DELETED
, Anda dapat menghapus unit tenancy:
DELETE https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-02-06 UTC.