Skenario ini menunjukkan cara mengekspor log dari Cloud Logging ke Cloud Storage untuk memenuhi persyaratan kepatuhan organisasi Anda. Organisasi menghadapi banyak persyaratan semacam itu untuk membuat dan menjaga logging file. Misalnya, jika kepatuhan Sarbanes Oxley (SOX) dianggap sangat penting, Anda dapat mempertahankan log untuk pengguna, database, dan aktivitas konsol. Untuk mengetahui informasi lebih lanjut mengenai periode default dan dapat dikonfigurasi dari retensi log, lihat kuota dan batasan Cloud Logging.
Dalam skenario ini, log yang diekspor dikirimkan ke bucket Cloud Storage yang Anda konfigurasi. Anda memberikan izin untuk membatasi akses ke log sesuai kebutuhan. Untuk mengurangi biaya penyimpanan jangka panjang, Anda dapat menggunakan fitur manajemen siklus proses objek di Cloud Storage untuk memindahkan log ke kelas Nearline atau Coldline storage lalu menghapusnya setelah periode retensi yang diperlukan telah terlewati.
Skenario ini menganggap arsitektur web umum tiga tingkat yang berjalan di Google Cloud dengan mesin virtual (VM), database, dan sistem penyimpanan pendukung. Untuk lingkungan ini, jenis log berikut yang diekspor: semua log audit, log terkait mesin virtual, log penyimpanan, dan log database. Anda dapat mengubah jenis log yang diekspor dengan menyesuaikan filter pencatatan log dalam contoh ini.
Menyiapkan ekspor logging
Diagram berikut menunjukkan langkah-langkah untuk mengaktifkan ekspor logging ke Cloud Storage.
Menyiapkan bucket ekspor logging di Cloud Storage
Ikuti petunjuk untuk menyiapkan bucket Cloud Storage yang akan menghosting log Anda yang sudah diekspor. Untuk kelas penyimpanan default, pilih Regional, kecuali Anda membutuhkan kelas Multi-Regional, Nearline, atau Coldline storage.
Mengonfigurasi pengelolaan siklus proses objek untuk bucket Cloud Storage
Skenario ini menganggap persyaratan retensi untuk semua log berlangsung selama 7 tahun. Untuk to meminimalkan biaya penyimpanan, Anda dapat menambahkan aturan siklus proses di Cloud Storage untuk memindahkan log ke Nearline atau Coldline storage setelah jumlah hari tertentu, lalu menghapus log jika Anda tidak lagi diharuskan untuk menyimpannya.
Praktik terbaik: Memindahkan log ke Nearline atau Coldline kemudian menghapusnya membantu Anda mengelola biaya operasional penyimpanan log yang sedang berlangsung.
Anda dapat mengikuti petunjuk untuk membuat aturan siklus proses. Screenshot berikut menggambarkan serangkaian aturan menurun yang mengubah kelas penyimpanan menjadi Nearline setelah 60 hari, mengubah kelas penyimpanan menjadi Coldline setelah 120 hari, lalu menghapus log setelah 2555 hari yaitu sekitar 7 tahun.
Mengaktifkan logging audit untuk semua layanan
Log audit akses data—kecuali untuk BigQuery—nonaktif secara default. Untuk mengaktifkan semua log audit, ikuti petunjuk untuk memperbarui kebijakan Identity and Access Management (IAM) dengan konfigurasi yang tercantum dalam dokumentasi kebijakan audit . Langkah-langkahnya adalah sebagai berikut.
- Mendownload kebijakan IAM saat ini sebagai file.
- Menambahkan objek JSON atau YAML kebijakan log audit ke file kebijakan saat ini.
- Memperbarui proyek Google Cloud dengan file kebijakan yang telah diubah.
Berikut merupakan contoh objek JSON yang mengaktifkan semua log audit untuk seluruh layanan.
"auditConfigs": [ { "service": "allServices", "auditLogConfigs": [ { "logType": "ADMIN_READ" }, { "logType": "DATA_READ" }, { "logType": "DATA_WRITE" }, ] }, ]
Mengonfigurasi ekspor logging
Setelah menyiapkan ekspor gabungan atau ekspor log, Anda perlu meningkatkan kualitas filter logging untuk mengekspor log audit, log terkait virtual machine, log penyimpanan, dan log database. Filter logging berikut mencakup Aktivitas Admin dan log audit Akses Data dan log untuk jenis resource tertentu.
logName:"/logs/cloudaudit.googleapis.com" OR resource.type:gce OR resource.type=gcs_bucket OR resource.type=cloudsql_database OR resource.type=bigquery_resource
Dari Google Cloud CLI, gunakan
gcloud logging sinks create
perintah atau
organizations.sinks.create
panggilan API untuk membuat sink dengan filter yang sesuai. Contoh
gcloud
perintah berikut membuat sink yang akan dipanggil gcp_logging_sink_gcs
untuk
organisasi. Sink mencakup semua project turunan dan menentukan filter untuk
memilih log audit secara masing-masing.
gcloud logging sinks create gcp_logging_sink_gcs \ storage.googleapis.com/gcp-logging-export-000100011000 \ --log-filter='logName: "/logs/cloudaudit.googleapis.com" OR \ resource.type:\"gce\" OR \ resource.type=\"gcs_bucket\" OR \ resource.type=\"cloudsql_database\" OR \ resource.type=\"bigquery_resource\"' \ --include-children \ --organization=324989855333
Output perintah mirip dengan berikut ini:
Created [https://logging.googleapis.com/v2/organizations/324989855333/sinks/gcp_logging_sink_gcs]. Please remember to grant `serviceAccount:gcp-logging-sink-gcs@logging-o324989855333.iam.gserviceaccount.com` full-control access to the bucket. More information about sinks can be found at /logging/docs/export/configure_export
serviceAccount
Entri dikembalikan dari panggilan API termasuk identitasnya
gcp-logging-sink-gcs@logging-o324989855333.iam.gserviceaccount.com
. Identitas
ini mewakili akun layanan Google Cloud yang telah dibuat
untuk ekspor. Hingga Anda memberikan identitas ini akses menulis ke tujuan,
ekspor entri log dari sink ini akan gagal. Untuk mencari tahu informasi selengkapnya, lihat
bagian atau dokumentasi tentang
Memberikan akses untuk suatu resource.
Menetapkan izin kebijakan IAM untuk bucket Cloud Storage
Dengan menambahkan akun layanan
gcp-logging-sink-gcs@logging-o324989855333.iam.gserviceaccount.com
ke
gcp-logging-export-000100011000
bucket dengan izin Storage Object Creator,
, Anda juga memberikan izin bagi akun layanan untuk menulis di bucket.
Hingga Anda menambahkan izin ini, ekspor sink akan mengalami kegagalan.
Untuk menambahkan izin ke gcp-logging-export
bucket, ikuti langkah-langkah ini:
Di Konsol Google Cloud, buka Storage Browser:
Pilih bucket
gcp-logging-export
.Klik Tampilkan panel info, kemudian pilih izin Storage Object Creator.
Setelah Anda membuat ekspor loggin menggunakan filter sebelumnya, file log akan mulai mengisi bucket Cloud Storage di project yang dikonfigurasi.
Praktik terbaik: Anda dapat menerapkan kebijakan dengan izin yang paling sedikit sesuai dengan kebutuhan Anda. Anda dapat mengonfigurasi izin bucket berdasarkan akun pengguna Google Cloud khusus, Google Groups, atau akun layanan Google Cloud. Gunakan izin IAM untuk memberikan akses ke bucket Cloud Storage serta akses massal ke suatu objek bucket.
Untuk contoh kumpulan izin, Anda dapat melakukan hal berikut:
- Menghapus semua pengguna yang dianggap tidak penting dari izin bucket Cloud Storage.
- Menambah kontrol penuh untuk admin Cloud Storage.
- Memberi izin kepada pengguna ekspor untuk menulis file ekspor logging.
- Memberi akses untuk melihat ekspor logging Google Cloud bagi pengguna perorangan lain.
Anda dapat memperbarui izin IAM untuk bucket secara langsung di
konsol Google Cloud melalui gsutil
alat command-line, atau melalui
API IAM. Contoh berikut menunjukkan kumpulan contoh izin
dan screenshot terkait dengan bucket Cloud Storage di
konsol Google Cloud.
Peran: Storage Admin
- Deskripsi IAM: Kontrol penuh atas resource Cloud Storage
- Penggunaan: Gunakan peran ini untuk memberi akses kepada pengguna admin pada resource Cloud Storage tanpa memberi akses untuk mengubah isi yang tersimpan di Cloud Storage.
Akun contoh:
storage-admin@example.com
Peran: Storage Object Admin
- Deskripsi IAM: Kontrol penuh atas objek Cloud Storage
- Penggunaan: Gunakan peran ini untuk memberikan akses penuh kepada pengguna admin pada objek file Cloud Storage tanpa memberi akses untuk mengubah konfigurasi resource Cloud Storage.
Akun contoh:
storage-object-admin@example.com: user1@example.com, user2@example.com
Peran: Storage Object Viewer
- Deskripsi IAM: Akses baca ke objek Cloud Storage
- Penggunaan: Gunakan peran ini untuk memberi akses hanya baca pada log Google Cloud bagi pengguna.
Akun contoh:
storage-viewer@example.com: user3@example.com
Praktik terbaik: Jika Anda menggunakan Google Workspace atau Google Grup konsumen, Anda
dapat menambah grup Google seperti gcp-logging-export-viewers@example.com
dengan
izin Storage Object Viewer. Kemudian, Anda dapat menambah pengguna ke atau menghapus pengguna dari grup
gcp-logging-export-viewers@example.com
tanpa harus mengedit izin
bucket Cloud Storage untuk masing-masing perubahan dalam izin lihat
pengguna.
Menggunakan log yang diekspor
Setelah Anda membuat ekspor logging dengan menggunakan filter di atas, file log
mulai mengisi bucket Cloud Storage dalam project yang dikonfigurasi.
Setiap log membuat folder terpisah di dalam bucket, yang kemudian dipecah dalam struktur hierarki
berdasarkan tanggal. Anda dapat mengakses log
melalui konsol Google Cloud, alat command-line gsutil
, atau API IAM.
Screenshot berikut menunjukkan contoh struktur folder di
dalam konsol Google Cloud.
Setiap file log terdiri dari data JSON yang mengikuti format entri textPayload
,
protoPayload
, dan jsonPayload
. Seiring waktu, file log di
bucket Cloud Storage tunduk pada proses siklus proses
Cloud Storage, yang mula-mula memindahkan log ke Nearline storage, lalu memindahkan
log ke Coldline storage, terakhir akan menghapus log berdasarkan
konfigurasi Anda.
Memberikan akses eksternal
Anda mungkin ingin memberi akses pengguna tertentu pada log yang diekspor, misalnya, analisis keamanan, tim DevOps, dan auditor Anda.
Strategi lokasi log
Ada beberapa opsi untuk memberikan akses pada log di Cloud Storage.
Buat salinan log untuk dibagikan.
Buat salinan file log individu atau kumpulan log secara manual atau terprogram lalu tempatkan salinannya di bucket Cloud Storage terpisah. Kemudian gunakan izin bucket terpisah untuk membagikan log dengan pengguna tertentu jika dibutuhkan.
Keuntungan: Anda dapat membatasi jumlah data yang diekspos hanya untuk data salinan.
Kekurangan: Anda harus membuat, membagikan, dan mengelola set data dan izin terpisah yang dapat menimbulkan biaya lebih tinggi.
Memberikan akses hanya baca ke semua log.
Mengatur izin pelihat untuk bucket ekspor logging Cloud Storage secara manual atau terprogram yang akan memberi akses pada semua hasil ekspor log.
Keuntungan: Akses mudah diberikan.
Kekurangan: Anda harus memberi akses ke semua log daripada hanya file log tertentu.
Strategi kontrol akses pengguna
Anda dapat menggunakan izin bucket Cloud Storage untuk membagikan ekspor logging bucket Cloud Storage menggunakan Akun Google atu Google Grup tertentu.
Menggunakan Google Grup.
Membuat Google Grup seperti
auditors@example.com
dengan akses hanya baca ke bucket ekspor logging Cloud Storage. Kemudian, Anda harus mengelola daftar Akun Google dengan menambah atau menghapus auditor ke grup Google.Keuntungan: Mudah mengelola akses melalui grup; ada tujuan untuk mengakses pengguna yang jelas.
Kekurangan: Anda tidak dapat mengetahui siapa pemilik akses tanpa melihat keanggotaan grup.
Menggunakan Akun Google perorangan.
Memberi akses pada Akun Google perorangan atas bucket ekspor logging Cloud Storage bagi setiap pengguna yang membutuhkannya.
Keuntungan: Mudah menambahkan setiap pengguna baik secara manual maupun terprogram.
Kekurangan: Anda tidak dapat membedakan pengguna audit dari pelihat lain.
Langkah selanjutnya
- Mengekspor log ke Elastic Cloud
Lihat skenario ekspor lainnya:
Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.