Halaman ini menunjukkan cara mengelola unit tenant untuk layanan Anda. Unit tenancy adalah resource ringan yang merepresentasikan hubungan antara konsumen layanan dan layanan terkelola. Setiap konsumen layanan hanya dapat memiliki satu unit penyewa aktif untuk layanan terkelola. Ini adalah fitur yang disediakan oleh Service Infrastructure.
Nama resource unit penyewa 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 Anda 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 layanan terkelola dan project produsen layanan. Anda harus sudah memiliki project Google Cloud dan layanan terkelola (seperti layanan yang dibuat menggunakan Cloud Endpoints) dalam project tersebut.
- Untuk menggunakan unit penyewa, Service Consumer Management API perlu membuat project tenant di organisasi produsen layanan Anda. Pastikan Anda memiliki kuota yang cukup untuk jumlah project tenant yang diperlukan bagi konsumen layanan Anda.
- Untuk membuat dan menghapus unit tenancy, ikuti petunjuk penyiapan awal di Mulai Menggunakan Service Consumer Management API.
- Setiap project tenant yang dibuat di unit tenancy juga harus berada di folder yang Anda tentukan sebagai bagian dari konfigurasi project tenant. Oleh karena itu, Anda memerlukan Organisasi untuk menggunakan unit penyewa.
Autentikasi
Pilih tab untuk melihat cara Anda berencana mengakses API:
gcloud
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Jika Anda menggunakan shell lokal, buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Anda tidak perlu melakukan langkah ini jika menggunakan Cloud Shell.
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, konfirmasi bahwa Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud .
REST
Untuk memakai REST API di lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Untuk mengetahui informasi tentang cara menyiapkan autentikasi bagi lingkungan produksi, lihat Menyiapkan Kredensial Default Aplikasi untuk kode yang berjalan di Google Cloud dalam dokumentasi autentikasi Google Cloud .
Membuat unit tenancy
Unit tenant 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 pengelolaan menggunakan
metode services.tenancyUnits.create:
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 keanggotaan, 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 keanggotaan yang dibuat pada langkah sebelumnya, gunakan
metode services.tenancyUnits.addProject:
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
penyewa: ID ini dapat berupa apa saja yang Anda inginkan (di sini adalah tag1), seperti region, jaringan
konsumen, atau hanya ID string.
Panggilan ini menampilkan operasi yang berjalan lama yang dapat Anda kueri untuk mengetahui apakah pembuatan project berhasil.
Jika Anda perlu menerapkan konfigurasi yang berbeda, misalnya untuk menambahkan layanan terkelola baru, Anda dapat memanggil metode
services.tenancyUnits.applyProjectConfig.
Menelusuri unit tenancy Anda
Menemukan unit tenancy untuk konsumen layanan
Untuk menemukan unit keanggotaan bagi konsumen layanan tertentu, gunakan
metode services.tenancyUnits.list,
dengan 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.search
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 perlu menghapus unit penyewaannya untuk membebaskan resource dan memastikan data pengguna dihapus.
Menghapus project tenant
Anda harus menghapus semua project tenant sebelum menghapus unit tenant 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 dalam unit keanggotaan, atau semuanya dalam status DELETED, Anda dapat menghapus unit keanggotaan menggunakan metode services.tenancyUnits.delete:
DELETE https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef