Mengaktifkan log audit Akses Data

Panduan ini menjelaskan cara mengaktifkan atau menonaktifkan beberapa atau semua log audit Akses Data di project, akun penagihan, folder, dan organisasi Google Cloud menggunakan Konsol Google Cloud atau API.

Sebelum memulai

Sebelum Anda melanjutkan konfigurasi log audit Akses Data, pahami informasi berikut:

  • Log audit Akses Data—kecuali untuk BigQuery—dinonaktifkan secara default. Jika ingin log audit Akses Data ditulis untuk layanan Google Cloud selain BigQuery, Anda harus mengaktifkannya secara eksplisit.

  • Log audit Akses Data disimpan di bucket _Default, kecuali jika Anda telah merutekannya ke tempat lain. Untuk informasi selengkapnya, lihat Menyimpan dan merutekan log audit.

  • Log audit Akses Data membantu Dukungan Google memecahkan masalah pada akun Anda. Oleh karena itu, sebaiknya aktifkan log audit Akses Data jika memungkinkan.

Ringkasan konfigurasi

Anda dapat mengaktifkan dan mengonfigurasi aspek tertentu dari log audit Akses Data untuk resource dan layanan Google Cloud:

  • Organisasi: Anda dapat mengaktifkan dan mengonfigurasi log audit Akses Data di organisasi, yang berlaku untuk semua project dan folder Google Cloud yang sudah ada dan yang baru di organisasi.

  • Folder: Anda dapat mengaktifkan dan mengonfigurasi log audit Akses Data dalam folder, yang berlaku untuk semua project Google Cloud yang sudah ada dan yang baru di dalam folder tersebut. Anda tidak dapat menonaktifkan log audit Akses Data yang diaktifkan di organisasi induk project.

  • Project: Anda dapat mengonfigurasi log audit Akses Data untuk setiap project Google Cloud. Anda tidak dapat menonaktifkan log audit Akses Data yang diaktifkan di folder atau organisasi induk.

  • Akun penagihan: Untuk mengonfigurasi log audit Akses Data untuk akun penagihan, gunakan Google Cloud CLI. Untuk mengetahui informasi lebih lanjut tentang cara menggunakan gcloud CLI dengan log audit dan akun penagihan Akses Data, baca dokumentasi referensi untuk gcloud beta billing accounts set-iam-policy.

  • Konfigurasi default: Anda dapat menentukan konfigurasi log audit Akses Data default di organisasi, folder, atau project Google Cloud yang berlaku untuk layanan Google Cloud mendatang yang mulai menghasilkan log audit Akses Data. Untuk mengetahui petunjuknya, lihat Menetapkan konfigurasi default.

  • Layanan: Anda dapat menentukan layanan yang log auditnya ingin Anda terima. Misalnya, Anda mungkin menginginkan log audit dari Compute Engine, tetapi bukan dari Cloud SQL. Untuk mengetahui daftar layanan Google Cloud yang dapat membuat log audit, lihat Layanan Google dengan log audit.

  • Jenis log: Anda dapat mengonfigurasi jenis operasi yang dicatat dalam log audit Akses Data Anda. Ada tiga jenis log audit Akses Data:

    • ADMIN_READ: Merekam operasi yang membaca metadata atau informasi konfigurasi.

    • DATA_READ: Merekam operasi yang membaca data yang disediakan pengguna.

    • DATA_WRITE: Merekam operasi yang menulis data yang disediakan pengguna.

    Misalnya, Cloud DNS menulis ketiga jenis log Akses Data, tetapi Anda dapat mengonfigurasi log audit Akses Data agar hanya mencatat operasi DATA_WRITE.

  • Entity utama yang dikecualikan: Anda dapat mengecualikan akun utama tertentu agar akses datanya tidak direkam. Misalnya, Anda dapat mengecualikan akun pengujian internal agar operasi Cloud Monitoring-nya tidak direkam. Untuk mengetahui daftar akun utama yang valid, termasuk pengguna dan grup, lihat referensi jenis Binding.

Anda dapat mengonfigurasi log audit Akses Data melalui halaman Log Audit IAM di Google Cloud Console, atau dengan menggunakan API. Metode ini dijelaskan di bagian bawah.

Konfigurasi khusus layanan

Jika ada konfigurasi seluruh layanan (allServices) Google Cloud dan konfigurasi untuk layanan Google Cloud tertentu, konfigurasi yang dihasilkan untuk layanan tersebut adalah gabungan dari kedua konfigurasi tersebut. Dengan kata lain:

  • Anda dapat mengaktifkan log audit Akses Data untuk layanan Google Cloud tertentu, tetapi tidak dapat menonaktifkan log audit Akses Data untuk layanan Google Cloud yang diaktifkan dalam konfigurasi yang lebih luas.

  • Anda dapat menambahkan jenis informasi lainnya ke log audit Akses Data layanan Google Cloud, tetapi tidak dapat menghapus jenis informasi yang ditentukan dalam konfigurasi yang lebih luas.

  • Anda dapat menambahkan akun utama ke daftar pengecualian, tetapi tidak dapat menghapusnya dari daftar pengecualian dalam konfigurasi yang lebih luas.

  • Untuk BigQuery Data Transfer Service, konfigurasi log audit Akses Data diwarisi dari konfigurasi log audit default Anda.

Konfigurasi resource Google Cloud

Anda dapat mengonfigurasi log audit Akses Data untuk project, akun penagihan, folder, dan organisasi Google Cloud. Jika ada konfigurasi untuk layanan Google Cloud di seluruh hierarki, konfigurasi yang dihasilkan adalah gabungan dari konfigurasi tersebut. Dengan kata lain, pada level project Google Cloud:

  • Anda dapat mengaktifkan log untuk layanan Google Cloud, tetapi tidak dapat menonaktifkan log untuk layanan Google Cloud yang diaktifkan di organisasi atau folder induk.

  • Anda dapat mengaktifkan jenis informasi, tetapi tidak dapat menonaktifkan jenis informasi yang diaktifkan di organisasi atau folder induk.

  • Anda dapat menambahkan akun utama ke daftar pengecualian, tetapi tidak dapat menghapusnya dari daftar pengecualian di folder atau organisasi induk.

  • Di tingkat folder atau organisasi induk, Anda dapat mengaktifkan log audit Akses Data untuk project Google Cloud dalam organisasi atau folder tersebut, meskipun log audit Akses Data belum dikonfigurasi di project Google Cloud.

Kontrol akses

Peran dan izin Identity and Access Management mengatur akses ke data Logging, termasuk melihat dan mengelola kebijakan IAM yang mendasari konfigurasi logging audit Akses Data.

Untuk melihat atau menyetel kebijakan yang terkait dengan konfigurasi Akses Data, Anda memerlukan peran dengan izin di level resource yang sesuai. Untuk mengetahui petunjuk tentang cara memberikan peran tingkat resource ini, lihat Mengelola akses ke project, folder, dan organisasi Google Cloud.

  • Untuk menetapkan kebijakan IAM, Anda memerlukan peran dengan izin resourcemanager.RESOURCE_TYPE.setIamPolicy.

  • Untuk melihat kebijakan IAM, Anda memerlukan peran dengan izin resourcemanager.RESOURCE_TYPE.getIamPolicy.

Untuk mengetahui daftar izin dan peran yang Anda perlukan untuk melihat log audit Akses Data, baca bagian Kontrol akses dengan IAM.

Mengonfigurasi log audit Akses Data dengan Konsol Google Cloud

Bagian ini menjelaskan cara menggunakan Konsol Google Cloud untuk mengonfigurasi log audit Akses Data.

Anda juga dapat menggunakan API atau Google Cloud CLI untuk melakukan tugas ini secara terprogram. Lihat Mengonfigurasi log audit Akses Data dengan API untuk mengetahui detailnya.

Untuk mengakses opsi konfigurasi log audit di Konsol Google Cloud, ikuti langkah-langkah berikut:

  1. Di panel navigasi Konsol Google Cloud, pilih IAM & Admin, lalu pilih Log Audit:

    Buka Log Audit

  2. Pilih project, folder, atau organisasi Google Cloud yang sudah ada.

Mengaktifkan log audit

Untuk mengaktifkan log audit Akses Data, lakukan tindakan berikut:

  1. Dalam tabel Konfigurasi log audit Akses Data, pilih satu atau beberapa layanan Google Cloud dari kolom Layanan.

  2. Di tab Log Types, pilih jenis log audit Akses Data yang ingin Anda aktifkan untuk layanan yang Anda pilih.

  3. Klik Save.

Setelah Anda berhasil mengaktifkan log audit, tabel akan menyertakan ikon Check .

Dalam contoh berikut, Anda melihat bahwa, untuk layanan Persetujuan Akses, jenis log audit Pembacaan Data diaktifkan:

Konfigurasi Log Audit

Anda juga dapat mengaktifkan log audit untuk semua layanan Google Cloud yang menghasilkan log audit Akses Data. Di tabel Konfigurasi log audit Akses Data, pilih semua layanan Google Cloud.

Perhatikan bahwa metode konfigurasi massal ini hanya berlaku untuk layanan Google Cloud yang saat ini tersedia untuk resource Anda. Jika ditambahkan, layanan Google Cloud baru akan mewarisi konfigurasi audit default Anda.

Menonaktifkan log audit Akses Data

Untuk menonaktifkan log audit Akses Data, lakukan tindakan berikut:

  1. Dalam tabel Konfigurasi log audit Akses Data, pilih satu atau beberapa layanan Google Cloud.

  2. Di tab Log Types pada panel informasi, pilih jenis log audit Akses Data yang ingin dinonaktifkan untuk layanan yang Anda pilih.

  3. Klik Save.

Jika Anda telah berhasil menonaktifkan log audit Akses Data, tabel akan menunjukkan hal ini dengan tanda hubung. Setiap log audit Akses Data yang diaktifkan ditunjukkan dengan ikon Periksa.

Tetapkan pengecualian

Anda dapat menetapkan pengecualian agar Anda dapat mengontrol akun utama mana yang membuat log audit Akses Data untuk layanan tertentu. Saat Anda menambahkan akun utama yang dikecualikan, log audit tidak akan dibuat untuk jenis log yang dipilih.

Untuk menetapkan pengecualian, lakukan langkah berikut:

  1. Dalam tabel Konfigurasi log audit Akses Data, pilih layanan Google Cloud dari kolom Layanan.

  2. Pilih tab Akun Utama yang Dikecualikan di panel informasi.

  3. Di bagian Tambahkan akun utama yang dikecualikan, masukkan akun utama yang ingin Anda kecualikan agar tidak membuat log audit Akses Data untuk layanan yang Anda pilih.

    Anda dapat menambahkan beberapa akun utama dengan mengklik tombol Add excludeded principal sebanyak yang diperlukan.

    Untuk mengetahui daftar akun utama yang valid, termasuk pengguna dan grup, lihat referensi jenis Binding.

  4. Di Disabled Log Types, pilih jenis log audit Akses Data yang ingin dinonaktifkan.

  5. Klik Save.

Jika Anda berhasil menambahkan akun utama yang dikecualikan ke layanan, tabel Konfigurasi log audit Akses Data menunjukkan hal ini dengan angka di bagian kolom Exempted principals.

Untuk menghapus akun utama dari daftar pengecualian, lakukan langkah berikut:

  1. Dalam tabel Konfigurasi log audit Akses Data, pilih layanan Google Cloud dari kolom Layanan.

  2. Pilih tab Akun Utama yang Dikecualikan di panel informasi.

  3. Arahkan kursor ke nama utama, lalu pilih ikon hapus yang muncul.

  4. Setelah nama akun utama ditampilkan dalam teks yang dicoret, klik Simpan.

Untuk mengedit informasi akun utama yang dikecualikan, lakukan hal berikut:

  1. Dalam tabel Konfigurasi log audit Akses Data, pilih layanan Google Cloud dari kolom Layanan.

  2. Pilih tab Akun Utama yang Dikecualikan di panel informasi.

  3. Luaskan nama utama .

  4. Pilih atau batalkan pilihan jenis log audit Akses Data yang sesuai untuk akun utama.

  5. Klik Save.

Menetapkan konfigurasi default

Anda dapat menyetel konfigurasi yang diwarisi oleh semua layanan Google Cloud, baik yang baru maupun yang sudah ada, di project, folder, atau organisasi Google Cloud Anda. Penetapan konfigurasi default ini akan berlaku jika layanan Google Cloud baru tersedia dan akun utama di organisasi Anda mulai menggunakannya: layanan ini mewarisi kebijakan logging audit yang telah Anda tetapkan untuk layanan Google Cloud lainnya, yang memastikan bahwa log audit Akses Data direkam.

Untuk menetapkan atau mengedit konfigurasi default, lakukan hal berikut:

  1. Klik Tetapkan Konfigurasi Default.

  2. Di tab Log Types di panel informasi, pilih jenis log audit Akses Data yang ingin Anda aktifkan atau nonaktifkan.

  3. Klik Save.

  4. Pilih tab Akun Utama yang Dikecualikan di panel informasi.

  5. Di bagian Tambahkan akun utama yang dikecualikan, masukkan akun utama yang ingin Anda kecualikan agar tidak membuat log audit Akses Data untuk layanan yang Anda pilih.

    Anda dapat menambahkan beberapa akun utama dengan mengklik tombol Add excludeded principal sebanyak yang diperlukan.

    Untuk mengetahui daftar akun utama yang valid, termasuk pengguna dan grup, lihat referensi jenis Binding.

  6. Di Disabled Log Types, pilih jenis log audit Akses Data yang ingin dinonaktifkan.

  7. Klik Save.

Mengonfigurasi log audit Akses Data dengan API

Bagian ini menjelaskan cara menggunakan API dan gcloud CLI untuk mengonfigurasi log audit Akses Data secara terprogram.

Banyak dari tugas ini juga dapat dilakukan menggunakan Google Cloud Console. Untuk mengetahui petunjuknya, lihat Mengonfigurasi log audit Akses Data dengan Google Cloud Console di halaman ini.

Objek kebijakan IAM

Untuk mengonfigurasi log audit Akses Data menggunakan API, Anda harus mengedit kebijakan IAM yang terkait dengan project, folder, atau organisasi Google Cloud Anda. Konfigurasi log audit ada di bagian auditConfigs kebijakan:

"auditConfigs": [
  {
    object(AuditConfig)
  }
]

Untuk mengetahui detailnya, baca jenis Kebijakan IAM.

Bagian berikut menjelaskan objek AuditConfig secara lebih mendetail. Untuk perintah API dan gcloud CLI yang digunakan untuk mengubah konfigurasi, lihat getIamPolicy dan setIamPolicy

AuditConfig objek

Konfigurasi log audit terdiri dari daftar objek AuditConfig. Setiap objek mengonfigurasi log untuk satu layanan, atau membuat konfigurasi yang lebih luas untuk semua layanan. Setiap objek akan terlihat seperti berikut:

{
  "service": SERVICE_NAME,
  "auditLogConfigs": [
    {
      "logType": "ADMIN_READ"
      "exemptedMembers": [ PRINCIPAL,]
    },
    {
      "logType": "DATA_READ"
      "exemptedMembers": [ PRINCIPAL,]
    },
    {
      "logType": "DATA_WRITE"
      "exemptedMembers": [ PRINCIPAL,]
    },
  ]
},

SERVICE_NAME memiliki nilai seperti "appengine.googleapis.com", atau merupakan nilai khusus, "allServices". Jika konfigurasi tidak menyebutkan layanan tertentu, konfigurasi yang lebih luas akan digunakan untuk layanan tersebut. Jika tidak ada konfigurasi, log audit Akses Data tidak akan diaktifkan untuk layanan tersebut. Untuk mengetahui daftar nama layanan, lihat Layanan log.

Bagian auditLogConfigs dari objek AuditConfig adalah daftar 0 hingga 3 objek, yang masing-masing mengonfigurasi satu jenis informasi log audit. Jika Anda menghapus salah satu jenis dari daftar, informasi semacam itu tidak akan diaktifkan untuk layanan.

PRINCIPAL adalah pengguna yang log audit Akses Datanya tidak dikumpulkan. Jenis Binding menjelaskan berbagai jenis akun utama, termasuk pengguna dan grup, tetapi tidak semua akun tersebut dapat digunakan untuk mengonfigurasi log audit Akses Data.

Berikut adalah contoh konfigurasi audit dalam format JSON dan YAML. Format YAML adalah default saat menggunakan Google Cloud CLI.

JSON

"auditConfigs": [
  {
    "auditLogConfigs": [
      {
        "logType": "ADMIN_READ"
      },
      {
        "logType": "DATA_WRITE"
      },
      {
        "logType": "DATA_READ"
      }
    ],
    "service": "allServices"
  },
  {
    "auditLogConfigs": [
      {
        "exemptedMembers": [
          "499862534253-compute@developer.gserviceaccount.com"
        ],
        "logType": "ADMIN_READ"
      }
    ],
    "service": "cloudsql.googleapis.com"
  }
],

YAML

auditConfigs:
- auditLogConfigs:
  - logType: ADMIN_READ
  - logType: DATA_WRITE
  - logType: DATA_READ
  service: allServices
- auditLogConfigs:
  - exemptedMembers:
    - 499862534253-compute@developer.gserviceaccount.com
    logType: ADMIN_READ
  service: cloudsql.googleapis.com

Konfigurasi umum

Berikut adalah beberapa konfigurasi log audit umum untuk project Google Cloud.

Aktifkan semua log audit Akses Data

Bagian auditConfigs berikut mengaktifkan log audit Akses Data untuk semua layanan dan akun utama:

JSON

"auditConfigs": [
      {
        "service": "allServices",
        "auditLogConfigs": [
          { "logType": "ADMIN_READ" },
          { "logType": "DATA_READ"  },
          { "logType": "DATA_WRITE" },
        ]
      },
    ]

YAML

auditConfigs:
- auditLogConfigs:
  - logType: ADMIN_READ
  - logType: DATA_WRITE
  - logType: DATA_READ
  service: allServices

Mengaktifkan satu layanan dan jenis informasi

Konfigurasi berikut mengaktifkan log audit Akses Data DATA_WRITE untuk Cloud SQL:

JSON

"auditConfigs": [
  {
    "service": "cloudsql.googleapis.com",
    "auditLogConfigs": [
      { "logType": "DATA_WRITE" },
    ]
  },
]

YAML

auditConfigs:
- auditLogConfigs:
  - logType: DATA_WRITE
  service: cloudsql.googleapis.com

Nonaktifkan semua log audit Akses Data

Untuk menonaktifkan semua log audit Akses Data (kecuali BigQuery) di project Google Cloud, sertakan bagian auditConfigs: kosong dalam kebijakan IAM baru Anda:

JSON

"auditConfigs": [],

YAML

auditConfigs:

Jika Anda menghapus bagian auditConfigs sepenuhnya dari kebijakan baru, setIamPolicy tidak akan mengubah konfigurasi log audit Akses Data yang ada. Untuk informasi selengkapnya, lihat Mask pembaruan setIamPolicy.

Log audit Akses Data BigQuery tidak dapat dinonaktifkan.

getIamPolicy dan setIamPolicy

Anda dapat menggunakan metode getIamPolicy dan setIamPolicy Cloud Resource Manager API untuk membaca dan menulis kebijakan IAM Anda. Anda memiliki beberapa pilihan untuk menggunakan metode tertentu:

  • Cloud Resource Manager API memiliki metode berikut:

    projects.getIamPolicy
    projects.setIamPolicy
    organizations.getIamPolicy
    organizations.setIamPolicy
    
  • Google Cloud CLI memiliki perintah Resource Manager berikut:

    gcloud projects get-iam-policy
    gcloud projects set-iam-policy
    gcloud resource-manager folders get-iam-policy
    gcloud resource-manager folders set-iam-policy
    gcloud organizations get-iam-policy
    gcloud organizations set-iam-policy
    gcloud beta billing accounts get-iam-policy
    gcloud beta billing accounts set-iam-policy
    

Apa pun pilihan Anda, ikuti tiga langkah berikut:

  1. Baca kebijakan saat ini menggunakan salah satu metode getIamPolicy. Simpan kebijakan ke file sementara.
  2. Edit kebijakan di file sementara. Ubah (atau tambahkan) hanya bagian auditConfigs.
  3. Tulis kebijakan yang telah diedit dalam file sementara, menggunakan salah satu metode setIamPolicy.

setIamPolicy gagal jika Resource Manager mendeteksi bahwa orang lain mengubah kebijakan setelah Anda membacanya pada langkah pertama. Jika ini terjadi, maka ulangi ketiga langkah tersebut.

Contoh

Contoh berikut menunjukkan cara mengonfigurasi log audit Akses Data project Anda menggunakan perintah gcloud dan Cloud Resource Manager API.

Untuk mengonfigurasi log audit Akses Data organisasi, ganti versi perintah dan metode API "project" dengan versi "organisasi".

gcloud

Untuk mengonfigurasi log audit Akses Data menggunakan perintah gcloud projects, lakukan langkah berikut:

  1. Baca kebijakan IAM project Anda dan simpan dalam sebuah file:

    gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
    

    Kebijakan yang dikembalikan ditampilkan di bawah ini. Kebijakan ini belum memiliki bagian auditConfigs:

    bindings:
    - members:
      - user:colleague@example.com
      role: roles/editor
    - members:
      - user:myself@example.com
      role: roles/owner
    etag: BwVM-FDzeYM=
    version: 1
    
  2. Edit kebijakan Anda di /tmp/policy.yaml, dengan menambahkan atau mengubah hanya konfigurasi log audit Akses Data.

    Berikut adalah contoh kebijakan yang telah diedit, yang mengaktifkan penulisan log audit Akses Data Cloud SQL, ditampilkan di bawah. Empat baris telah ditambahkan di awal:

    auditConfigs:
    - auditLogConfigs:
      - logType: DATA_WRITE
      service: cloudsql.googleapis.com
    bindings:
    - members:
      - user:colleague@example.com
      role: roles/editor
    - members:
      - user:myself@example.com
      role: roles/owner
    etag: BwVM-FDzeYM=
    version: 1
    
  3. Tulis kebijakan IAM baru Anda:

    gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
    

    Jika perintah sebelumnya melaporkan konflik dengan perubahan lain, ulangi langkah-langkah ini, dimulai dari langkah pertama.

JSON

Untuk menggunakan kebijakan IAM dalam format JSON, bukan YAML, ganti perintah gcloud berikut ke dalam contoh:

gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json

API

Untuk mengonfigurasi log audit Akses Data menggunakan Cloud Resource Manager API, lakukan hal berikut:

  1. Baca kebijakan IAM project Anda dengan menentukan parameter berikut untuk metode API getIamPolicy:

    • resource: projects/PROJECT_ID
    • Isi permintaan: kosong

    Metode ini akan menampilkan objek kebijakan saat ini, yang ditampilkan di bawah. Kebijakan project ini belum memiliki bagian auditConfigs:

    {
      "version": 1,
      "etag": "BwXqwxkr40M=",
      "bindings": [
        {
          "role": "roles/owner",
          "members": [
            "user:myself@example.com"
          ]
        }
      ]
    }
    
  2. Edit kebijakan saat ini:

    • Ubah atau tambahkan bagian auditConfigs.

      Untuk menonaktifkan log audit Akses Data Anda, sertakan nilai kosong untuk bagian: auditConfigs:[].

    • Pertahankan nilai etag.

    Anda juga dapat menghapus semua informasi lain dari objek kebijakan baru, selama Anda berhati-hati dalam menetapkan updateMask di langkah berikutnya. Kebijakan yang telah diedit, yang mengaktifkan log audit penulisan data Cloud SQL, ditampilkan di bawah ini:

    {
      "policy": {
        "auditConfigs": [
          {
            "auditLogConfigs": [
              {
                "logType": "DATA_WRITE"
              }
            ],
            "service": "cloudsql.googleapis.com"
          }
        ],
        "etag": "BwXqwxkr40M="
      },
      "updateMask": "auditConfigs,etag"
    }
    
  3. Tulis kebijakan baru menggunakan metode setIamPolicy API dengan menentukan parameter berikut:

    • resource: projects/PROJECT_ID
    • Isi permintaan: Menyertakan kebijakan yang diedit.

Mask pembaruan setIamPolicy

Bagian ini menjelaskan pentingnya parameter updateMask dalam metode setIamPolicy, dan menjelaskan alasan mengapa Anda harus berhati-hati dengan perintah set-iam-policy gcloud CLI agar tidak menyebabkan kerugian yang tidak disengaja pada project atau organisasi Google Cloud Anda.

setIamPolicy API method menggunakan parameter updateMask untuk mengontrol kolom kebijakan mana yang diperbarui. Misalnya, jika mask tidak berisi bindings, Anda tidak dapat mengubah bagian kebijakan tersebut secara tidak sengaja. Di sisi lain, jika mask berisi bindings, bagian tersebut selalu diperbarui. Jika Anda tidak menyertakan nilai yang diperbarui untuk bindings, bagian tersebut akan dihapus sepenuhnya dari kebijakan.

Perintah gcloud projects set-iam-policy, yang memanggil setIamPolicy, tidak memungkinkan Anda menentukan parameter updateMask. Sebaliknya, perintah ini menghitung nilai untuk updateMask dengan cara berikut:

  • updateMask selalu berisi kolom bindings dan etag.
  • Jika objek kebijakan yang disediakan di set-iam-policy berisi kolom level atas lainnya—seperti auditConfigs—kolom tersebut akan ditambahkan ke updateMask.

Sebagai konsekuensi dari aturan ini, perintah set-iam-policy memiliki perilaku berikut:

  • Jika Anda menghapus bagian auditConfigs dalam kebijakan baru, nilai bagian auditConfigs sebelumnya (jika ada) tidak akan berubah karena bagian tersebut tidak dalam mask update. Hal ini tidak berbahaya tetapi mungkin membingungkan.

  • Jika Anda menghapus bindings dalam objek kebijakan baru, bagian bindings akan dihapus dari kebijakan Anda, karena bagian ini muncul di mask update. Hal ini sangat berbahaya, dan menyebabkan semua akun utama kehilangan akses ke project Google Cloud Anda.

  • Jika Anda menghapus etag dalam objek kebijakan baru, tindakan ini akan menonaktifkan pemeriksaan perubahan serentak pada kebijakan dan dapat menyebabkan perubahan tersebut secara tidak sengaja menimpa perubahan yang dibuat orang lain.