Mengumpulkan dan merutekan log tingkat organisasi dan folder ke tujuan yang didukung

Dokumen ini menjelaskan cara membuat sink agregat. Dengan sink gabungan, Anda dapat menggabungkan dan merutekan log yang dihasilkan oleh resource Google Cloud di organisasi atau folder ke lokasi terpusat.

Ringkasan

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

Jika Anda ingin mengontrol entri log mana yang dapat dikueri di resource ini, atau dirutekan melalui sink di resource ini, Anda dapat mengonfigurasi sink gabungan agar tidak atau dapat menangkap:

  • Sink gabungan yang tidak menyadap merutekan entri log melalui sink di resource turunan. Dengan sink ini, Anda mempertahankan visibilitas entri log di resource tempat entri tersebut dibuat. Sink non-intersepsi tidak terlihat oleh resource turunan.

    Misalnya, Anda dapat membuat sink gabungan yang tidak menyadap yang merutekan semua entri log yang dihasilkan dari folder yang dimuat oleh organisasi ke bucket log pusat. Entri log disimpan di bucket log pusat, dan juga di resource tempat entri log dibuat.

  • Penampung gabungan yang menyadap mencegah entri log dirutekan melalui penampung di resource turunan, kecuali untuk penampung _Required. Sink ini dapat berguna untuk mencegah duplikat salinan entri log disimpan di beberapa tempat.

    Misalnya, pertimbangkan log audit Akses Data, yang dapat memiliki volume besar dan mahal untuk menyimpan beberapa salinannya. Jika telah mengaktifkan log audit Akses Data, Anda dapat membuat sink intersepsi tingkat folder yang merutekan semua log audit Akses Data ke project pusat untuk dianalisis. Penampung intersepsi ini juga mencegah penampung di resource turunan merutekan salinan log ke tempat lain.

    Mencegat sink mencegah log diteruskan melalui Router Log resource turunan, kecuali jika log juga cocok dengan sink _Required. Karena log ditangkap, log tidak dihitung dalam metrik berbasis log atau kebijakan pemberitahuan berbasis log di resource turunan. Anda dapat melihat sink yang mencegat di halaman Log Router dari resource turunan.

Untuk informasi tentang cara mengelola sink, lihat Merutekan log ke tujuan yang didukung: Mengelola sink.

Anda dapat membuat hingga 200 sink per folder atau organisasi.

Tujuan yang didukung

Anda dapat menggunakan sink gabungan yang tidak menyadap untuk merutekan entri log dalam atau antara organisasi dan folder yang sama ke tujuan berikut:

  • Bucket Cloud Logging: Menyediakan penyimpanan di Cloud Logging. Bucket log dapat menyimpan entri log yang diterima oleh beberapa project Google Cloud. Bucket log dapat berada di project yang sama dengan asal entri log, atau di project yang berbeda. Untuk informasi tentang cara melihat entri log yang disimpan di bucket log, lihat Ringkasan log kueri dan tampilan serta Melihat log yang dirutekan ke bucket Cloud Logging.

    Anda dapat menggabungkan data Cloud Logging dengan data lain dengan mengupgrade bucket log untuk menggunakan Log Analytics, lalu membuat set data tertaut, yang merupakan set data hanya baca yang dapat dikueri oleh halaman BigQuery Studio dan Looker Studio.

  • Set data BigQuery: Menyediakan penyimpanan entri log dalam set data BigQuery yang dapat ditulis. Set data BigQuery dapat berada di project yang sama dengan asal entri log, atau di project yang berbeda. Anda dapat menggunakan kemampuan analisis big data pada entri log yang disimpan. Untuk informasi tentang cara melihat entri log yang dirutekan ke BigQuery, lihat Melihat log yang dirutekan ke BigQuery.

  • Bucket Cloud Storage: Menyediakan penyimpanan entri log di Cloud Storage. Bucket Cloud Storage dapat berada dalam project yang sama dengan asal entri log, atau dalam project yang berbeda. Entri log disimpan sebagai file JSON. Untuk mengetahui informasi tentang cara melihat entri log yang dirutekan ke Cloud Storage, lihat artikel Melihat log yang dirutekan ke Cloud Storage.
  • Topik Pub/Sub: Memberikan dukungan untuk integrasi pihak ketiga. Entri log diformat menjadi JSON, lalu dirutekan ke topik Pub/Sub. Topik dapat berada di project yang sama dengan asal entri log, atau di project yang berbeda. Untuk informasi tentang cara melihat entri log yang dirutekan ke Pub/Sub, lihat Melihat log yang dirutekan ke Pub/Sub.

  • Project Google Cloud: Merutekan entri log ke project Google Cloud lain. Dalam konfigurasi ini, sink di project tujuan memproses entri log.

Praktik terbaik untuk mencegat sink

Saat membuat sink intersepsi, sebaiknya lakukan hal berikut:

  • Pertimbangkan apakah resource turunan memerlukan kontrol independen untuk merutekan entri lognya. Jika resource turunan memerlukan kontrol independen atas entri log tertentu, pastikan sink intersepsi Anda tidak merutekan entri log tersebut.

  • Tambahkan informasi kontak ke deskripsi sink intersepsi. Hal ini mungkin berguna jika orang yang mengelola sink intersepsi berbeda dengan orang yang mengelola project yang entri log-nya sedang dicegat.

  • Uji konfigurasi sink Anda dengan membuat sink gabungan yang tidak mengintersepsi terlebih dahulu untuk memastikan entri log yang benar dirutekan.

Penampung gabungan dan Kontrol Layanan VPC

Batasan berikut berlaku saat Anda menggunakan sink gabungan dan Kontrol Layanan VPC:

  • Sink gabungan dapat mengakses data dari project di dalam perimeter layanan. Untuk membatasi sink gabungan agar tidak mengakses data di dalam perimeter, sebaiknya gunakan IAM untuk mengelola izin Logging.

  • Kontrol Layanan VPC tidak mendukung penambahan resource folder atau organisasi ke perimeter layanan. Oleh karena itu, Anda tidak dapat menggunakan Kontrol Layanan VPC untuk melindungi log tingkat folder dan organisasi, termasuk log gabungan. Untuk mengelola izin logging di tingkat folder atau organisasi, sebaiknya gunakan IAM.

  • Jika Anda merutekan log menggunakan sink level folder atau organisasi ke resource yang dilindungi oleh perimeter layanan, Anda harus menambahkan aturan masuk ke perimeter layanan. Aturan masuk harus mengizinkan akses ke resource dari akun layanan yang digunakan sink gabungan. Untuk informasi selengkapnya, lihat halaman berikut:

  • Saat menentukan kebijakan traffic masuk atau keluar untuk perimeter layanan, Anda tidak dapat menggunakan ANY_SERVICE_ACCOUNT dan ANY_USER_ACCOUNT sebagai jenis identitas saat menggunakan sink log untuk merutekan log ke resource Cloud Storage. Namun, Anda dapat menggunakan ANY_IDENTITY sebagai jenis identitas.

Sebelum memulai

Sebelum membuat sink, pastikan hal berikut:

  • Anda memiliki folder atau organisasi Google Cloud dengan entri log yang dapat Anda lihat di Logs Explorer.

  • Anda memiliki salah satu peran IAM berikut untuk organisasi atau folder Google Cloud tempat Anda merutekan entri log.

    • Pemilik (roles/owner)
    • Logging Admin (roles/logging.admin)
    • Logs Configuration Writer (roles/logging.configWriter)

    Izin yang terdapat dalam peran ini memungkinkan Anda membuat, menghapus, atau mengubah sink. Untuk informasi tentang cara menetapkan peran IAM, lihat Panduan kontrol akses Logging.

  • Anda memiliki resource di tujuan yang didukung atau memiliki kemampuan untuk membuatnya.

    Tujuan harus dibuat sebelum sink, melalui Google Cloud CLI, konsol Google Cloud, atau Google Cloud API. Anda dapat membuat tujuan di project Google Cloud mana pun di organisasi mana pun, tetapi Anda harus memastikan bahwa akun layanan dari sink memiliki izin untuk menulis ke tujuan.

  • Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Membuat sink gabungan

Konsol

Untuk membuat sink gabungan untuk folder atau organisasi, lakukan tindakan berikut:

  1. Di konsol Google Cloud, buka halaman Log Router:

    Buka Router Log

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

  2. Pilih folder atau organisasi yang ada.

  3. Pilih Create sink.

  4. Di panel Sink details, masukkan detail berikut:

    • Nama sink: Berikan ID untuk sink; perhatikan bahwa setelah membuat sink, Anda tidak dapat mengganti namanya, tetapi Anda dapat menghapusnya dan membuat sink baru.

    • Deskripsi sink (opsional): Jelaskan tujuan atau kasus penggunaan untuk sink.

  5. Lakukan salah satu hal berikut:

    • Untuk membuat sink intersepsi, di menu Select sink service, pilih Google Cloud project, lalu masukkan nama yang sepenuhnya memenuhi syarat untuk tujuan. Untuk informasi tentang sintaksis, lihat Format jalur tujuan.

    • Untuk membuat sink non-intersepsi, buka menu Select sink service dan lakukan salah satu hal berikut:

      • Untuk merutekan entri log ke project Google Cloud yang berbeda, pilih Google Cloud project, lalu masukkan nama lengkap untuk tujuan. Untuk informasi tentang sintaksis, lihat Format jalur tujuan.

      • Untuk merutekan entri log ke layanan yang berada dalam project Google Cloud yang sama, pilih salah satu opsi berikut:

        • Set data BigQuery: Pilih atau buat set data tertentu untuk menerima entri log yang dirutekan. Anda juga memiliki opsi untuk menggunakan tabel berpartisi.
        • Bucket Cloud Storage: Pilih atau buat bucket Cloud Storage tertentu untuk menerima entri log yang dirutekan.
        • Pub/Sub topic: Pilih atau buat topik tertentu untuk menerima entri log yang dirutekan.
        • Splunk: Pilih topik Pub/Sub untuk layanan Splunk Anda.
      • Untuk merutekan entri log ke layanan yang berada di project Google Cloud yang berbeda, lakukan hal berikut:

        1. Pilih Referensi lainnya.
        2. Masukkan nama yang sepenuhnya memenuhi syarat untuk tujuan. Untuk informasi tentang sintaksis, lihat Format jalur tujuan.

          Misalnya, jika tujuan sink Anda adalah topik Pub/Sub, destination akan terlihat seperti berikut:

          pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
          
  6. Di panel Choose logs to include in sink, lakukan salah satu hal berikut:

    • Untuk membuat sink intersepsi, pilih Intercept logs ingested by this organization and all child resources.

    • Untuk membuat sink gabungan yang tidak menyadap, pilih Sertakan log yang ditransfer oleh resource ini dan semua resource turunan.

  7. Selesaikan dialog dengan memasukkan ekspresi filter di kolom Filter penyertaan build yang cocok dengan entri log yang ingin Anda sertakan. Jika Anda tidak menetapkan filter, semua entri log dari resource yang dipilih akan dirutekan ke tujuan.

    Misalnya, Anda mungkin ingin membuat filter untuk merutekan semua log audit Akses Data ke satu bucket Logging. Filter ini akan terlihat seperti berikut:

    LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
    

    Untuk contoh filter, lihat Membuat filter untuk sink gabungan.

    Perhatikan bahwa panjang filter tidak boleh melebihi 20.000 karakter.

  8. Opsional: Untuk memverifikasi bahwa Anda memasukkan filter yang benar, pilih Pratinjau log. Tindakan ini akan membuka Logs Explorer di tab baru dengan filter yang telah diisi otomatis.

  9. Opsional: Di panel Choose logs to exclude from the sink, lakukan hal berikut:

    1. Di kolom Nama filter pengecualian, masukkan nama.

    2. Di kolom Build an exclusion filter, masukkan filter expression yang cocok dengan entri log yang ingin Anda kecualikan. Anda juga dapat menggunakan fungsi sample untuk memilih sebagian entri log yang akan dikecualikan.

      Misalnya, untuk mengecualikan entri log dari project tertentu agar tidak dirutekan ke tujuan, tambahkan filter pengecualian berikut:

      logName:projects/PROJECT_ID
      

      Untuk mengecualikan entri log dari beberapa project, gunakan operator OR logika untuk menggabungkan klausa logName.

    Anda dapat membuat hingga 50 filter pengecualian per sink. Perhatikan bahwa panjang filter tidak boleh melebihi 20.000 karakter.

  10. Pilih Create sink.

  11. Berikan izin kepada akun layanan untuk sink guna menulis entri log ke tujuan sink Anda. Untuk mengetahui informasi selengkapnya, lihat Menetapkan izin tujuan.

gcloud

Untuk membuat sink gabungan, gunakan perintah logging sinks create:

  1. Untuk membuat sink, panggil perintah gcloud logging sinks create, dan pastikan Anda menyertakan opsi --include-children.

    Sebelum menggunakan perintah berikut, buat penggantian berikut:

    • SINK_NAME: Nama sink log. Anda tidak dapat mengubah nama sink setelah membuatnya.
    • SINK_DESTINATION: Layanan atau project tempat Anda ingin merutekan entri log.
    • INCLUSION_FILTER: Filter inklusi untuk sink. Untuk contoh filter, lihat Membuat filter untuk sink gabungan.
    • FOLDER_ID: ID folder. Jika Anda ingin membuat sink di tingkat organisasi, ganti --folder=FOLDER_ID dengan -- organization=ORGANIZATION_ID.

    Jalankan perintah gcloud logging sinks create:

    gcloud logging sinks create SINK_NAME \
      SINK_DESTINATION  --include-children \
      --folder=FOLDER_ID --log-filter="INCLUSION_FILTER"
    

    Anda juga dapat memberikan opsi berikut:

    • Untuk membuat sink intersepsi, sertakan opsi --intercept-children.

    Misalnya, jika Anda membuat sink gabungan di tingkat folder dan tujuannya adalah topik Pub/Sub, perintah Anda mungkin terlihat seperti berikut:

    gcloud logging sinks create SINK_NAME \
      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID --include-children \
      --folder=FOLDER_ID --log-filter="logName:activity"
  2. Berikan izin sink ke akun layanan untuk menulis ke tujuan sink Anda. Untuk mengetahui informasi selengkapnya, lihat Menetapkan izin tujuan.

REST

Untuk membuat sink gabungan, gunakan metode Logging API organizations.sinks.create atau folders.sinks.create. Siapkan argumen ke metode sebagai berikut:

  1. Tetapkan kolom parent menjadi organisasi atau folder Google Cloud tempat sink akan dibuat. Induk harus berupa salah satu dari berikut:

    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
  2. Dalam objek LogSink di isi permintaan metode, lakukan salah satu hal berikut:

    • Tetapkan includeChildren ke True.

    • Untuk membuat sink intersepsi, tetapkan kolom interceptChildren ke True.

  3. Tetapkan kolom filter agar cocok dengan entri log yang ingin Anda sertakan.

    Untuk contoh filter, lihat Membuat filter untuk sink gabungan.

    Panjang filter tidak boleh melebihi 20.000 karakter.

  4. Tetapkan kolom LogSink yang tersisa seperti yang Anda lakukan untuk sink apa pun. Untuk mengetahui informasi selengkapnya, lihat Merutekan log ke tujuan yang didukung.

  5. Panggil organizations.sinks.create atau folders.sinks.create untuk membuat sink.

  6. Berikan izin sink ke akun layanan untuk menulis ke tujuan sink Anda. Untuk mengetahui informasi selengkapnya, lihat Menetapkan izin tujuan.

Setiap perubahan yang dilakukan pada sink mungkin memerlukan waktu beberapa menit untuk diterapkan.

Membuat filter untuk sink gabungan

Seperti sink lainnya, sink gabungan Anda berisi filter yang memilih setiap entri log. Untuk contoh filter yang dapat Anda gunakan untuk membuat sink gabungan, lihat Contoh kueri menggunakan Logs Explorer.

Berikut adalah beberapa contoh perbandingan filter yang berguna saat menggunakan fitur sink gabungan. Beberapa contoh menggunakan notasi berikut:

  • : adalah operator substring. Jangan mengganti operator =.
  • ... mewakili perbandingan filter tambahan.
  • Variabel ditunjukkan dengan teks berwarna. Ganti dengan nilai yang valid.

Perhatikan bahwa panjang filter tidak boleh melebihi 20.000 karakter.

Untuk mengetahui detail selengkapnya tentang sintaksis pemfilteran, lihat Bahasa kueri logging.

Pilih sumber log

Untuk sink gabungan, untuk setiap resource turunan organisasi atau folder, filter penyertaan dan pengecualian sink diterapkan ke setiap entri log yang dikirim ke resource turunan. Entri log yang cocok dengan filter penyertaan dan tidak dikecualikan akan dirutekan.

Jika Anda ingin sink merutekan entri log dari semua resource turunan, jangan tentukan project, folder, atau organisasi di filter penyertaan dan pengecualian sink. Misalnya, Anda mengonfigurasi sink gabungan untuk organisasi dengan filter berikut:

resource.type="gce_instance"

Dengan filter sebelumnya, entri log dengan jenis resource instance Compute Engine yang ditulis ke turunan organisasi tersebut akan dirutekan oleh sink gabungan ke tujuan.

Namun, mungkin ada situasi saat Anda ingin menggunakan sink gabungan untuk merutekan entri log hanya dari resource turunan tertentu. Misalnya, karena alasan kepatuhan, Anda dapat menyimpan log audit dari folder atau project tertentu di bucket Cloud Storage-nya sendiri. Dalam situasi ini, konfigurasikan filter penyertaan untuk menentukan setiap resource turunan yang entri lognya ingin Anda rutekan. Jika Anda ingin merutekan entri log dari folder dan semua project dalam folder tersebut, filter harus mencantumkan folder dan setiap project yang terdapat dalam folder tersebut, dan juga menggabungkan pernyataan dengan klausa OR.

Filter berikut membatasi entri log ke project, folder, atau organisasi Google Cloud yang tertentu:

logName:"projects/PROJECT_ID/logs/" AND ... 
logName:("projects/PROJECT_A_ID/logs/" OR "projects/PROJECT_B_ID/logs/") AND ... 
logName:"folders/FOLDER_ID/logs/" AND ... 
logName:"organizations/ORGANIZATION_ID/logs/" AND ... 

Misalnya, untuk merutekan hanya entri log yang ditulis ke instance Compute Engine yang ditulis ke folder my-folder, gunakan filter berikut:

logName:"folders/my-folder/logs/" AND resource.type="gce_instance"

Dengan filter sebelumnya, entri log yang ditulis ke resource selain my-folder, termasuk entri log yang ditulis ke project Google Cloud yang merupakan turunan my-folder, tidak dirutekan ke tujuan.

Pilih resource yang dimonitor

Untuk merutekan entri log hanya dari resource tertentu yang dipantau dalam project Google Cloud, gunakan beberapa perbandingan untuk menentukan resource secara tepat:

logName:"projects/PROJECT_ID/logs" AND
resource.type=RESOURCE_TYPE AND
resource.labels.instance_id=INSTANCE_ID

Untuk daftar jenis resource, lihat Jenis resource yang dimonitor.

Memilih contoh entri log

Untuk merutekan sampel acak entri log, tambahkan fungsi bawaan sample. Misalnya, untuk merutekan hanya sepuluh persen entri log yang cocok dengan filter saat ini, gunakan penambahan ini:

sample(insertId, 0.10) AND ...

Untuk mengetahui informasi selengkapnya, lihat fungsi sample.

Untuk mengetahui informasi selengkapnya tentang filter Cloud Logging, lihat Bahasa kueri logging.

Menetapkan izin tujuan

Bagian ini menjelaskan cara memberikan izin Identity and Access Management ke Logging untuk menulis entri log ke tujuan sink Anda. Untuk daftar lengkap peran dan izin Logging, lihat Kontrol akses.

Saat Anda membuat atau memperbarui sink yang merutekan entri log ke tujuan selain bucket log dalam project saat ini, akun layanan untuk sink tersebut diperlukan. Logging otomatis membuat dan mengelola akun layanan untuk Anda:

  • Mulai 22 Mei 2023, saat Anda membuat sink dan tidak ada akun layanan untuk resource pokok, Logging akan membuat akun layanan. Logging menggunakan akun layanan yang sama untuk semua sink di resource pokok. Resource dapat berupa project Google Cloud, organisasi, folder, atau akun penagihan.
  • Sebelum 22 Mei 2023, Logging membuat akun layanan untuk setiap sink. Mulai 22 Mei 2023, logging menggunakan akun layanan bersama untuk semua sink di resource pokok.

Identitas penulis sink adalah ID akun layanan yang terkait dengan sink tersebut. Semua sink memiliki identitas penulis kecuali jika menulis ke bucket log dalam project Google Cloud saat ini.

Untuk merutekan entri log ke resource yang dilindungi oleh perimeter layanan, Anda harus menambahkan akun layanan untuk sink tersebut ke tingkat akses, lalu menetapkannya ke perimeter layanan tujuan. Hal ini tidak diperlukan untuk sink yang tidak digabungkan. Untuk mengetahui detailnya, lihat Kontrol Layanan VPC: Cloud Logging.

Untuk menetapkan izin agar sink Anda dirutekan ke tujuannya, lakukan hal berikut:

Konsol

  1. Untuk mendapatkan informasi tentang akun layanan untuk sink Anda, lakukan hal berikut:

    1. Di konsol Google Cloud, buka halaman Log Router:

      Buka Router Log

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

    2. Pilih Menu, lalu pilih Lihat detail sink. Identitas penulis muncul di panel Sink details.

    3. Jika nilai kolom writerIdentity berisi alamat email, lanjutkan ke langkah berikutnya. Jika nilainya None, Anda tidak perlu mengonfigurasi izin tujuan.

    4. Salin identitas penulis sink ke papan klip Anda. String serviceAccount: adalah bagian dari identitas akun layanan. Contoh:

      serviceAccount:service-123456789012@gcp-sa-logging.
      
    5. Tambahkan akun layanan sebagai akun utama IAM di project tujuan:

      1. Di konsol Google Cloud, buka halaman IAM:

        Buka IAM

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

      2. Pilih project tujuan.

      3. Klik Berikan akses.

      4. Berikan peran IAM yang diperlukan kepada akun layanan:

        • Untuk tujuan Cloud Storage, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran Storage Object Creator (roles/storage.objectCreator).
        • Untuk tujuan BigQuery, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran BigQuery Data Editor (roles/bigquery.dataEditor).
        • Untuk tujuan Pub/Sub, termasuk Splunk, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran Pub/Sub Publisher (roles/pubsub.publisher).
        • Untuk tujuan bucket Logging di project Google Cloud yang berbeda, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran Penulis Bucket Log (roles/logging.bucketWriter).
        • Untuk tujuan project Google Cloud, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran Penulis Log (roles/logging.logWriter). Secara khusus, akun utama memerlukan izin logging.logEntries.route.

gcloud

  1. Pastikan Anda memiliki akses Pemilik di project Google Cloud yang berisi tujuan. Jika Anda tidak memiliki akses Pemilik ke tujuan sink, minta pemilik project untuk menambahkan identitas penulis sebagai akun utama.

  2. Untuk mendapatkan informasi tentang akun layanan untuk sink Anda, panggil metode gcloud logging sinks describe.

    Sebelum menggunakan perintah berikut, buat penggantian berikut:

    • SINK_NAME: Nama sink log. Anda tidak dapat mengubah nama sink setelah membuatnya.

    Jalankan perintah gcloud logging sinks describe:

    gcloud logging sinks describe SINK_NAME
    
  3. Jika detail sink berisi kolom berlabel writerIdentity, lanjutkan ke langkah berikutnya. Jika detail tidak menyertakan kolom writerIdentity, Anda tidak perlu mengonfigurasi izin tujuan untuk sink.

  4. Salin identitas penulis sink ke papan klip Anda. String serviceAccount: adalah bagian dari identitas akun layanan.

    Identitas penulis untuk akun layanan terlihat mirip dengan hal berikut:

    serviceAccount:service-123456789012@gcp-sa-logging.
    
  5. Untuk menambahkan akun layanan sebagai akun utama IAM di project tujuan, panggil perintah gcloud projects add-iam-policy-binding.

    Sebelum menggunakan perintah berikut, buat penggantian berikut:

    • PROJECT_ID: ID project.
    • PRINCIPAL: ID untuk akun utama yang ingin Anda berikan peran. ID utama biasanya memiliki bentuk berikut: PRINCIPAL-TYPE:ID. Misalnya, user:my-user@example.com. Untuk mengetahui daftar lengkap format yang dapat dimiliki PRINCIPAL, lihat ID utama.
    • ROLE: Peran IAM.

      • Untuk tujuan Cloud Storage, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran Storage Object Creator (roles/storage.objectCreator).
      • Untuk tujuan BigQuery, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran BigQuery Data Editor (roles/bigquery.dataEditor).
      • Untuk tujuan Pub/Sub, termasuk Splunk, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran Pub/Sub Publisher (roles/pubsub.publisher).
      • Untuk tujuan bucket Logging di project Google Cloud yang berbeda, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran Penulis Bucket Log (roles/logging.bucketWriter).
      • Untuk tujuan project Google Cloud, tambahkan identitas penulis sink sebagai akun utama menggunakan IAM, lalu berikan peran Penulis Log (roles/logging.logWriter). Secara khusus, akun utama memerlukan izin logging.logEntries.route.

    Jalankan perintah gcloud projects add-iam-policy-binding:

    gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
    

REST

Sebaiknya gunakan konsol Google Cloud atau Google Cloud CLI untuk memberikan peran ke akun layanan.

Langkah selanjutnya