Melaporkan secret dalam variabel lingkungan ke Security Command Center

Halaman ini menjelaskan cara menggunakan layanan penemuan Sensitive Data Protection untuk menentukan apakah secret ada di variabel lingkungan Cloud Run Anda. Sensitive Data Protection melaporkan semua temuan ke Security Command Center sebagai kerentanan.

Tentang Security Command Center

Security Command Center adalah layanan pelaporan kerentanan dan ancaman terpusat dari Google Cloud. Security Command Center membantu Anda memperkuat postur keamanan dengan mengidentifikasi kesalahan konfigurasi, kerentanan, pengamatan, dan ancaman. Laporan ini juga memberikan rekomendasi untuk menyelidiki dan memperbaiki temuan.

Alasan memindai secret dalam variabel lingkungan

Menyimpan secret, seperti sandi, dalam variabel lingkungan bukanlah praktik yang aman karena variabel lingkungan tidak dienkripsi. Nilainya dapat dikumpulkan dan ditampilkan di berbagai sistem, seperti log. Sebaiknya gunakan Secret Manager untuk menyimpan secret Anda. Untuk informasi selengkapnya, lihat dokumentasi Cloud Run dan fungsi Cloud Run tentang cara mengonfigurasi secret.

Cara kerjanya

Untuk melakukan penemuan secret, Anda membuat konfigurasi pemindaian penemuan di tingkat organisasi atau project. Dalam cakupan yang Anda pilih, Sensitive Data Protection akan memindai Cloud Run secara berkala untuk menemukan secret dalam variabel lingkungan build dan runtime.

Jika secret ada dalam variabel lingkungan, Perlindungan Data Sensitif akan mengirimkan temuan kerentanan Secrets in environment variables ke Security Command Center. Tidak ada profil data yang dihasilkan. Semua temuan hanya tersedia melalui Security Command Center.

Perlindungan Data Sensitif menghasilkan maksimum satu temuan per resource. Misalnya, jika secret ditemukan di dua variabel lingkungan dalam fungsi Cloud Run yang sama, hanya satu temuan yang dihasilkan di Security Command Center.

Di Security Command Center, Anda dapat melihat temuan Secrets in environment variables saat melakukan hal berikut:

Temuan yang dihasilkan dalam daftar temuan Security Command Center di konsol Google Cloud

JSON berikut menunjukkan contoh temuan Secrets in environment variables. Contoh ini hanya menampilkan kolom yang relevan dengan fitur ini; contoh ini tidak memberikan daftar lengkap kolom.

Secret di variabel lingkungan

{
  "finding": {
    "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
    "category": "SECRETS_IN_ENVIRONMENT_VARIABLES",
    "compliances": [
      {
        "standard": "cis",
        "version": "1.3",
        "ids": [
          "1.18"
        ]
      }
    ],
    "createTime": "DATE_TIME",
    "description": "The affected resource is storing credentials or other secret information in its environment variables. This is a security vulnerability because environment variables are stored unencrypted, and accessible to all users who have access to the code.",
    "eventTime": "DATE_TIME",
    "findingClass": "VULNERABILITY",
    "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/dlp",
    "mute": "MUTE_STATUS",
    "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
    "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
    "parentDisplayName": "Sensitive Data Protection",
    "resourceName": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
  },
  "resource": {
    "name": "//cloudfunctions.googleapis.com/projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
    "display_name": "projects/PROJECT_ID/locations/REGION/functions/FUNCTION_ID",
    "type": "google.cloudfunctions.CloudFunction",
    "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "project_display_name": "PROJECT_DISPLAY_NAME",
    "parent_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
    "parent_display_name": "PARENT_DISPLAY_NAME"
  }
}
    

Menemukan latensi pembuatan

Sejak Anda mengaktifkan penemuan secret di Perlindungan Data Sensitif, perlu waktu hingga 12 jam agar pemindaian awal variabel lingkungan selesai dan temuan Secrets in environment variables muncul di Security Command Center. Selanjutnya, Sensitive Data Protection memindai variabel lingkungan setiap 24 jam. Dalam praktiknya, pemindaian dapat berjalan lebih sering dari itu.

Jenis secret yang dilaporkan

Contoh secret adalah sandi, token autentikasi, dan kredensial Google Cloud. Untuk mengetahui daftar lengkap jenis secret yang dipindai oleh Perlindungan Data Sensitif dalam fitur ini, lihat Kredensial dan secret.

Resource yang didukung

Untuk penemuan secret, Sensitive Data Protection mendukung fungsi Cloud Run (termasuk Cloud Functions generasi ke-1) dan revisi layanan Cloud Run.

Harga

Fitur ini bebas biaya Perlindungan Data Sensitif. Biaya Security Command Center mungkin berlaku, bergantung pada tingkat layanan Anda. Perlindungan Data Sensitif berfungsi dengan Security Command Center di semua tingkat layanan.

Residensi data

Saat pertama kali membuat konfigurasi pemindaian, Anda menentukan tempat Anda ingin Perlindungan Data Sensitif menyimpannya. Semua konfigurasi pemindaian berikutnya yang Anda buat disimpan di region yang sama. Sensitive Data Protection mengekspor metadata Cloud Run Anda ke region tempat konfigurasi pemeriksaan disimpan, tetapi revisi fungsi atau layanan itu sendiri tidak diekspor.

Jika Sensitive Data Protection mendeteksi secret dalam variabel lingkungan, penemuan tersebut akan dikirim ke Security Command Center dan tunduk pada proses penanganan datanya.

Peran IAM yang diperlukan

Untuk melakukan penemuan secret, Anda memerlukan peran Identity and Access Management yang diperlukan untuk membuat profil data:

Selain itu, Anda memerlukan peran yang sesuai untuk menggunakan temuan Security Command Center. Untuk mengetahui informasi selengkapnya, lihat IAM untuk aktivasi level organisasi dalam dokumentasi Security Command Center.

Sebelum memulai

  1. Periksa level aktivasi Security Command Center untuk organisasi Anda. Untuk mengirim profil data ke Security Command Center, Anda harus mengaktifkan Security Command Center di tingkat organisasi di tingkat layanan mana pun. Untuk informasi selengkapnya, lihat Mengaktifkan Security Command Center untuk organisasi.

    Jika Security Command Center hanya diaktifkan di level project, temuan dari Sensitive Data Protection tidak akan muncul di Security Command Center.

  2. Di Security Command Center, pastikan Sensitive Data Protection diaktifkan sebagai layanan terpadu. Untuk mengetahui informasi selengkapnya, lihat Menambahkan layanan terintegrasi Google Cloud.

Mengonfigurasi penemuan secret di tingkat organisasi

Lakukan langkah-langkah ini jika Anda ingin mengaktifkan penemuan secret di seluruh organisasi. Untuk penemuan tingkat project, lihat Mengonfigurasi penemuan secret di tingkat project.

Jika tidak memiliki peran Administrator Organisasi (roles/resourcemanager.organizationAdmin) atau Security Admin (roles/iam.securityAdmin), Anda tetap dapat membuat konfigurasi pemindaian. Namun, setelah Anda membuat konfigurasi pemindaian, seseorang dengan salah satu peran tersebut harus memberikan akses penemuan ke agen layanan Anda.

  1. Buka halaman Create scan configuration.

    Buka Buat konfigurasi pemindaian

  2. Buka organisasi Anda. Di toolbar, klik pemilih project, lalu pilih organisasi Anda.

    Setelah menyelesaikan setiap langkah di halaman ini, klik Lanjutkan.

  3. Untuk Pilih jenis penemuan, pilih Kerentanan secret/kredensial.

  4. Untuk Pilih cakupan, pilih apakah Anda ingin memindai seluruh organisasi.

  5. Untuk Mengelola penampung dan penagihan agen layanan, tentukan project yang akan digunakan sebagai penampung agen layanan. Anda dapat meminta Perlindungan Data Sensitif untuk otomatis membuat project baru, atau memilih project yang ada.

    • Jika Anda tidak memiliki project untuk digunakan sebagai penampung agen layanan, pilih Buat project baru sebagai penampung agen layanan. Perlindungan Data Sensitif membuat project baru bernama Penampung Agen Layanan DLP. Agen layanan dalam project ini akan digunakan untuk melakukan autentikasi ke Sensitive Data Protection dan API lainnya. Sistem akan meminta Anda memilih akun untuk menagih semua operasi yang dapat ditagih yang terkait dengan project ini, termasuk operasi yang tidak terkait dengan penemuan.

      Jika Anda tidak memiliki izin yang diperlukan untuk membuat project, opsi Buat project baru sebagai penampung agen layanan akan dinonaktifkan. Dalam hal ini, Anda harus memilih project yang ada atau meminta administrator Google Cloud untuk memberi Anda peran Project Creator (roles/resourcemanager.projectCreator).

    • Jika Anda memiliki penampung agen layanan yang sudah ada dan ingin digunakan kembali, pilih Select an existing service agent container. Kemudian, klik Jelajahi untuk memilih project ID penampung agen layanan.

  6. Untuk Tetapkan lokasi untuk menyimpan konfigurasi, pilih region tempat Anda ingin menyimpan konfigurasi pemindaian ini. Semua konfigurasi pemindaian yang nantinya Anda buat juga akan disimpan di lokasi ini. Untuk informasi tentang pertimbangan residensi data, lihat Residensi data di halaman ini.

  7. Opsional: Jika Anda tidak ingin pemindaian dimulai segera setelah membuat konfigurasi pemindaian, pilih Create scan in paused mode.

    Opsi ini berguna dalam kasus berikut:

    • Administrator Google Cloud Anda masih perlu memberikan akses penemuan ke agen layanan.
    • Anda ingin membuat beberapa konfigurasi pemindaian dan ingin beberapa konfigurasi mengganti konfigurasi lainnya.
  8. Klik Create.

Perlindungan Data Sensitif mulai memindai variabel lingkungan Cloud Run Anda segera setelah Anda membuat konfigurasi pemindaian atau melanjutkan konfigurasi yang dijeda. Untuk informasi tentang waktu yang diperlukan temuan untuk muncul di Security Command Center, lihat Latensi pembuatan temuan di halaman ini.

Jika Anda tidak memiliki peran Organization Administrator (roles/resourcemanager.organizationAdmin) atau Security Admin (roles/iam.securityAdmin), seseorang dengan salah satu peran tersebut harus memberikan akses penemuan ke agen layanan Anda sebelum penemuan dapat dimulai.

Mengonfigurasi penemuan secret di level project

Lakukan langkah-langkah ini jika Anda ingin mengaktifkan penemuan secret untuk satu project. Untuk penemuan tingkat organisasi, lihat Mengonfigurasi penemuan secret di tingkat organisasi.

  1. Buka halaman Create scan configuration.

    Buka Buat konfigurasi pemindaian

  2. Buka project Anda. Di toolbar, klik pemilih project, lalu pilih project Anda.

    Setelah menyelesaikan setiap langkah di halaman ini, klik Lanjutkan.

  3. Untuk Pilih jenis penemuan, pilih Kerentanan secret/kredensial.

  4. Untuk Select scope, pastikan Scan entire project dipilih. Jika tidak dipilih, pastikan Anda berada dalam tampilan project.

  5. Untuk Tetapkan lokasi untuk menyimpan konfigurasi, pilih region tempat Anda ingin menyimpan konfigurasi pemindaian ini. Semua konfigurasi pemindaian yang nantinya Anda buat juga akan disimpan di lokasi ini. Untuk informasi tentang pertimbangan residensi data, lihat Residensi data di halaman ini.

  6. Klik Create.

Perlindungan Data Sensitif mulai memindai variabel lingkungan Cloud Run Anda segera setelah Anda membuat konfigurasi pemindaian atau melanjutkan konfigurasi yang dijeda. Untuk informasi tentang waktu yang diperlukan temuan untuk muncul di Security Command Center, lihat Latensi pembuatan temuan di halaman ini.

Membuat kueri untuk temuan Secrets in environment variables

Berikut adalah contoh kueri yang dapat Anda gunakan untuk menemukan temuan Secrets in environment variables di Security Command Center. Anda dapat memasukkan kueri ini di kolom Query editor. Untuk informasi selengkapnya tentang editor kueri, lihat Mengedit kueri temuan di dasbor Security Command Center.

Mencantumkan semua temuan Secrets in environment variables

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"

Mencantumkan semua temuan Secrets in environment variables untuk project tertentu

state="ACTIVE"
AND NOT mute="MUTED"
AND category="SECRETS_IN_ENVIRONMENT_VARIABLES"
AND resource.project_name="//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER"

Ganti kode berikut:

  • PROJECT_NUMBER: ID numerik project yang ingin Anda buat kuerinya