Menerima peristiwa Cloud Audit Logs

Tutorial ini menunjukkan cara men-deploy layanan Cloud Run terautentikasi yang menerima peristiwa dari Cloud Storage menggunakan Cloud Audit Logs. Gunakan tutorial ini untuk men-deploy workload produksi. Pemicu Eventarc memfilter peristiwa berdasarkan entri Cloud Audit Logs. Untuk mengetahui informasi selengkapnya, lihat Menentukan filter peristiwa untuk Cloud Audit Logs.

Anda dapat menyelesaikan tutorial ini menggunakan konsol Google Cloud atau Google Cloud CLI.

Membuat repositori standar Artifact Registry

Buat repositori standar Artifact Registry untuk menyimpan image container Anda.

Konsol

  1. Di konsol Google Cloud , buka halaman Repositories.

    Buka Repositori

  2. Klik Buat repositori.
  3. Konfigurasi repositori Anda:
    1. Masukkan Nama yang unik.
    2. Untuk Format, pilih Docker.
    3. Untuk Mode, pilih Standard.
    4. Untuk Jenis lokasi, pilih Region.
    5. Di daftar Region, pilih us-central1 (Iowa).
  4. Setujui setelan default lainnya, lalu klik Create.

gcloud

gcloud artifacts repositories create REPOSITORY \
    --repository-format=docker \
    --location=$REGION

Ganti REPOSITORY dengan nama unik untuk repositori Artifact Registry.

Membuat bucket Cloud Storage

Tutorial ini menggunakan Cloud Storage sebagai sumber peristiwa. Untuk membuat bucket penyimpanan:

Konsol

  1. Di konsol Google Cloud , buka halaman Buckets.

    Buka Buckets

  2. Klik Create bucket.
  3. Masukkan informasi bucket Anda, lalu klik Lanjutkan untuk menyelesaikan setiap langkah:
    1. Masukkan Nama yang unik. Contoh, eventarcbucket.
    2. Pilih Region sebagai Jenis Lokasi.
    3. Pilih us-central1 (Iowa) sebagai Location.
    4. Pilih Standard untuk default storage class.
    5. Pilih Seragam untuk Kontrol akses.
  4. Klik Buat.

gcloud

gcloud storage buckets create gs://events-tutorial-PROJECT_ID/ --location=$REGION

Setelah sumber peristiwa dibuat, Anda dapat men-deploy layanan penerima peristiwa di Cloud Run.

Men-deploy layanan penerima peristiwa ke Cloud Run

Deploy layanan Cloud Run yang menerima dan mencatat peristiwa ke dalam log. Untuk men-deploy layanan penerima peristiwa sampel:

Konsol

  1. Clone repositori contoh ke akun GitHub Anda:
  2. Go

    1. Di GitHub, buka GoogleCloudPlatform/golang-samples
    2. Klik Fork.
    3. Screenshot tombol Fork.
    4. Jika diminta, pilih lokasi tempat Anda ingin membuat fork repositori.

    Java

    1. Di GitHub, buka GoogleCloudPlatform/java-docs-samples.
    2. Klik Fork.
    3. Screenshot tombol Fork.
    4. Jika diminta, pilih lokasi tempat Anda ingin membuat fork repositori.

    .NET

    1. Di GitHub, buka GoogleCloudPlatform/dotnet-docs-samples.
    2. Klik Fork.
    3. Screenshot tombol Fork.
    4. Jika diminta, pilih lokasi tempat Anda ingin membuat fork repositori.

    Node.js

    1. Di GitHub, buka GoogleCloudPlatform/nodejs-docs-samples.
    2. Klik Fork.
    3. Screenshot tombol Fork.
    4. Jika diminta, pilih lokasi tempat Anda ingin membuat fork repositori.

    Python

    1. Di GitHub, buka GoogleCloudPlatform/python-docs-samples.
    2. Klik Fork.
    3. Screenshot tombol Fork.
    4. Jika diminta, pilih lokasi tempat Anda ingin membuat fork repositori.
  3. Di konsol Google Cloud , buka halaman Services.
  4. Buka Layanan

  5. Klik Buat layanan untuk menampilkan formulir Buat layanan.
  6. Pilih Deploy berkelanjutan dari repositori.

    Perubahan pada repositori GitHub Anda secara otomatis dicakup ke dalam image container di Artifact Registry dan di-deploy ke Cloud Run.

  7. Klik Siapkan dengan Cloud Build untuk membuka formulir Siapkan dengan Cloud Build.
    1. Jika diminta, aktifkan Cloud Build API dan Artifact Analysis API.
    2. Pilih GitHub sebagai Penyedia Repositori.
    3. Jika diminta, klik Install Google Cloud Build.
    4. Pilih repositori GitHub yang Anda fork sebagai Repositori.
    5. Klik Berikutnya.
    6. Di kolom Cabang, masukkan ^main$.
    7. Pilih Dockerfile sebagai Build Type dan berikan lokasi sumber Dockerfile:
      • eventarc/audit-storage/Dockerfile

        atau

      • eventarc/audit_storage/Dockerfile(Mulai)
    8. Klik Simpan.
  8. Di formulir Buat layanan, masukkan nama layanan. Contoh, helloworld-events.
  9. Pilih us-central1(Iowa) sebagai Region tempat Anda ingin layanan Anda berada.
  10. Pilih salah satu opsi Ingress berdasarkan traffic masuk yang ingin Anda izinkan di layanan Cloud Run.
  11. Pilih Wajibkan autentikasi
  12. Klik Buat.

gcloud

  1. Buat clone repositori GitHub:

    Go

    git clone https://github.com/GoogleCloudPlatform/golang-samples.git
    cd golang-samples/eventarc/audit_storage
    

    Java

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    cd java-docs-samples/eventarc/audit-storage

    .NET

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git
    cd dotnet-docs-samples/eventarc/audit-storage

    Node.js

    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
    cd nodejs-docs-samples/eventarc/audit-storage

    Python

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
    cd python-docs-samples/eventarc/audit-storage
  2. Build container dan upload ke Cloud Build:
    gcloud builds submit --tag $REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/$SERVICE_NAME:v1
    
  3. Men-deploy image container ke Cloud Run
    gcloud run deploy $SERVICE_NAME \
        --image $REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/$SERVICE_NAME:v1
    

    Pada perintah untuk mengizinkan pemanggilan yang tidak diautentikasi, masukkan n.

    Jika deployment berhasil, command line akan menampilkan URL layanan.

Setelah men-deploy layanan penerima peristiwa yang disebut helloworld-events ke Cloud Run, Anda dapat menyiapkan pemicu.

Membuat pemicu Eventarc

Pemicu Eventarc akan mengirimkan peristiwa dari bucket Cloud Storage ke layanan Cloud Run helloworld-events.

Konsol

  1. Di konsol Google Cloud , buka halaman Pemicu.

    Buka Pemicu

  2. Klik Create trigger.
  3. Ketik Trigger name.

    Ini adalah ID pemicu dan harus diawali dengan huruf. Nama ini dapat berisi hingga 63 huruf kecil, angka, atau tanda hubung.

  4. Pilih Jenis pemicu:
    • Pihak pertama: Memfilter peristiwa yang dikirim dari Google Cloud penyedia (secara langsung atau melalui entri Cloud Audit Logs) atau penyedia menggunakan pesan Pub/Sub.
    • Pihak ketiga: Memfilter peristiwa yang dikirim dari penyedia pihak ketiga.
  5. Dalam daftar Event provider, pilih Cloud Storage sebagai sumber peristiwa.
  6. Di daftar Jenis peristiwa, pilih storage.objects.create.
  7. Dalam daftar Region, pilih us-central1 sebagai region untuk menerima peristiwa dari.
  8. Pilih Service account yang Anda buat. Misalnya, SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com.
  9. Dalam daftar Tujuan peristiwa, pilih Cloud Run.
  10. Dalam daftar Select a Cloud Run service, pilih helloworld-events.
  11. Klik Buat.
  12. Perhatikan bahwa Anda juga dapat membuat pemicu Eventarc menggunakan halaman konsol Cloud Run.

gcloud

  1. Buat pemicu yang memfilter peristiwa Cloud Storage dan yang menggunakan akun layanan yang Anda buat:
    gcloud eventarc triggers create events-tutorial-trigger \
        --destination-run-service=$SERVICE_NAME \
        --destination-run-region=$REGION \
        --event-filters="type=google.cloud.audit.log.v1.written" \
        --event-filters="serviceName=storage.googleapis.com" \
        --event-filters="methodName=storage.objects.create" \
        --service-account=sample-service-account@PROJECT_ID.iam.gserviceaccount.com
    Ganti PROJECT_ID dengan Google Cloud project ID.

    Dengan:

    • type: menentukan bahwa log audit dibuat saat kriteria filter pemicu terpenuhi.
    • serviceName: layanan yang menulis log audit, yaitu Cloud Storage.
    • methodName: operasi yang diaudit, yaitu storage.objects.create.
    Tindakan ini akan membuat pemicu yang disebut events-tutorial-trigger.
  2. Untuk mengonfirmasi bahwa events-tutorial-trigger berhasil dibuat, jalankan:
    gcloud eventarc triggers list --location=$REGION
  3. Pemicu, events-tutorial-trigger, dicantumkan dengan target helloworld-events.

Membuat dan melihat peristiwa

  1. Untuk membuat acara:

    Konsol

    1. Buat file teks dengan nama file random.txt dan teks "Hello World".
    2. Di konsol Google Cloud , buka halaman Buckets.

      Buka Buckets

    3. Pilih bucket penyimpanan yang Anda buat.
    4. Di tab Objects, klik Upload files, lalu upload file random.txt.

    gcloud

    Upload file teks ke Cloud Storage:

    echo "Hello World" > random.txt
    gcloud storage cp random.txt gs://events-tutorial-PROJECT_ID/random.txt
  2. Untuk melihat entri log:
  3. Konsol

    1. Di konsol Google Cloud , buka halaman Services.

      Buka Layanan

    2. Dari daftar layanan, klik nama layanan yang Anda buat untuk membuka halaman Service details.
    3. Klik tab Logs untuk mendapatkan log permintaan dan container untuk semua revisi layanan ini. Pemfilteran dapat dilakukan berdasarkan tingkat keparahan log.
    4. Cari entri log yang mirip dengan:
      Detected change in Cloud Storage bucket: storage.googleapis.com/projects/_/buckets/BUCKET_NAME/objects/random.txt
      dengan BUCKET_NAME adalah nama bucket Cloud Storage.

    gcloud

    1. gcloud logging read "resource.labels.service_name=helloworld-events AND textPayload:random.txt" --format=json
    2. Cari entri log yang mirip dengan:
      Detected change in Cloud Storage bucket: storage.googleapis.com/projects/_/buckets/BUCKET_NAME/objects/random.txt
      dengan BUCKET_NAME adalah nama bucket Cloud Storage.

Anda telah berhasil men-deploy layanan penerima peristiwa ke Cloud Run, membuat pemicu Eventarc, membuat peristiwa dari Cloud Storage, dan menampilkannya di log Cloud Run.