Peran IAM untuk fungsi tugas terkait audit

Topik ini menjelaskan cara mengonfigurasi izin Identity and Access Management untuk sekumpulan contoh skenario audit. Panduan ini berisi panduan tentang peran IAM yang akan diberikan kepada peran fungsional terkait audit di perusahaan Anda untuk setiap skenario. Contoh dalam topik ini terutama ditargetkan untuk administrator keamanan, auditor, dan karyawan yang mengelola tugas audit untuk organisasi.

Untuk mempelajari log audit untuk Google Cloud, lihat Cloud Audit Logs. Untuk mempelajari log audit yang dihasilkan IAM, lihat logging audit IAM untuk akun layanan.

Skenario: Pemantauan operasional

Dalam skenario ini, organisasi memiliki tim keamanan pusat yang memiliki kemampuan untuk meninjau log yang mungkin berisi informasi sensitif di Cloud Logging dan saat disimpan dalam penyimpanan jangka panjang.

Data audit historis disimpan di Cloud Storage. Organisasi ini menggunakan aplikasi untuk memberikan akses ke data audit historis. Aplikasi ini menggunakan akun layanan untuk mengakses data log. Karena sensitivitas beberapa data log audit, data tersebut disamarkan menggunakan Sensitive Data Protection sebelum dibuat menjadi dapat diakses untuk dilihat.

Tabel di bawah ini menjelaskan peran IAM yang perlu diberikan kepada CTO, tim keamanan, dan akun layanan, serta level resource tempat peran tersebut diberikan.

Peran Resource Akun utama Deskripsi
resourcemanager.organizationAdmin Organisasi CTO Peran resourcemanager.organizationAdmin memberikan kemampuan kepada CTO untuk menetapkan izin ke tim keamanan dan akun layanan.
logging.viewer Organisasi Tim keamanan Peran logging.viewer memberikan kemampuan kepada tim admin keamanan untuk melihat log Aktivitas Admin.
logging.privateLogViewer Organisasi Tim keamanan Peran logging.privateLogViewer memberikan kemampuan untuk melihat log Akses Data.

Setelah entri log diekspor, akses ke salinan yang diekspor sepenuhnya dikontrol oleh izin dan peran IAM di setiap tujuan: Cloud Storage, BigQuery, atau Pub/Sub. Dalam skenario ini, Cloud Storage adalah tujuan untuk penyimpanan log audit jangka panjang.

Peran Resource Akun utama Deskripsi
logging.viewer Organisasi Akun layanan Peran logging.viewer mengizinkan akun layanan untuk membaca log Aktivitas Admin di Cloud Logging.

Data di log Akses Data dianggap sebagai informasi identitas pribadi (PII) untuk organisasi ini. Pengintegrasian aplikasi dengan Sensitive Data Protection memberikan kemampuan untuk menyamarkan data PII sensitif saat melihat log Akses Data, baik yang ada di log Akses Data maupun dari arsip historis di Cloud Storage.

Peran Resource Akun utama Deskripsi
storage.objectViewer Bucket Akun layanan Peran storage.objectViewer mengizinkan akun layanan untuk membaca log Aktivitas Admin yang diekspor.

Kebijakan izin yang terikat ke resource organisasi untuk skenario ini akan terlihat seperti berikut:

{
  "bindings": [{
    "role": "roles/resourcemanager.organizationAdmin",
      "members": [
        "user:cto@example.com"
      ]
    },
    {
      "role": "roles/logging.viewer",
      "members": [
        "group:security-team@example.com",
        "serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/logging.privateLogViewer",
      "members": [
        "group:security-team@example.com"
      ]
    }
  ]
}

Kebijakan izin yang terikat pada bucket yang dikonfigurasi sebagai sink tujuan untuk skenario ini akan terlihat seperti berikut:

{
  "bindings": [{
    "role": "roles/storage.objectViewer",
    "members": [
      "serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

Skenario: Tim pengembangan memantau log audit mereka

Dalam skenario ini, developer organisasi perlu melihat log audit yang dihasilkan saat mengembangkan aplikasi mereka. Mereka tidak diizinkan untuk meninjau log produksi kecuali jika log tersebut telah disamarkan menggunakan Sensitive Data Protection. Aplikasi dasbor tersedia bagi developer yang memberikan akses hanya lihat ke data produksi yang diekspor. Tim keamanan organisasi memiliki akses ke semua log, baik di lingkungan produksi maupun di lingkungan pengembangan.

Tabel di bawah ini menjelaskan peran IAM yang perlu diberikan kepada tim keamanan, developer, dan akun layanan, serta level resource tempat peran tersebut diberikan.

Peran Resource Akun utama Deskripsi
logging.viewer Organisasi Tim keamanan Peran logging.viewer memberikan kemampuan kepada tim admin keamanan untuk melihat log Aktivitas Admin.
logging.privateLogViewer Organisasi Tim keamanan Peran logging.privateLogViewer memberikan kemampuan untuk melihat log Akses Data.
logging.viewer Folder Tim developer Peran logging.viewer memberikan kemampuan kepada tim developer untuk melihat log Aktivitas Admin yang dibuat oleh project developer yang terdapat dalam folder tempat semua project developer berada.
logging.privateLogViewer Folder Tim developer Peran logging.privateLogViewer memberikan kemampuan untuk melihat log Akses Data.

Akses ke salinan yang diekspor sepenuhnya dikontrol oleh izin dan peran IAM di setiap tujuan: Cloud Storage, BigQuery, atau Pub/Sub. Dalam skenario ini, BigQuery adalah tujuan untuk penyimpanan log audit.

Peran Resource Akun utama Deskripsi
bigquery.dataViewer Set data BigQuery Akun layanan dasbor Peran bigquery.dataViewer mengizinkan akun layanan yang digunakan oleh aplikasi dasbor untuk membaca log Aktivitas Admin yang diekspor.

Kebijakan izin yang terikat ke resource folder tim pengembangan untuk skenario ini akan terlihat seperti berikut:

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "group:developer-team@example.com"
    ]
  },
  {
    "role": "roles/logging.privateLogViewer",
    "members": [
      "group:developer-team@example.com"
    ]
  }]
}

Kebijakan izin yang terikat ke resource organisasi untuk skenario ini akan terlihat seperti berikut:

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "group:security-team@example.com"
    ]
  },
  {
    "role": "roles/logging.privateLogViewer",
    "members": [
      "group:security-team@example.com"
    ]
  }]
}

Kebijakan izin yang terikat pada set data BigQuery yang dikonfigurasi sebagai sink tujuan untuk skenario ini akan terlihat seperti berikut:

{
  "bindings": [{
    "role": "roles/bigquery.dataViewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

Skenario: Auditor eksternal

Dalam skenario ini, log audit untuk organisasi digabungkan dan diekspor ke lokasi sink pusat. Auditor pihak ketiga diberi akses beberapa kali dalam setahun untuk meninjau log audit organisasi. Auditor tidak diizinkan untuk melihat data PII di log Aktivitas Admin. Untuk mematuhi persyaratan ini, tersedia dasbor yang memberikan akses ke log historis yang disimpan di BigQuery, dan berdasarkan permintaan ke log Aktivitas Admin Cloud Logging.

Organisasi ini membuat grup Google untuk auditor eksternal ini dan menambahkan auditor saat ini ke grup tersebut. Grup ini dipantau dan biasanya diberi akses ke aplikasi dasbor.

Selama akses normal, grup Google auditor hanya diberi akses untuk melihat log historis yang disimpan di BigQuery. Jika ada anomali yang ditemukan, grup akan diberi izin untuk melihat log Aktivitas Admin Cloud Logging yang sebenarnya melalui mode akses dasbor yang lebih tinggi. Pada akhir setiap periode audit, akses grup akan dicabut.

Data disamarkan menggunakan Sensitive Data Protection sebelum dibuat menjadi dapat diakses untuk dilihat melalui aplikasi dasbor.

Tabel di bawah ini menjelaskan peran logging IAM yang dapat diberikan Organization Administrator ke akun layanan yang digunakan oleh dasbor, serta level resource tempat peran diberikan.

Peran Resource Akun utama Deskripsi
logging.viewer Organisasi Akun layanan dasbor Peran logging.viewer mengizinkan akun layanan untuk membaca log Aktivitas Admin di Cloud Logging.
bigquery.dataViewer Set data BigQuery Akun layanan dasbor Peran bigquery.dataViewer mengizinkan akun layanan yang digunakan oleh aplikasi dasbor untuk membaca log Aktivitas Admin yang diekspor.

Kebijakan izin yang terikat ke resource Organisasi untuk skenario ini akan terlihat seperti berikut:

{
  "bindings": [{
    "role": "roles/logging.viewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}

Kebijakan izin yang terikat pada set data BigQuery yang dikonfigurasi sebagai sink tujuan untuk skenario ini akan terlihat seperti berikut:

{
  "bindings": [{
    "role": "roles/bigquery.dataViewer",
    "members": [
      "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
    ]
  }]
}