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 Anda dengan menggunakan konsol Google Cloud atau API.

Sebelum memulai

Sebelum melanjutkan untuk mengonfigurasi log audit Akses Data, pahami informasi berikut:

  • Log audit Akses Data—kecuali untuk BigQuery—dinonaktifkan secara default. Jika Anda 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 mengonfigurasi cara log audit Akses Data diaktifkan 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 ada dan baru di organisasi.

  • Folder: Anda dapat mengaktifkan dan mengonfigurasi log audit Akses Data di folder, yang berlaku untuk semua project Google Cloud yang ada dan baru di 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 organisasi atau folder induk.

  • Akun penagihan: Untuk mengonfigurasi log audit Akses Data untuk akun penagihan, gunakan Google Cloud CLI. Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI dengan log audit Akses Data dan akun penagihan, lihat dokumentasi 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.

  • Jenis izin: Anda dapat menentukan bahwa Google Cloud API yang hanya memeriksa jenis izin tertentu akan menghasilkan log audit. Untuk informasi selengkapnya, lihat bagian Jenis izin di halaman ini.

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

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

Jenis izin

Metode API memeriksa izin IAM. Setiap izin IAM memiliki jenis izin, yang ditentukan oleh properti type. Jenis izin dikategorikan sebagai jenis izin Akses Data atau sebagai jenis izin Aktivitas Admin:

  • Jenis izin Akses Data:

    • ADMIN_READ: Izin IAM jenis ini diperiksa untuk metode Google Cloud API yang membaca metadata atau informasi konfigurasi. Biasanya, log audit ADMIN_READ dinonaktifkan secara default dan harus diaktifkan.

    • DATA_READ: Izin IAM jenis ini diperiksa untuk metode Google Cloud API yang membaca data yang disediakan pengguna. Biasanya, log audit DATA_READ dinonaktifkan secara default dan harus diaktifkan.

    • DATA_WRITE: Izin IAM jenis ini diperiksa untuk metode Google Cloud API yang menulis data yang disediakan pengguna. Biasanya, log audit DATA_WRITE dinonaktifkan secara default dan harus diaktifkan.

  • Jenis izin Aktivitas Admin:

    • ADMIN_WRITE: Izin IAM jenis ini diperiksa untuk metode Google Cloud API yang menulis metadata atau informasi konfigurasi. Log audit yang terkait dengan jenis ini, Log audit Aktivitas Admin, aktif secara default dan tidak dapat dinonaktifkan.

Anda dapat mengaktifkan atau menonaktifkan jenis izin untuk layanan menggunakan konsol Google Cloud atau dengan memanggil API.

Sebagian besar Google Cloud API hanya memeriksa apakah pemanggil memiliki satu izin IAM. Jika jenis izin yang terkait dengan izin tersebut diaktifkan untuk layanan yang API-nya dipanggil, maka API akan menghasilkan log audit.

Bagian berikut secara umum menjelaskan cara lain metode Google Cloud API memeriksa izin IAM. Untuk mengetahui informasi khusus layanan tentang metode mana yang diperiksa untuk jenis izin mana, lihat dokumentasi logging audit layanan.

Pemeriksaan izin IAM untuk jenis izin Akses Data

Beberapa metode Google Cloud API memeriksa apakah pemanggil memiliki beberapa izin IAM dengan jenis izin Akses Data yang berbeda. Log audit ditulis saat salah satu jenis izin Akses Data tersebut diaktifkan di project.

Misalnya, metode API mungkin memeriksa apakah akun utama yang menerbitkan permintaan API memiliki izin example.resource.get (DATA_READ) dan example.resource.write (DATA_WRITE). Project hanya perlu mengaktifkan DATA_WRITE atau DATA_READ agar layanan dapat mengeluarkan log audit saat mengeluarkan panggilan.

Jenis izin IAM Aktivitas Admin dan Akses Data diperiksa

Beberapa metode Google Cloud API memeriksa izin IAM yang memiliki jenis izin ADMIN_WRITE, dan satu atau beberapa izin yang memiliki jenis izin Akses Data.

Jenis panggilan API ini menghasilkan Log audit Aktivitas Admin, yang aktif secara default dan tidak dapat dinonaktifkan.

Metode API memeriksa izin IAM yang tidak dimiliki oleh layanan

Beberapa layanan Google Cloud memiliki metode API yang membuat log audit hanya jika jenis izin tertentu diaktifkan untuk layanan lain.

Misalnya, Cloud Billing memiliki metode API yang memeriksa jenis izin ADMIN_READ yang dimiliki oleh Resource Manager. ADMIN_READ harus diaktifkan untuk layanan cloudresourcemanager.googleapis.com agar dapat mengaktifkan log audit yang terkait dengan Cloud Billing API.

Metode API yang sama memeriksa izin IAM yang berbeda

Untuk beberapa Google Cloud API, cara metode dipanggil menentukan jenis izin IAM yang harus diaktifkan di project agar log audit dapat dibuat.

Misalnya, Spanner memiliki metode API yang terkadang memeriksa izin IAM dengan jenis DATA_WRITE, dan terkadang memeriksa izin IAM dengan jenis DATA_READ, bergantung pada cara metode dipanggil. Dalam hal ini, mengaktifkan DATA_WRITE untuk Spanner di project, panggilan API hanya mengaktifkan log audit yang terkait dengan API saat izin IAM dengan jenis DATA_WRITE diperiksa.

Konfigurasi khusus layanan

Jika ada konfigurasi seluruh layanan Google Cloud (allServices) 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 Anda tidak dapat menonaktifkan log audit Akses Data untuk layanan Google Cloud yang diaktifkan dalam konfigurasi yang lebih luas.

  • Anda dapat menambahkan jenis informasi tambahan ke log audit Akses Data layanan Google Cloud, tetapi Anda 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 konfigurasi. Dengan kata lain, di 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 organisasi atau folder induk.

  • Di tingkat organisasi induk atau folder, 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 menetapkan kebijakan yang terkait dengan konfigurasi Akses Data, Anda memerlukan peran dengan izin di tingkat 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, lihat 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 Access 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 konsol Google Cloud, buka halaman Audit Logs:

    Buka Log Audit

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah IAM & Admin.

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

Mengaktifkan log audit

Untuk mengaktifkan log audit Akses Data, lakukan tindakan berikut:

  1. Di tabel Data Access audit logs configuration, pilih satu atau beberapa layanan Google Cloud dari kolom Service.

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

  3. Klik Simpan.

Jika Anda berhasil mengaktifkan log audit, tabel akan menyertakan ikon Periksa.

Pada contoh berikut, Anda melihat bahwa, untuk layanan Access Approval, jenis log audit Data Read diaktifkan:

Konfigurasi Log Audit

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

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

Menonaktifkan log audit Akses Data

Untuk menonaktifkan log audit Akses Data, lakukan tindakan berikut:

  1. Di tabel Data Access audit logs configuration, pilih satu atau beberapa layanan Google Cloud.

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

  3. Klik Simpan.

Jika Anda berhasil menonaktifkan log audit Akses Data, tabel akan menunjukkannya dengan tanda hubung. Setiap log audit Akses Data yang diaktifkan akan ditunjukkan dengan ikon Centang .

Menetapkan pengecualian

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

Untuk menetapkan pengecualian, lakukan hal berikut:

  1. Di tabel Data Access audit logs configuration, pilih layanan Google Cloud dari kolom Service.

  2. Pilih tab Prinsipal yang Dikecualikan di panel informasi.

  3. Di Tambahkan akun utama yang dikecualikan, masukkan akun utama yang ingin Anda kecualikan dari pembuatan log audit Akses Data untuk layanan yang dipilih.

    Anda dapat menambahkan beberapa akun utama dengan mengklik tombol Tambahkan akun utama yang dikecualikan 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 Anda nonaktifkan.

  5. Klik Simpan.

Jika Anda berhasil menambahkan akun utama yang dikecualikan ke layanan, tabel Data Access audit logs configuration akan menunjukkannya dengan angka di kolom Exempted principals.

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

  1. Di tabel Data Access audit logs configuration, pilih layanan Google Cloud dari kolom Service.

  2. Pilih tab Prinsipal yang Dikecualikan di panel informasi.

  3. Arahkan kursor ke nama akun utama, lalu pilih Hapus.

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

Untuk mengedit informasi akun utama yang dikecualikan, lakukan langkah-langkah berikut:

  1. Di tabel Data Access audit logs configuration, pilih layanan Google Cloud dari kolom Service.

  2. Pilih tab Prinsipal yang Dikecualikan di panel informasi.

  3. Cari akun utama, lalu pilih luaskan Tampilkan lainnya.

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

  5. Klik Simpan.

Menetapkan konfigurasi default

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

Untuk menetapkan atau mengedit konfigurasi default, lakukan hal berikut:

  1. Klik Set Default Configuration.

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

  3. Klik Simpan.

  4. Pilih tab Prinsipal yang Dikecualikan di panel informasi.

  5. Di Tambahkan akun utama yang dikecualikan, masukkan akun utama yang ingin Anda kecualikan dari pembuatan log audit Akses Data untuk layanan yang dipilih.

    Anda dapat menambahkan beberapa akun utama dengan mengklik tombol Tambahkan akun utama yang dikecualikan 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 Anda nonaktifkan.

  7. Klik Simpan.

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 tugas ini juga dapat dilakukan menggunakan konsol Google Cloud; untuk petunjuknya, lihat Mengonfigurasi log audit Akses Data dengan konsol Google Cloud 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 dalam kebijakan:

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

Untuk mengetahui detailnya, lihat jenis Kebijakan IAM.

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

AuditConfig objek

Konfigurasi log audit terdiri dari daftar objek AuditConfig. Setiap objek mengonfigurasi log untuk satu layanan, atau menetapkan konfigurasi yang lebih luas untuk semua layanan. Setiap objek 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 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, jenis informasi tersebut tidak akan diaktifkan untuk layanan.

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

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

JSON

"auditConfigs": [
  {
    "auditLogConfigs": [
      {
        "logType": "ADMIN_READ"
      },
      {
        "logType": "DATA_WRITE"
      },
      {
        "logType": "DATA_READ"
      }
    ],
    "service": "allServices"
  },
  {
    "auditLogConfigs": [
      {
        "exemptedMembers": [
          "499862534253-compute@"
        ],
        "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@
    logType: ADMIN_READ
  service: cloudsql.googleapis.com

Konfigurasi umum

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

Mengaktifkan 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 jenis layanan dan 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

Menonaktifkan 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 bagian berjudul Mask update setIamPolicy.

Log audit Akses Data BigQuery tidak dapat dinonaktifkan.

getIamPolicy dan setIamPolicy

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

  • 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 dalam file sementara. Ubah (atau tambahkan) hanya bagian auditConfigs.
  3. Tulis kebijakan yang diedit dalam file sementara, menggunakan salah satu metode setIamPolicy.

setIamPolicy gagal jika Resource Manager mendeteksi bahwa seseorang lainnya mengubah kebijakan setelah Anda membacanya di langkah pertama. Jika hal ini terjadi, ulangi ketiga langkah tersebut.

Contoh

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

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

gcloud

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

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

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

    Berikut adalah kebijakan yang ditampilkan. Kebijakan ini tidak 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 hanya menambahkan atau mengubah konfigurasi log audit Akses Data.

    Contoh kebijakan yang diedit, yang mengaktifkan log audit Akses Data penulisan data Cloud SQL:

    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
    

    Seperti yang ditunjukkan contoh sebelumnya, empat baris telah ditambahkan ke awal kebijakan.

  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 dengan 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 ke metode getIamPolicy API:

    • resource: projects/PROJECT_ID
    • Isi permintaan: kosong

    Metode ini akan menampilkan objek kebijakan saat ini:

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

    Contoh sebelumnya menunjukkan bahwa kebijakan project tidak memiliki bagian auditConfigs.

  2. Edit kebijakan saat ini:

    • Ubah atau tambahkan bagian auditConfigs.

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

    • Mempertahankan nilai etag.

    Anda juga dapat menghapus semua informasi lain dari objek kebijakan baru, selama Anda berhati-hati untuk menetapkan updateMask pada langkah berikutnya. Berikut ini kebijakan yang diedit, yang mengaktifkan log audit DATA_WRITE Cloud SQL:

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

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

Mask pembaruan setIamPolicy

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

Metode API setIamPolicy 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 akan 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. Sebagai gantinya, 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 tingkat 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 ada dalam mask pembaruan. Hal ini tidak berbahaya, tetapi mungkin membingungkan.

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

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