Akun layanan Container Registry

Agen Layanan Container Registry adalah akun layanan yang dikelola Google yang bertindak atas nama Container Registry saat berinteraksi dengan layanan Google Cloud.

Untuk menerapkan prinsip keamanan hak istimewa terendah, akun layanan ini diberikan peran Agen Layanan Container Registry di project tempat Container Registry API diaktifkan setelah 5 Oktober 2020. Peran ini memiliki izin berikut:

  • Memublikasikan topik: pubsub.topics.publish
  • Baca ACL objek penyimpanan: storage.objects.getIamPolicy
  • Membaca data dan metadata objek penyimpanan: storage.objects.get
  • Mencantumkan objek penyimpanan dalam bucket dan membaca metadata objek: storage.objects.list

Sebelumnya, akun layanan Container Registry diberi peran Editor. Karena peran Editor memberikan izin untuk membuat dan menghapus sebagian besar resource dalam project, sebaiknya batasi izin jika akun layanan Container Registry Anda memiliki peran ini.

Menemukan ID akun layanan

Akun layanan Container Registry memiliki ID berikut:

service-[PROJECT_NUMBER]@containerregistry.iam.gserviceaccount.com

Untuk menemukan akun layanan, lihat daftar akun utama yang memiliki akses ke project Anda.

Konsol

  1. Buka halaman IAM.

  2. Untuk menambahkan akun yang dikelola Google ke daftar akun utama, centang kotak Sertakan pemberian peran yang diberikan Google.

  3. Untuk memfilter daftar, masukkan containerregistry di kolom Filter.

gcloud

Jalankan perintah berikut untuk mencantumkan akun utama yang berisi string containerregistry:

gcloud projects get-iam-policy PROJECT-ID \
    --flatten="bindings[].members"
    --filter="containerregistry"

Ganti PROJECT-ID dengan ID project Google Cloud Anda.

Memverifikasi izin saat ini

Untuk memverifikasi izin akun layanan Container Registry Anda saat ini, jalankan perintah:

gcloud projects get-iam-policy PROJECT-ID  \
    --flatten="bindings[].members" \
    --format='table(bindings.role)' \
    --filter="bindings.members:service-PROJECT-NUMBER@containerregistry.iam.gserviceaccount.com"

Dari mana

  • PROJECT-ID adalah project ID Google Cloud.
  • PROJECT-NUMBER adalah nomor project Google Cloud.

Anda bisa mendapatkan project ID dan nomor project di Konsol Google Cloud atau dengan perintah berikut:

PROJECT=$(gcloud config get-value project)
echo $PROJECT && gcloud projects list --filter="$PROJECT" --format="value(PROJECT_NUMBER)"

Mengubah izin

Untuk memberikan peran Agen Layanan Container Registry dan mencabut peran Editor:

  1. Berikan peran Agen Layanan Container Registry dengan perintah berikut:

    gcloud projects add-iam-policy-binding PROJECT-ID \
    --member=serviceAccount:service-PROJECT-NUMBER@containerregistry.iam.gserviceaccount.com --role=roles/containerregistry.ServiceAgent
    
  2. Cabut peran Editor dengan perintah berikut:

    gcloud projects remove-iam-policy-binding PROJECT-ID \
    --member=serviceAccount:service-PROJECT-NUMBER@containerregistry.iam.gserviceaccount.com --role=roles/editor