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
- 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 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 untuk setiap jenis. - Anda tidak dapat memberikan peran ini kepada
allAuthenticatedUsers
atauallUsers
.
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.
- Buka halaman IAM di Konsol Google Cloud project yang akan memakai 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 memberi akun layanan Google API peran
roles/deploymentmanager.typeViewer
.Konsol
- Saat berada di Google Cloud Console, buka halaman IAM project yang berisi jenis yang ingin Anda bagikan.
- Pilih project dari daftar project.
- Klik tombol Add untuk menambahkan anggota baru.
- Di kotak Anggota, masukkan alamat email akun layanan.
- Luaskan dropdown Peran, lalu pilih Lainnya > 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 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?
- Baca tentang peran IAM lain yang dapat Anda berikan.
- Pelajari selengkapnya tentang akun layanan.