Jenis Berbagi di Seluruh Project

Halaman ini menjelaskan cara berbagi jenis dan penyedia jenis yang dimiliki project Anda dengan project lain. Misalnya, Anda memiliki project yang bertanggung jawab untuk mengelola penyedia jenis yang telah disetujui sebelumnya untuk perusahaan Anda. Anda ingin dapat membagikan penyedia jenis ini dari project itu dengan project lain dan menggunakan project tersebut sebagai repositori pusat untuk berbagai jenis. Demikian pula, Anda juga dapat menggunakan metode ini untuk membagikan jenis komposit di seluruh project.

Untuk menyiapkan akses, pemilik project dari project yang memiliki jenis tersebut harus memberikan peran deploymentmanager.typeViewer (beta) ke akun layanan project yang ingin menggunakan jenis tersebut. Mereka juga perlu memberikan peran kepada pengguna yang ingin melihat dan mencantumkan jenis dari project lain..

Sebelum memulai

Batasan

Berikut adalah batasan untuk menggunakan fitur ini:

  • Memberikan peran deploymentmanager.typeViewer akan memberikan izin ke semua jenis dalam project tertentu. Anda tidak dapat membatasi berbagi untuk setiap jenis.
  • Anda tidak dapat memberikan peran ini kepada allAuthenticatedUsers atau allUsers.

Memberi proyek akses untuk menggunakan berbagai jenis

Untuk memberikan akses ke jenis milik project lain, pemilik project yang memiliki jenis yang dimaksud harus memberikan peran deploymentmanager.typeViewer ke akun layanan Google API dari project yang ingin menggunakan jenis tersebut.

  1. Buka halaman IAM di Konsol Google Cloud project yang akan memakai jenis tersebut.

    Buka halaman IAM

  2. Jika diminta, pilih project Anda dari daftar.
  3. Cari akun layanan Google API, yang memiliki alamat email dalam format berikut:

    [PROJECT_NUMBER]@cloudservices.gserviceaccount.com
    
  4. Catat alamat email di atas. Selanjutnya, pemilik project tempat jenis yang diinginkan berada dapat memberi akun layanan Google API peran roles/deploymentmanager.typeViewer.

    Konsol

    1. Saat berada di Google Cloud Console, buka halaman IAM project yang berisi jenis yang ingin Anda bagikan.

      Buka halaman IAM

    2. Pilih project dari daftar project.
    3. Klik tombol Add untuk menambahkan anggota baru.
    4. Di kotak Anggota, masukkan alamat email akun layanan.
    5. Luaskan dropdown Peran, lalu pilih Lainnya > Deployment Manager Types Viewer (beta).
    6. Klik Tambahkan untuk menambahkan akun.

    gcloud

    Dengan Google Cloud CLI, tambahkan binding ke kebijakan IAM untuk project:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
        --member serviceAccount:[SERVICE_ACCOUNT_EMAIL] --role roles/deploymentmanager.typeViewer

    dengan:

    • [PROJECT_ID] adalah ID project yang berisi gambar yang ingin Anda bagikan.
    • [SERVICE_ACCOUNT_EMAIL] adalah email akun layanan dalam project yang ingin Anda ajak berbagi jenis.

    Contoh:

    gcloud projects add-iam-policy-binding database-images \
        --member serviceAccount:123456789012@cloudservices.gserviceaccount.com  \
        --role roles/deploymentmanager.typeViewer

    API

    Di API, buat permintaan POST ke URL berikut, dengan [PROJECT_ID] adalah ID project yang berisi jenis yang ingin Anda bagikan.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/$[PROJECT_ID]:setIamPolicy
    

    Isi permintaan harus berisi daftar binding yang ingin Anda terapkan ke project ini. Peran roles/deploymentmanager.typeViewer harus menjadi bagian dari binding. Contoh:

    {
       "policy": {
           "version": "0",
           "bindings": [
           {
               "role": "roles/owner",
               "members": [
                   "user:example@gmail.com"
               ]
           },
           {
               "role": "roles/deploymentmanager.typeViewer",
               "members": [
                   "serviceAccount:123456789012@cloudservices.gserviceaccount.com"
               ]
           }
           ]
       }
    

    }

Menggunakan jenis dari project lain dalam konfigurasi Anda

Setelah memiliki akses ke jenis tersebut, Anda dapat menentukan jenis dalam konfigurasi menggunakan sintaksis. Untuk jenis gabungan:

type: [PROJECT_ID]/composite:[TYPE]

Untuk penyedia jenis:

type: [PROJECT_ID]/[TYPE]:[COLLECTION]

Dengan keterangan:

  • [PROJECT_ID] adalah project ID yang memiliki jenis tersebut.
  • [TYPE] adalah nama penyedia jenis atau jenis komposit.
  • [COLLECTION] adalah resource khusus yang Anda buat. Ini hanya berlaku untuk jenis dasar. Untuk mengetahui informasi selengkapnya tentang cara menentukan jenis dasar, baca Memanggil Penyedia Jenis di Konfigurasi.

Misalnya, jika project ID adalah my-type-repository, Anda dapat memberikan spesifikasi jenis berikut:

resources:
- name: a-special-vm
  type: my-type-repository/composite:autoscaled-igm
  properties:
    ...

Memberi pengguna kemampuan untuk membuat daftar dan jenis tampilan

Memberi akun layanan project peran deploymentmanager.typeViewer memungkinkan project untuk men-deploy jenis ini dalam konfigurasi Anda, tetapi tidak memungkinkan pengguna melihat atau mencantumkan jenis ini. Jika ingin memberikan kemampuan untuk melihat jenis kepada setiap pengguna, Anda harus memberikan peran deploymentmanager.typeViewer kepada setiap pengguna.

Misalnya, agar Juwita dapat menjalankan perintah gcloud beta deployment-manager types list --project another-project untuk project yang bukan miliknya, pemilik another-project harus memberinya peran deploymentmanager.typeViewer.

Dengan gcloud CLI, Anda dapat memberi Jani peran seperti berikut:

 gcloud projects add-iam-policy-binding another-project \
        --member user:jane@gmail.com --role deploymentmanager.typeViewer

Untuk petunjuk komprehensif tentang cara menambahkan dan menghapus peran dari pengguna, baca dokumentasi untuk memberikan, mengubah, dan mencabut akses kepada anggota project.

Apa langkah selanjutnya?