Menggabungkan dan menyimpan log organisasi Anda

Sink gabungan yang tidak menyadap memungkinkan Anda merutekan entri log dari seluruh organisasiCloud de Confiance by S3NS ke lokasi pusat sekaligus memungkinkan resource turunan merutekan dan menyimpan salinan lognya sendiri. Dalam tutorial ini, Anda akan membuat sink gabungan non-intersepsi tingkat organisasi yang merutekan log audit organisasi ke project Cloud de Confiance , tempat sink tingkat project merutekannya ke bucket log pusat. Kemudian, Anda mengonfigurasi akses baca ke tampilan log di bucket tersebut dan membuat kueri log audit gabungan di Logs Explorer.

Anda juga dapat mengonfigurasi sink gabungan agar melakukan intersepsi jika ingin mengontrol entri log mana yang dapat dikueri atau dirutekan di resource turunan. Untuk mengetahui informasi selengkapnya, lihat Ringkasan sink gabungan. Jika Anda menyiapkan organisasi baru, Anda juga dapat mengonfigurasi penyimpanan log terpusat sebagai bagian dari proses penyiapanCloud de Confiance by S3NS .

Sebelum memulai

Pastikan hal berikut:

Membuat bucket log

Bucket log menyimpan entri log yang dirutekan dari project, folder, atau organisasiCloud de Confiance lain. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi bucket log.

Untuk membuat bucket log di project Cloud de Confiance yang ingin Anda gunakan untuk menggabungkan entri log, selesaikan langkah-langkah berikut:

  1. Buka shell.

  2. Di shell, jalankan perintah gcloud logging buckets create.

    Sebelum menjalankan perintah berikut, lakukan penggantian berikut:

    • BUCKET_NAME: Nama bucket log.
    • LOCATION: Lokasi bucket log. Setelah membuat bucket log, Anda tidak dapat mengubah lokasinya.
    • 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 telah dibuat:

    gcloud logging buckets list --project=PROJECT_ID
    

    Respons perintah adalah daftar bucket log di project Anda.

  4. Bucket log memiliki periode retensi data yang dapat dikonfigurasi. Jika Anda ingin menetapkan periode retensi entri log di bucket log, gunakan perintah gcloud logging buckets update. Misalnya, perintah berikut memperpanjang retensi entri log yang disimpan di bucket log menjadi 365 hari:

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

    Untuk mengetahui informasi selengkapnya tentang flag, lihat gcloud logging buckets update.

Buat sink log tingkat project

Anda merutekan entri log ke bucket log dengan membuat sink. Sink mencakup filter penyertaan, filter pengecualian, dan tujuan. Dalam tutorial ini, Anda akan mengonfigurasi filter penyertaan dan tujuan ke bucket log baru. Sink Anda tidak berisi filter pengecualian. Untuk mengetahui informasi selengkapnya tentang sink, lihat Merutekan log ke tujuan yang didukung.

Untuk membuat sink yang merutekan entri log ke bucket log yang baru saja Anda buat, jalankan perintah gcloud logging sinks create.

Sebelum menjalankan perintah berikut, buat pengganti berikut:

  • PROJECT_LEVEL_SINK_NAME: Nama sink log level project.
  • SINK_DESTINATION: Bucket log tempat entri log Anda dirutekan. Tujuan sink harus menggunakan endpoint global (logging.googleapis.com); endpoint regional (REP) tidak didukung. Format jalur tujuan untuk bucket log adalah sebagai berikut:

    logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • PROJECT_ID: ID project tempat sink log akan dibuat. Tetapkan flag ini ke project yang sama tempat Anda membuat bucket log.

  • Sertakan flag berikut:

    • --log-filter: Gunakan tanda ini untuk menetapkan filter yang cocok dengan entri log yang ingin Anda sertakan dalam sink. Dalam tutorial ini, filter ditetapkan untuk memilih semua entri log audit. Jika Anda tidak menetapkan filter, semua entri log dari project Cloud de Confiance Anda akan dirutekan ke tujuan.
    • --description: Gunakan tanda ini untuk menjelaskan tujuan atau kasus penggunaan sink.

Jalankan perintah gcloud logging sinks create:

gcloud logging sinks create PROJECT_LEVEL_SINK_NAME SINK_DESTINATION \
  --project=PROJECT_ID \
  --log-filter='logName:cloudaudit.googleapis.com' \
  --description="Audit logs from my organization"

Membuat sink gabungan

Sink gabungan menggabungkan dan merutekan entri log dari resource yang ada dalam organisasi atau folder ke tujuan.

Dalam tutorial ini, Anda akan membuat sink gabungan yang tidak menyadap. Artinya, setiap entri log yang dirutekan oleh sink gabungan juga dirutekan oleh sink di resource tempat entri log berasal. Misalnya, log audit yang berasal dari suatu project dirutekan oleh sink gabungan dan sink dalam project tersebut. Oleh karena itu, Anda dapat menyimpan beberapa salinan entri log.

Anda juga dapat membuat sink intersepsi. Untuk mengetahui informasi selengkapnya, lihat Ringkasan sink gabungan.

Menyiapkan sink di tingkat organisasi

Untuk membuat sink gabungan yang tidak mengintersepsi dan merutekan entri log ke project, selesaikan langkah-langkah berikut:

  1. Jalankan perintah gcloud logging sinks create.

    Sebelum menjalankan perintah berikut, buat pengganti berikut:

    • SINK_NAME: Nama sink log. Anda tidak dapat mengubah nama sink setelah membuatnya.
    • PROJECT_ID: ID project yang menyimpan bucket log.
    • ORGANIZATION_ID: ID organisasi.

    Jalankan perintah gcloud logging sinks create:

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

    Flag --include-children penting. Flag ini memastikan bahwa entri log dari semua project dan folderCloud de Confiance dalam organisasi Anda dirutekan. Untuk mengetahui informasi selengkapnya, lihat Menggabungkan dan merutekan log tingkat organisasi dan tingkat folder ke tujuan yang didukung.

  2. Pastikan sink dibuat:

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

    gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
    

    Outputnya akan terlihat mirip seperti berikut:

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

Memberikan akses ke sink

Setelah membuat sink gabungan, Anda harus memberikan izin agar sink dapat menulis entri log ke project yang Anda tetapkan sebagai tujuan. Anda dapat memberikan izin menggunakan konsol Cloud de Confiance atau dengan mengedit kebijakan Identity and Access Management (IAM), seperti yang dijelaskan dalam Menetapkan izin tujuan.

Untuk memberi sink Anda izin menulis entri log, lakukan hal berikut:

  1. Di konsol Cloud de Confiance , buka halaman IAM:

    Buka IAM

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

  2. Pilih project Cloud de Confiance yang berisi bucket log Anda.

  3. Klik Grant access dan tambahkan akun layanan sebagai principal baru. Jangan sertakan awalan serviceAccount:.

  4. Di menu Select a role, pilih Logs Writer.

  5. Klik Simpan.

Membuat entri log untuk membantu verifikasi sink

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

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

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

    • Atau, 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 langkah-langkah di Melihat entri log di halaman Logs Explorer untuk melihat log audit Anda. Pastikan Anda memilih tampilan _AllLogs.

Mengonfigurasi akses baca ke tampilan log pada bucket log

Saat Anda membuat bucket log, Cloud Logging akan otomatis membuat tampilan log bernama _AllLogs. Tampilan ini mencakup setiap entri log yang disimpan di bucket log.

Untuk membatasi akses akun utama hanya ke entri log tertentu, buat tampilan log, lalu lakukan salah satu hal berikut:

  • Beri mereka peran Logs Views Accessor (roles/logging.viewAccessor) bersama dengan kondisi IAM yang membatasi pemberian ke tampilan log.

  • Pada kebijakan IAM yang terkait dengan tampilan log, berikan akses akun utama. Sebaiknya gunakan pendekatan ini saat Anda membuat sejumlah besar tampilan log.

Untuk mengetahui informasi selengkapnya tentang kedua pendekatan ini, lihat Mengontrol akses ke tampilan log.

Pada langkah-langkah berikut, Anda akan memberikan peran Logs Views Accessor (roles/logging.viewAccessor) kepada akun utama beserta kondisi IAM yang membatasi pemberian akses ke tampilan bernama _AllLogs:

  1. Di konsol Cloud de Confiance , buka halaman IAM:

    Buka IAM

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

  2. Pilih project Cloud de Confiance yang berisi bucket log.

  3. Klik Add.

  4. Di kolom New principal, tambahkan akun utama.

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

    Jika Anda tidak menambahkan kondisi ke peran ini, akun utama akan memiliki akses ke semua tampilan log di semua bucket log yang ditentukan pengguna dalam Cloud de Confiance project.

  6. Tambahkan IAM Condition ke binding:

    1. Klik Add condition, lalu masukkan judul dan deskripsi.
    2. Di menu Condition type, buka Resource, lalu pilih Name.
    3. Di menu Operator, pilih Ends with.
    4. Di kolom Value, masukkan nama lengkap tampilan log:

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

  7. Klik Save untuk menyimpan binding.

Melihat entri log di halaman Logs Explorer

Untuk melihat entri log di bucket log, lakukan hal berikut:

  1. Di konsol Cloud de Confiance , buka halaman Logs Explorer:

    Buka Logs Explorer

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

  2. Pilih Sempurnakan Cakupan.

  3. Di panel Sempurnakan cakupan, pilih Tampilan log.

  4. Pilih tampilan log yang entri log-nya ingin Anda lihat. Misalnya, untuk melihat semua entri log, pilih tampilan bernama _AllLogs.

  5. Klik Terapkan.

    Halaman Logs Explorer akan dimuat ulang untuk menampilkan entri log dari bucket log Anda. Untuk mengetahui informasi selengkapnya tentang cara menggunakan Logs Explorer, lihat Menggunakan Logs Explorer.