Mengelola Unit Tenancy

Halaman ini menunjukkan cara mengelola unit penyewa untuk layanan Anda. Unit penyewa 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 penyewa 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

Select the tabs for how you plan to access the API:

gcloud

    After installing the Google Cloud CLI, initialize it by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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.

    1. Install the Google Cloud CLI.

    2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    3. To initialize the gcloud CLI, run the following command:

      gcloud init
    4. 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.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Google Cloud .

    REST

    Untuk menggunakan REST API di lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

    Untuk informasi tentang cara menyiapkan autentikasi bagi lingkungan produksi, lihat Set up Application Default Credentials for code running on Google Cloud di 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 tenancy: ID ini dapat berupa apa saja yang Anda inginkan (di sini adalah tag1), seperti wilayah, 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 penyewa bagi konsumen layanan tertentu, gunakan metode services.tenancyUnits.list, dengan menentukan nomor project konsumen layanannya:

    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 berada 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