Mengumpulkan Log Audit Slack

Didukung di:

Dokumen ini menjelaskan cara menyerap log Audit Slack ke Google Security Operations menggunakan Fungsi Google Cloud Run atau Amazon S3 dengan AWS Lambda.

Log Audit Slack memberikan catatan mendetail tentang peristiwa terkait keamanan di seluruh organisasi Slack Enterprise Grid Anda. Audit Logs API memungkinkan Anda memantau tindakan pengguna seperti login, download file, penginstalan aplikasi, dan perubahan administratif untuk tujuan pemantauan kepatuhan dan keamanan.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Paket Slack Enterprise Grid dengan akses Pemilik Organisasi atau Admin
  • Akses istimewa ke:

    • Google Cloud (untuk Opsi 1: Cloud Run Functions dan Cloud Scheduler), atau
    • AWS (untuk Opsi 2: S3, IAM, Lambda, EventBridge)

Mengumpulkan kredensial Slack

Membuat aplikasi Slack

Slack Audit Logs API memerlukan Token OAuth Pengguna dengan cakupan auditlogs:read. Token ini harus diperoleh dengan menginstal aplikasi di tingkat organisasi Enterprise Grid, bukan di tingkat ruang kerja.

  1. Login ke Konsol Admin Slack dengan akun Admin atau Pemilik Organisasi Enterprise Grid.
  2. Buka halaman Aplikasi Slack API.
  3. Klik Create New App.
  4. Pilih Dari awal.
  5. Berikan detail konfigurasi berikut:
    • Nama Aplikasi: Masukkan nama deskriptif (misalnya, Google SecOps Audit Integration).
    • Pilih ruang kerja untuk mengembangkan aplikasi Anda: Pilih Ruang Kerja Slack Pengembangan Anda (ruang kerja apa pun di organisasi).
  6. Klik Create App.

Mengonfigurasi cakupan OAuth

  1. Di halaman setelan aplikasi Anda, pilih OAuth & Izin dari navigasi kiri.
  2. Scroll ke bawah ke bagian Cakupan.
  3. Di bagian Cakupan Token Pengguna (BUKAN Cakupan Token Bot), klik Tambahkan Cakupan OAuth.
  4. Tambahkan cakupan berikut:
    • auditlogs:read — Cakupan ini memungkinkan akses ke Audit Logs API untuk organisasi Enterprise Grid.
  5. Di bagian Cakupan Token Bot, klik Tambahkan Cakupan OAuth.
  6. Tambahkan cakupan berikut:

    • users:read — Cakupan ini diperlukan untuk mengaktifkan penginstalan aplikasi tingkat organisasi.

Mengonfigurasi URL pengalihan

  1. Di halaman setelan aplikasi Anda, pilih OAuth & Izin dari navigasi kiri.
  2. Buka bagian Redirect URLs.
  3. Klik Tambahkan URL Pengalihan Baru.
  4. Masukkan URL berikut:

    https://slack.com/oauth/v2/authorize
    
  5. Klik Tambahkan.

  6. Klik Simpan URL.

Mengaktifkan distribusi publik

Untuk menginstal aplikasi di tingkat organisasi Enterprise (bukan hanya ruang kerja), Anda harus mengaktifkan distribusi publik.

Mengapa distribusi publik diperlukan?

  • Slack mewajibkan aplikasi dengan izin seluruh organisasi untuk mengaktifkan distribusi publik.
  • Hal ini memungkinkan penginstalan di tingkat organisasi, bukan di ruang kerja individual.
  • Tanpa itu, Anda hanya dapat menginstal aplikasi ke satu ruang kerja dalam Enterprise Grid Anda.
  • Mengaktifkan distribusi publik hanya menghapus batasan internal pada cakupan penginstalan.

Untuk mengaktifkan distribusi publik, ikuti langkah-langkah berikut:

  1. Di halaman setelan aplikasi, pilih Kelola Distribusi dari navigasi kiri.
  2. Di bagian Bagikan Aplikasi Anda ke Ruang Kerja Lain, pastikan keempat bagian memiliki tanda centang hijau:
    • Menghapus Informasi yang Dikodekan Langsung
    • Mengaktifkan Distribusi Publik
    • Menetapkan URL Pengalihan
    • Menambahkan Cakupan OAuth
  3. Jika ada bagian yang menampilkan X merah, luaskan bagian tersebut dan selesaikan tindakan yang diperlukan.
  4. Centang kotak di samping Saya telah meninjau dan menghapus informasi yang dikodekan secara permanen.
  5. Klik Aktifkan Distribusi Publik.

Menginstal aplikasi ke organisasi Enterprise

  1. Di halaman setelan aplikasi Anda, pilih OAuth & Izin dari navigasi kiri.
  2. Di bagian Bagikan Aplikasi Anda dengan Ruang Kerja Anda, salin URL yang Dapat Dibagikan.
  3. Masukkan URL ke browser Anda.
  4. Kritis: Di layar penginstalan, periksa menu dropdown di sudut kanan atas.
  5. Pastikan Anda menginstal ke organisasi Enterprise, BUKAN ruang kerja perorangan.
  6. Jika Anda melihat nama ruang kerja di dropdown, klik nama tersebut dan pilih nama organisasi Enterprise Anda.
  7. Tinjau izin yang diminta, lalu klik Izinkan.

Mengambil kredensial

Setelah otorisasi selesai, Anda akan dialihkan ke halaman OAuth & Izin.

  1. Di bagian Token OAuth untuk Ruang Kerja Anda, temukan Token OAuth Pengguna.
  2. Token dimulai dengan xoxp-.
  3. Klik Salin dan simpan token ini dengan aman.

  4. Catat ID Organisasi Anda:

    1. Buka Konsol Admin Slack.
    2. Buka Setelan & Izin > Setelan organisasi.
    3. Salin Organization ID.

Verifikasi izin

Untuk memverifikasi bahwa aplikasi Anda memiliki izin yang diperlukan:

  1. Buka halaman Aplikasi Slack API.
  2. Pilih aplikasi Anda.
  3. Pilih OAuth & Izin dari navigasi kiri.
  4. Di bagian Token OAuth untuk Ruang Kerja Anda, pastikan Token OAuth Pengguna ditampilkan (dimulai dengan xoxp-).
  5. Di bagian Cakupan, pastikan auditlogs:read muncul di bagian Cakupan Token Pengguna.

Menguji akses API

  • Uji token Anda sebelum melanjutkan integrasi:

    SLACK_TOKEN="xoxp-your-token-here"
    
    curl -H "Authorization: Bearer $SLACK_TOKEN" \
      "https://api.slack.com/audit/v1/logs?limit=1"
    

    Respons yang berhasil berisi array entries dengan peristiwa log audit. Jika Anda menerima error invalid_auth atau missing_scope, verifikasi token dan cakupan Anda.

Opsi 1: Mengonfigurasi ekspor log Audit Slack menggunakan Fungsi Google Cloud Run

Opsi ini menggunakan Google Cloud Run Functions dan Cloud Scheduler untuk mengumpulkan log Audit Slack dan memasukkannya langsung ke Google SecOps menggunakan skrip penyerapan Chronicle.

Sebelum Anda memulai (Opsi 1)

Pastikan Anda memiliki prasyarat tambahan berikut:

  • Project GCP dengan API berikut diaktifkan:
    • Cloud Functions API
    • Cloud Scheduler API
    • Secret Manager API
  • Izin untuk membuat Cloud Functions, tugas Cloud Scheduler, dan secret di Secret Manager
  • File JSON akun layanan Google SecOps

Mendapatkan akun layanan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan.
  4. Simpan file JSON dengan aman. Anda akan menguploadnya sebagai secret di Google Secret Manager.

Menyiapkan kode fungsi

Download file deployment dari repositori GitHub ingestion-scripts Chronicle:

  1. Dari folder slack, download:
    • .env.yml
    • main.py
    • requirements.txt
  2. Dari root repositori, download seluruh direktori common beserta semua filenya.

    Direktori deployment Anda harus memiliki struktur berikut:

    deployment_directory/
    ├── common/
       ├── __init__.py
       ├── auth.py
       ├── env_constants.py
       ├── ingest.py
       ├── status.py
       └── utils.py
    ├── .env.yml
    ├── main.py
    └── requirements.txt
    

Mengonfigurasi secret di Google Secret Manager

Simpan kredensial sensitif di Secret Manager untuk akses yang aman oleh fungsi Cloud Run.

Buat secret untuk akun layanan Google SecOps

  1. Di GCP Console, buka Security > Secret Manager.
  2. Klik Buat Secret.
  3. Berikan detail konfigurasi berikut:
    • Nama: Masukkan chronicle-service-account.
    • Nilai rahasia: Masukkan seluruh konten file JSON akun layanan Google SecOps.
  4. Klik Buat Secret.
  5. Salin nama resource rahasia. Formatnya adalah:

    projects/PROJECT_ID/secrets/chronicle-service-account/versions/latest
    

Buat secret untuk token Slack

  1. Di halaman Secret Manager, klik Create Secret.
  2. Berikan detail konfigurasi berikut:
    • Nama: Masukkan slack-admin-token.
    • Nilai rahasia: Masukkan Token OAuth Pengguna Slack (dimulai dengan xoxp-).
  3. Klik Buat Secret.
  4. Salin nama resource rahasia. Formatnya adalah:

    projects/PROJECT_ID/secrets/slack-admin-token/versions/latest
    

Mengonfigurasi variabel lingkungan

  1. Buka file .env.yml di direktori deployment Anda dan konfigurasikan variabel lingkungan:

    CHRONICLE_CUSTOMER_ID: "<your-chronicle-customer-id>"
    CHRONICLE_REGION: "us"
    CHRONICLE_SERVICE_ACCOUNT: "projects/<PROJECT_ID>/secrets/chronicle-service-account/versions/latest"
    CHRONICLE_NAMESPACE: ""
    POLL_INTERVAL: "5"
    SLACK_ADMIN_TOKEN: "projects/<PROJECT_ID>/secrets/slack-admin-token/versions/latest"
    

    Ganti kode berikut:

    • <your-chronicle-customer-id>: ID pelanggan Google SecOps Anda.
    • <PROJECT_ID>: ID project Google Cloud Anda.
    • CHRONICLE_REGION: Setel ke region Google SecOps Anda. Nilai yang valid: us, asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2, southamerica-east1.
    • POLL_INTERVAL: Interval frekuensi (dalam menit) saat fungsi dijalankan. Durasi ini harus sama dengan interval tugas Cloud Scheduler.
  2. Simpan file .env.yml.

Men-deploy fungsi Cloud Run

  1. Buka terminal atau Cloud Shell di konsol Google Cloud. Buka direktori deployment Anda dan jalankan perintah berikut:

    gcloud functions deploy slack-audit-to-chronicle \
      --entry-point main \
      --trigger-http \
      --runtime python312 \
      --env-vars-file .env.yml \
      --timeout 540s \
      --memory 512MB \
      --service-account <SERVICE_ACCOUNT_EMAIL>
    

    Ganti <SERVICE_ACCOUNT_EMAIL> dengan alamat email akun layanan yang ingin digunakan oleh fungsi Cloud Run Anda.

  2. Tunggu hingga deployment selesai. Setelah di-deploy, catat URL fungsi dari output.

Menyiapkan Cloud Scheduler

  1. Di GCP Console, buka Cloud Scheduler > Buat tugas.
  2. Berikan detail konfigurasi berikut:

    Setelan Nilai
    Nama slack-audit-scheduler
    Region Pilih region yang sama tempat Anda men-deploy fungsi Cloud Run
    Frekuensi */5 * * * * (setiap 5 menit, cocok dengan nilai POLL_INTERVAL)
    Zona Waktu Pilih zona waktu (UTC direkomendasikan)
  3. Klik Lanjutkan.

  4. Di bagian Configure the execution:

    • Jenis target: Pilih HTTP.
    • URL: Masukkan URL fungsi Cloud Run dari output deployment.
    • Metode HTTP: Pilih POST.
  5. Di bagian Auth header:

    • Pilih Tambahkan token OIDC.
    • Akun layanan: Pilih akun layanan yang sama yang digunakan untuk fungsi Cloud Run.
  6. Klik Create.

Opsi frekuensi jadwal

Pilih frekuensi berdasarkan volume log dan persyaratan latensi:

Frekuensi Ekspresi Cron Kasus Penggunaan
Setiap 5 menit */5 * * * * Standar (direkomendasikan)
Setiap 15 menit */15 * * * * Volume sedang
Setiap jam 0 * * * * Volume rendah

Menguji integrasi (Opsi 1)

  1. Di konsol Cloud Scheduler, temukan tugas Anda (slack-audit-scheduler).
  2. Klik Force run untuk memicu tugas secara manual.
  3. Tunggu beberapa detik.
  4. Buka Cloud Functions.
  5. Klik nama fungsi (slack-audit-to-chronicle).
  6. Klik tab Logs.
  7. Pastikan fungsi berhasil dieksekusi. Cari:

    Retrieving the Slack Audit logs since: YYYY-MM-DDTHH:MM:SSZ
    Processing logs...
    Retrieved X audit logs from the API call
    Logs processed successfully.
    

Opsi 2: Mengonfigurasi ekspor Log Audit Slack menggunakan AWS S3

Opsi ini menggunakan AWS Lambda untuk mengumpulkan log Audit Slack dan menyimpannya di Amazon S3, lalu mengonfigurasi feed Google SecOps untuk menyerap log.

Sebelum Anda memulai (Opsi 2)

Pastikan Anda memiliki prasyarat tambahan berikut:

  • Akun AWS dengan izin untuk membuat bucket S3, pengguna/peran/kebijakan IAM, fungsi Lambda, dan aturan EventBridge.

Buat bucket Amazon S3

  1. Buat bucket Amazon S3 dengan mengikuti panduan pengguna Membuat bucket.
  2. Simpan Name dan Region bucket untuk referensi di masa mendatang (misalnya, slack-audit-logs).

Mengonfigurasi kebijakan dan peran IAM untuk upload S3

  1. Di AWS Console, buka tab IAM > Policies > Create policy > JSON.
  2. Masukkan kebijakan berikut. Ganti slack-audit-logs jika Anda menggunakan nama bucket yang berbeda:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AllowPutObjects",
          "Effect": "Allow",
          "Action": "s3:PutObject",
          "Resource": "arn:aws:s3:::slack-audit-logs/*"
        },
        {
          "Sid": "AllowGetStateObject",
          "Effect": "Allow",
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::slack-audit-logs/slack/audit/state.json"
        }
      ]
    }
    
  3. Klik Berikutnya.

  4. Masukkan nama kebijakan SlackAuditS3Policy.

  5. Klik Create policy.

  6. Buka IAM > Roles > Create role > AWS service > Lambda.

  7. Lampirkan kebijakan SlackAuditS3Policy yang baru dibuat.

  8. Beri nama peran SlackAuditToS3Role, lalu klik Buat peran.

Buat fungsi Lambda

  1. Di Konsol AWS, buka Lambda > Functions > Create function.
  2. Klik Buat dari awal.
  3. Berikan detail konfigurasi berikut:

    Setelan Nilai
    Nama slack_audit_to_s3
    Runtime Python 3.13
    Arsitektur x86_64
    Peran eksekusi SlackAuditToS3Role
  4. Klik Create function.

  5. Setelah fungsi dibuat, buka tab Code, hapus stub, lalu masukkan kode berikut (slack_audit_to_s3.py):

    #!/usr/bin/env python3
    # Lambda: Pull Slack Audit Logs (Enterprise Grid) to S3 (JSONL format)
    import os, json, time, urllib.parse
    from urllib.request import Request, urlopen
    from urllib.error import HTTPError, URLError
    import boto3
    
    BASE_URL = "https://api.slack.com/audit/v1/logs"
    TOKEN = os.environ["SLACK_AUDIT_TOKEN"]
    BUCKET = os.environ["S3_BUCKET"]
    PREFIX = os.environ.get("S3_PREFIX", "slack/audit/")
    STATE_KEY = os.environ.get("STATE_KEY", "slack/audit/state.json")
    LIMIT = int(os.environ.get("LIMIT", "200"))
    MAX_PAGES = int(os.environ.get("MAX_PAGES", "20"))
    LOOKBACK_SEC = int(os.environ.get("LOOKBACK_SECONDS", "3600"))
    HTTP_TIMEOUT = int(os.environ.get("HTTP_TIMEOUT", "60"))
    HTTP_RETRIES = int(os.environ.get("HTTP_RETRIES", "3"))
    RETRY_AFTER_DEFAULT = int(os.environ.get("RETRY_AFTER_DEFAULT", "2"))
    # Optional server-side filters (comma-separated 'action' values)
    ACTIONS = os.environ.get("ACTIONS", "").strip()
    
    s3 = boto3.client("s3")
    
    def _get_state() -> dict:
        try:
            obj = s3.get_object(Bucket=BUCKET, Key=STATE_KEY)
            st = json.loads(obj["Body"].read() or b"{}")
            return {"cursor": st.get("cursor")}
        except Exception:
            return {"cursor": None}
    
    def _put_state(state: dict) -> None:
        body = json.dumps(state, separators=(",", ":")).encode("utf-8")
        s3.put_object(
            Bucket=BUCKET, Key=STATE_KEY, Body=body, ContentType="application/json"
        )
    
    def _http_get(params: dict) -> dict:
        qs = urllib.parse.urlencode(params, doseq=True)
        url = f"{BASE_URL}?{qs}" if qs else BASE_URL
        req = Request(url, method="GET")
        req.add_header("Authorization", f"Bearer {TOKEN}")
        req.add_header("Accept", "application/json")
        attempt = 0
        while True:
            try:
                with urlopen(req, timeout=HTTP_TIMEOUT) as r:
                    return json.loads(r.read().decode("utf-8"))
            except HTTPError as e:
                # Respect Retry-After on 429/5xx
                if e.code in (429, 500, 502, 503, 504) and attempt < HTTP_RETRIES:
                    retry_after = 0
                    try:
                        retry_after = int(
                            e.headers.get("Retry-After", RETRY_AFTER_DEFAULT)
                        )
                    except Exception:
                        retry_after = RETRY_AFTER_DEFAULT
                    time.sleep(max(1, retry_after))
                    attempt += 1
                    continue
                raise
            except URLError:
                if attempt < HTTP_RETRIES:
                    time.sleep(RETRY_AFTER_DEFAULT)
                    attempt += 1
                    continue
                raise
    
    def _write_page(data: dict, page_idx: int) -> str:
        """Extract entries from Slack API response and write as JSONL."""
        entries = data.get("entries") or []
        if not entries:
            return None
        lines = [json.dumps(entry, separators=(",", ":")) for entry in entries]
        body = "\n".join(lines).encode("utf-8")
        ts = time.strftime("%Y/%m/%d/%H%M%S", time.gmtime())
        key = f"{PREFIX}{ts}-slack-audit-p{page_idx:05d}.json"
        s3.put_object(
            Bucket=BUCKET, Key=key, Body=body, ContentType="application/json"
        )
        return key
    
    def lambda_handler(event=None, context=None):
        state = _get_state()
        cursor = state.get("cursor")
        params = {"limit": LIMIT}
        if ACTIONS:
            params["action"] = [a.strip() for a in ACTIONS.split(",") if a.strip()]
        if cursor:
            params["cursor"] = cursor
        else:
            # First run (or reset): fetch a recent window by time
            params["oldest"] = int(time.time()) - LOOKBACK_SEC
        pages = 0
        total = 0
        last_cursor = None
        while pages < MAX_PAGES:
            data = _http_get(params)
            _write_page(data, pages)
            entries = data.get("entries") or []
            total += len(entries)
            # Cursor for next page
            meta = data.get("response_metadata") or {}
            next_cursor = meta.get("next_cursor") or data.get("next_cursor")
            if next_cursor:
                params = {"limit": LIMIT, "cursor": next_cursor}
                if ACTIONS:
                    params["action"] = [
                        a.strip() for a in ACTIONS.split(",") if a.strip()
                    ]
                last_cursor = next_cursor
                pages += 1
                continue
            break
        if last_cursor:
            _put_state({"cursor": last_cursor})
        return {
            "ok": True,
            "pages": pages + (1 if total or last_cursor else 0),
            "entries": total,
            "cursor": last_cursor,
        }
    
    if __name__ == "__main__":
        print(lambda_handler())
    

Mengonfigurasi variabel lingkungan Lambda

  1. Buka Configuration > Variabel lingkungan > Edit > Tambahkan variabel lingkungan.
  2. Masukkan variabel lingkungan berikut, ganti dengan nilai Anda:

    Kunci Nilai Contoh
    SLACK_AUDIT_TOKEN xoxp-... (token pengguna tingkat organisasi dengan auditlogs:read)
    S3_BUCKET slack-audit-logs
    S3_PREFIX slack/audit/
    STATE_KEY slack/audit/state.json
    LIMIT 200
    MAX_PAGES 20
    LOOKBACK_SECONDS 3600
    HTTP_TIMEOUT 60
    HTTP_RETRIES 3
    RETRY_AFTER_DEFAULT 2
    ACTIONS (opsional, filter tindakan yang dipisahkan koma)
  3. Klik Simpan.

  4. Pilih tab Configuration Di panel General configuration, klik Edit.

  5. Ubah Waktu Tunggu menjadi 5 minutes (300 detik), lalu klik Simpan.

Membuat jadwal EventBridge

  1. Buka Amazon EventBridge > Scheduler > Create schedule.
  2. Berikan detail konfigurasi berikut:
    • Nama: Masukkan slack-audit-1h.
    • Jadwal berulang: Pilih Jadwal berbasis tarif.
    • Ekspresi tarif: Masukkan 1 hours.
    • Jendela waktu fleksibel: Pilih Nonaktif.
  3. Klik Berikutnya.
  4. Pilih Target:
    • Target API: Pilih AWS Lambda Invoke.
    • Fungsi Lambda: Pilih slack_audit_to_s3.
  5. Klik Berikutnya.
  6. Klik Berikutnya (lewati setelan opsional).
  7. Tinjau, lalu klik Buat jadwal.

Opsional: Buat pengguna IAM hanya baca untuk Google SecOps

  1. Buka Konsol AWS > IAM > Users > Create user.
  2. Berikan detail konfigurasi berikut:
    • Nama pengguna: Masukkan secops-reader.
    • Jenis akses: Pilih Akses terprogram.
  3. Klik Berikutnya.
  4. Pilih Lampirkan kebijakan secara langsung.
  5. Klik Create policy. Di tab JSON, masukkan:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": ["s3:GetObject"],
          "Resource": "arn:aws:s3:::slack-audit-logs/*"
        },
        {
          "Effect": "Allow",
          "Action": ["s3:ListBucket"],
          "Resource": "arn:aws:s3:::slack-audit-logs"
        }
      ]
    }
    
  6. Klik Berikutnya.

  7. Masukkan nama kebijakan secops-reader-policy.

  8. Klik Create policy.

  9. Kembali ke halaman pembuatan pengguna, muat ulang daftar kebijakan, lalu pilih secops-reader-policy.

  10. Klik Berikutnya.

  11. Klik Buat pengguna.

  12. Pilih pengguna yang dibuat secops-reader.

  13. Buka Kredensial keamanan > Kunci akses > Buat kunci akses.

  14. Pilih Layanan pihak ketiga.

  15. Klik Berikutnya.

  16. Klik Create access key.

  17. Klik Download file .csv untuk menyimpan kredensial.

Mengonfigurasi feed di Google SecOps untuk menyerap log Audit Slack

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Klik Konfigurasi satu feed.
  4. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Slack Audit Logs).
  5. Pilih Amazon S3 V2 sebagai Jenis sumber.
  6. Pilih Slack Audit sebagai Jenis log.
  7. Klik Berikutnya.

    Tentukan nilai untuk parameter input berikut:

    • URI S3: Masukkan URI bucket S3 dengan jalur awalan:

      s3://slack-audit-logs/slack/audit/
      

      Ganti slack-audit-logs dengan nama bucket S3 Anda yang sebenarnya.

    • Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda.

    • Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir. Defaultnya adalah 180 hari.

    • ID Kunci Akses: Kunci akses pengguna dengan akses ke bucket S3 (dari pengguna IAM secops-reader).

    • Kunci Akses Rahasia: Kunci rahasia pengguna dengan akses ke bucket S3 (dari pengguna IAM secops-reader).

    • Namespace aset: Namespace aset.

    • Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini.

  8. Klik Berikutnya.

  9. Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
action metadata.product_event_type Dipetakan langsung dari kolom action
actor.type principal.labels Dipetakan langsung dengan kunci actor.type
actor.user.email principal.user.email_addresses Dipetakan secara langsung
actor.user.id principal.user.product_object_id Dipetakan secara langsung
actor.user.id principal.user.userid Dipetakan secara langsung
actor.user.name principal.user.user_display_name Dipetakan secara langsung
actor.user.team principal.user.group_identifiers Dipetakan secara langsung
context.ip_address principal.ip Dipetakan secara langsung
context.location.domain about.resource.attribute.labels Dipetakan langsung dengan kunci context.location.domain
context.location.id about.resource.id Dipetakan secara langsung
context.location.name about.resource.name Dipetakan secara langsung
context.location.name about.resource.attribute.labels Dipetakan langsung dengan kunci context.location.name
context.location.type about.resource.resource_subtype Dipetakan secara langsung
context.session_id network.session_id Dipetakan secara langsung
context.ua network.http.user_agent Dipetakan secara langsung
context.ua network.http.parsed_user_agent Agen pengguna yang diuraikan yang berasal dari kolom context.ua
country principal.location.country_or_region Dipetakan secara langsung
date_create metadata.event_timestamp.seconds Stempel waktu epoch yang dikonversi menjadi objek stempel waktu
details.inviter.email target.user.email_addresses Dipetakan secara langsung
details.inviter.id target.user.product_object_id Dipetakan secara langsung
details.inviter.name target.user.user_display_name Dipetakan secara langsung
details.inviter.team target.user.group_identifiers Dipetakan secara langsung
details.reason security_result.description Dipetakan secara langsung; jika array, digabungkan dengan koma
details.type about.resource.attribute.labels Dipetakan langsung dengan kunci details.type
details.type security_result.summary Dipetakan secara langsung
entity.app.id target.resource.id Dipetakan secara langsung
entity.app.name target.resource.name Dipetakan secara langsung
entity.channel.id target.resource.id Dipetakan secara langsung
entity.channel.name target.resource.name Dipetakan secara langsung
entity.channel.privacy target.resource.attribute.labels Dipetakan langsung dengan kunci entity.channel.privacy
entity.file.filetype target.resource.attribute.labels Dipetakan langsung dengan kunci entity.file.filetype
entity.file.id target.resource.id Dipetakan secara langsung
entity.file.name target.resource.name Dipetakan secara langsung
entity.file.title target.resource.attribute.labels Dipetakan langsung dengan kunci entity.file.title
entity.huddle.date_end about.resource.attribute.labels Dipetakan langsung dengan kunci entity.huddle.date_end
entity.huddle.date_start about.resource.attribute.labels Dipetakan langsung dengan kunci entity.huddle.date_start
entity.huddle.id about.resource.attribute.labels Dipetakan langsung dengan kunci entity.huddle.id
entity.huddle.participants.0 about.resource.attribute.labels Dipetakan langsung dengan kunci entity.huddle.participants.0
entity.huddle.participants.1 about.resource.attribute.labels Dipetakan langsung dengan kunci entity.huddle.participants.1
entity.type target.resource.resource_subtype Dipetakan secara langsung
entity.user.email target.user.email_addresses Dipetakan secara langsung
entity.user.id target.user.product_object_id Dipetakan secara langsung
entity.user.name target.user.user_display_name Dipetakan secara langsung
entity.user.team target.user.group_identifiers Dipetakan secara langsung
entity.workflow.id target.resource.id Dipetakan secara langsung
entity.workflow.name target.resource.name Dipetakan secara langsung
id metadata.product_log_id Dipetakan secara langsung
ip principal.ip Dipetakan secara langsung
user_agent network.http.user_agent Dipetakan secara langsung
user_id principal.user.product_object_id Dipetakan secara langsung
username principal.user.product_object_id Dipetakan secara langsung
metadata.event_type Default-nya adalah USER_COMMUNICATION; disetel ke USER_CREATION jika tindakan adalah user_created, USER_LOGIN jika tindakan adalah user_login atau user_login_failed, USER_LOGOUT jika tindakan adalah user_logout, USER_RESOURCE_ACCESS jika tindakan cocok dengan file_, USER_RESOURCE_UPDATE_PERMISSIONS jika tindakan cocok dengan app_, private_, public_, atau auth_policy_, USER_CHANGE_PERMISSIONS jika tindakan cocok dengan pref, legal_hold_, workflow_, channel_, user_deactivated, user_reactivated, role_change_, atau user_channel_
metadata.log_type Hardcode ke SLACK_AUDIT
metadata.product_name Disetel ke Enterprise Grid jika date_create ada, atau Audit Logs jika user_id ada
metadata.vendor_name Hardcode ke Slack
extensions.auth.mechanism Hardcode ke REMOTE
extensions.auth.type Tetapkan ke SSO jika tindakan berisi user_login atau user_logout, jika tidak MACHINE
security_result.action Nilai defaultnya adalah ALLOW; setel ke BLOCK jika tindakan adalah user_login_failed
target.application Disetel ke Slack jika date_create ada, atau SLACK jika user_id ada
details.url_private target.url Dipetakan dari log perubahan
details.previous_ip_address principal.labels Dipetakan dari log perubahan
details.previous_ua principal.labels Dipetakan dari log perubahan

Log Perubahan

Melihat Log Perubahan untuk parser ini

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.