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 diberi peran Agen Layanan Container Registry dalam project yang mengaktifkan Container Registry API setelah 5 Oktober 2020. Peran ini memiliki izin berikut:

  • Publikasikan topik: pubsub.topics.publish
  • Membaca ACL objek penyimpanan: storage.objects.getIamPolicy
  • Membaca metadata dan data 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 sebuah 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, pilih kotak centang Include Google- provided rolegrants.

  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 dapat memperoleh project ID dan nomor project di Google Cloud Console 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 Container Registry Service Agent 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