Halaman ini menjelaskan cara membagikan jenis dan penyedia jenis yang milik project Anda dengan project lain. Misalnya, asumsikan Anda memiliki project yang bertanggung jawab untuk mengelola penyedia jenis yang disetujui sebelumnya untuk perusahaan Anda. Anda ingin dapat membagikan penyedia jenis ini dari project tersebut dengan project lain dan menggunakan project sebagai repositori jenis pusat. 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 harus
memberikan peran kepada pengguna yang ingin melihat dan mencantumkan jenis dari project lain.
Sebelum memulai
- Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal alat command line`gcloud`.
- Jika Anda ingin menggunakan contoh API dalam panduan ini, siapkan akses API.
- Baca tentang konfigurasi Deployment Manager.
- Baca tentang Jenis.
- Baca dokumentasi Identity and Access Management (IAM).
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 ke setiap jenis. - Peran ini tidak dapat diberikan kepada
allAuthenticatedUsers
atauallUsers
.
Memberi project akses untuk menggunakan jenis
Untuk memberikan akses ke jenis yang termasuk dalam project lain, pemilik project yang memiliki jenis yang dimaksud harus memberikan peran deploymentmanager.typeViewer
ke akun layanan Google API project yang ingin menggunakan jenis tersebut.
- Buka halaman IAM di konsol Google Cloud project yang akan menggunakan jenis tersebut.
- Jika diminta, pilih project Anda dari daftar.
Cari akun layanan Google API, yang memiliki alamat email dalam format berikut:
[PROJECT_NUMBER]@cloudservices.gserviceaccount.com
Catat alamat email di atas. Selanjutnya, pemilik project tempat jenis yang diinginkan berada dapat memberikan peran
roles/deploymentmanager.typeViewer
kepada akun layanan Google API.Konsol
- Saat masih berada di konsol Google Cloud, buka halaman IAM project yang berisi jenis yang ingin Anda bagikan.
- Pilih project dari daftar project.
- Klik tombol Tambahkan untuk menambahkan anggota baru.
- Di kotak Anggota, masukkan alamat email akun layanan.
- Luaskan dropdown Roles, lalu pilih Other > Deployment Manager Types Viewer (beta).
- 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 di 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, Anda dapat menentukan jenis dalam konfigurasi menggunakan sintaksis. Untuk jenis komposit:
type: [PROJECT_ID]/composite:[TYPE]
Untuk penyedia jenis:
type: [PROJECT_ID]/[TYPE]:[COLLECTION]
Dengan keterangan:
[PROJECT_ID]
adalah project ID yang memiliki jenis.[TYPE]
adalah nama penyedia jenis atau jenis komposit.[COLLECTION]
adalah resource spesifik yang Anda buat. Hal ini hanya berlaku untuk jenis dasar. Untuk mengetahui informasi selengkapnya tentang cara menentukan jenis dasar, baca Memanggil Penyedia Jenis dalam Konfigurasi.
Misalnya, jika project ID-nya 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 mencantumkan dan melihat jenis
Memberikan peran deploymentmanager.typeViewer
kepada akun layanan project
memungkinkan project men-deploy jenis ini dalam konfigurasi Anda, tetapi tidak
memungkinkan pengguna melihat atau mencantumkan jenis ini. Jika ingin memberi setiap pengguna
kemampuan untuk melihat jenis, Anda harus memberikan peran deploymentmanager.typeViewer
kepada setiap pengguna.
Misalnya, agar Jane dapat menjalankan perintah gcloud beta deployment-manager types list --project another-project
untuk project yang bukan miliknya, pemilik another-project
harus memberi Jane peran deploymentmanager.typeViewer
.
Dengan menggunakan gcloud CLI, Anda dapat memberikan peran kepada Jane 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 ke anggota project.
Apa langkah selanjutnya?
- Baca tentang peran IAM lain yang dapat Anda berikan.
- Pelajari selengkapnya tentang akun layanan.