Menggabungkan dan menyimpan log organisasi Anda

Dokumen ini menjelaskan cara mengelola log yang dihasilkan oleh resource yang ada dalam organisasi Google Cloud Anda menggunakan sink agregat yang tidak disadap.

Anda dapat mengonfigurasi sink gabungan agar melakukan intersepsi atau tanpa intersepsi, bergantung pada apakah Anda ingin mengontrol log mana yang dapat dikueri, atau diarahkan melalui sink dalam resource turunan. Dalam tutorial ini, Anda akan membuat sink gabungan yang merutekan log audit organisasi Anda ke bucket log. Anda dapat mengonfigurasi filter sink untuk merutekan jenis entri log lainnya. Untuk informasi selengkapnya tentang sink gabungan, lihat Mengompilasi dan merutekan log tingkat organisasi serta folder ke tujuan yang didukung.

Dalam tutorial ini, Anda akan melakukan langkah-langkah berikut:

  1. Membuat bucket Cloud Logging untuk menyimpan log gabungan.

  2. Membuat sink gabungan yang tidak mengintersep di tingkat organisasi untuk merutekan log ke bucket log baru.

  3. Mengonfigurasi akses baca ke bucket log baru.

  4. Membuat kueri dan melihat log dari halaman Logs Explorer.

Sebelum memulai

Pastikan hal berikut:

  • Untuk mendapatkan izin yang Anda perlukan dalam membuat bucket log dan sink log gabungan, mintalah administrator untuk memberi Anda peran IAM berikut:

    Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

  • Untuk mendapatkan izin yang diperlukan untuk memberikan peran akun utama, minta administrator untuk memberi Anda peran IAM Pemilik (roles/owner) di sebuah project.

  • Jika menggunakan Kontrol Layanan VPC, Anda harus menambahkan aturan masuk ke perimeter layanan. Untuk informasi lebih lanjut tentang batasan Kontrol Layanan VPC, baca Batasan Kontrol Layanan VPC dan sink gabungan.

Membuat bucket log

Bucket log menyimpan log yang dirutekan dari project, folder, atau organisasi Google Cloud lainnya. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi bucket log.

Untuk membuat bucket log di project Google Cloud yang ingin Anda gabungkan lognya, selesaikan langkah-langkah berikut:

  1. Buka konsol Google Cloud, atau klik tombol berikut:

    Buka konsol Google Cloud

  2. Di terminal Cloud Shell, jalankan perintah gcloud logging buckets create.

    Sebelum menjalankan perintah berikut, buat pengganti berikut:

    • BUCKET_NAME: Nama bucket log.
    • LOCATION: Lokasi bucket log.
    • PROJECT_ID: ID project tempat membuat bucket log.

    Jalankan perintah gcloud logging buckets create:

     gcloud logging buckets create BUCKET_NAME \
       --location=LOCATION --project=PROJECT_ID
    
  3. Pastikan bucket log sudah dibuat:

    gcloud logging buckets list --project=PROJECT_ID
    
  4. Opsional: Tetapkan periode retensi data log di bucket. Contoh ini memperpanjang retensi log yang disimpan di bucket hingga 365 hari:

    gcloud logging buckets update BUCKET_NAME \
      --location=LOCATION --project=PROJECT_ID \
      --retention-days=365
    

Membuat sink gabungan

Anda dapat merutekan log ke bucket log dengan membuat sink. Sink menyertakan filter penyertaan, filter pengecualian opsional, dan tujuan. Dalam tutorial ini, tujuannya adalah bucket log baru Anda. Untuk mengetahui informasi selengkapnya tentang sink, lihat Merutekan log ke tujuan yang didukung.

Menyiapkan sink di tingkat organisasi

Untuk membuat sink gabungan, selesaikan langkah-langkah berikut:

  1. Jalankan perintah gcloud logging sinks create.

    Sebelum menjalankan perintah berikut, buat pengganti berikut:

    • SINK_NAME: Nama sink log.
    • PROJECT_ID: ID project yang menyimpan bucket log.
    • LOCATION: Lokasi bucket log.
    • BUCKET_NAME: Nama bucket log.
    • ORGANIZATION_ID: ID organisasi.

    Jalankan perintah gcloud logging sinks create:

    gcloud logging sinks create SINK_NAME \
    logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME  \
      --log-filter='logName:cloudaudit.googleapis.com' \
      --description="Audit logs from my organization" \
      --organization=ORGANIZATION_ID \
      --include-children
    

    Flag --include-children penting agar log dari semua project Google Cloud dalam organisasi Anda juga disertakan. Untuk mengetahui informasi selengkapnya, lihat Menggabungkan dan merutekan log tingkat organisasi ke tujuan yang didukung.

  2. Pastikan sink sudah dibuat:

    gcloud logging sinks list --organization=ORGANIZATION_ID
    
  3. Dapatkan nama akun layanan:

    gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
    

    Outputnya terlihat mirip dengan yang berikut ini:

    writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Salin nilai kolom serviceAccount ke papan klip.

Memberikan akses ke sink

Setelah membuat sink, Anda harus memberikan izin kepada sink untuk menulis ke bucket log. Anda dapat memberikan izin menggunakan Konsol Google Cloud atau dengan mengedit kebijakan Identity and Access Management (IAM), seperti yang dijelaskan dalam Menetapkan izin tujuan.

Untuk memberikan izin sink Anda untuk menulis log, lakukan hal berikut:

  1. Pada panel navigasi Konsol Google Cloud, pilih IAM:

    Buka IAM

  2. Pilih project Google Cloud yang berisi bucket log Anda.

  3. Klik Berikan akses.

  4. Di kolom New principals, tambahkan akun layanan tanpa awalan serviceAccount:.

  5. Pada menu Pilih peran, pilih Penulis Bucket Log.

  6. Klik Save.

Membuat log untuk membantu verifikasi sink

Untuk memastikan bahwa sink gabungan telah dikonfigurasi dengan benar, coba hal berikut:

  1. Buat log audit yang harus dirutekan ke bucket log Anda.

    • Jika memiliki banyak project Google Cloud di organisasi, Anda mungkin memiliki traffic log audit yang cukup sehingga tidak perlu membuat project apa pun untuk tujuan validasi. Lanjutkan ke langkah berikutnya.

    • Jika tidak, buka project lain, buat instance VM Compute Engine, lalu hapus instance yang Anda buat. Log audit ditulis saat VM dibuat, dimulai, dan dihapus.

  2. Ikuti prosedur di bagian berjudul Melihat log di halaman Logs Explorer untuk melihat log audit Anda. Pastikan Anda memilih tampilan _AllLogs.

Mengonfigurasi akses baca ke bucket log

Saat Anda membuat bucket log, Cloud Logging otomatis membuat tampilan log yang bernama _AllLogs. Tampilan ini menyertakan setiap entri log yang disimpan dalam bucket log.

Pada langkah-langkah berikut, Anda memberikan peran roles/logging.viewAccessor kepada akun utama beserta kondisi IAM yang membatasi pemberian ke tampilan yang bernama _AllLogs:

  1. Pada panel navigasi Konsol Google Cloud, pilih IAM:

    Buka IAM

    Pastikan Anda telah memilih project Google Cloud yang akan digunakan untuk menggabungkan log.

  2. Klik Add.

  3. Di kolom New principal, tambahkan akun utama.

  4. Di menu Select a role, pilih Logs Views Accessor.

  5. Tambahkan kondisi IAM ke binding:

    1. Klik Tambahkan kondisi, masukkan judul dan deskripsi.
    2. Di menu Jenis kondisi, scroll ke Resource, lalu pilih Name.
    3. Di menu Operator, pilih Berakhir dengan.
    4. Di kolom Value, masukkan nama lengkap tampilan log:

      locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
      
    5. Klik Simpan untuk menyimpan kondisi.

  6. Klik Save untuk menyimpan binding.

Melihat log di halaman Logs Explorer

Untuk melihat log di bucket log, lakukan langkah berikut:

  1. Di panel navigasi konsol Google Cloud, pilih Logging, lalu pilih Logs Explorer:

    Buka Logs Explorer

  2. Pilih Refine Scope.

  3. Di panel Sempurnakan cakupan, pilih Cakupan menurut penyimpanan.

  4. Pilih tampilan log, atau tampilan log, yang entri lognya ingin Anda lihat. Misalnya, untuk melihat semua log, pilih tampilan dengan nama _AllLogs.

  5. Klik Terapkan.

    Logs Explorer akan dimuat ulang untuk menampilkan log dari bucket log Anda.

    Untuk informasi tentang penggunaan Logs Explorer, lihat Menggunakan Logs Explorer.