Meningkatkan postur keamanan Anda dengan insight aset

Insight Inventaris Aset Cloud dapat membantu mendeteksi potensi risiko pada aset Anda konfigurasi keamanan, dan membantu meningkatkan kualitas keamanan Anda. Ini adalah bagian dari layanan Pemberi rekomendasi, dan disediakan sebagai jenis insight google.cloudasset.asset.Insight.

Wawasan adalah anomali tertentu yang membutuhkan analisis lebih lanjut untuk menentukan tindakan yang sesuai. Metrik ini dibuat setiap hari, berdasarkan ringkasan data yang disimpan di Inventaris Aset Cloud.

Insight yang disediakan oleh Inventaris Aset Cloud didasarkan pada kebijakan IAM yang terkait dengan resource organisasi Anda.

Sebelum memulai

Sebelum dapat mulai menggunakan insight aset, Anda harus menyelesaikan hal berikut langkah.

  1. Aktifkan Recommender API.

  2. Pastikan akun Anda memiliki izin berikut:

    • recommender.cloudAssetInsights.get

    • recommender.cloudAssetInsights.list

    • recommender.cloudAssetInsights.update

    Anda dapat memberikan izin ini satu per satu, atau Anda dapat memberikan salah satu peran berikut.

    • Penampil Insight Aset Cloud (roles/recommender.cloudAssetInsightsViewer) peran

    • Admin Insight Aset Cloud (roles/recommender.cloudAssetInsightsAdmin) peran

Batasan

  • Insight ini tidak mempertimbangkan keanggotaan grup atau akun layanan sebagai bagian dari temuannya, dan tidak boleh dianggap sebagai daftar lengkap kerentanan yang cocok.

  • Setiap insight menyertakan sampel kebijakan IAM yang cocok dengan batas 100 kebijakan yang berbeda. Semua kebijakan yang cocok dapat diambil dengan mencari kebijakan izin IAM pada resource.

Meminta insight aset

Cara termudah untuk meminta insight aset adalah dengan mencantumkannya, seperti yang ditunjukkan dalam langkah-langkah berikut. Untuk jenis interaksi insight lainnya, lihat Menggunakan API - Insight.

gcloud

gcloud recommender insights list \
    --SCOPE \
    --location=global \
    --insight-type=google.cloudasset.asset.Insight \
    --filter="insightSubtype:SUBTYPE" \

Berikan nilai berikut:

  • SCOPE: Gunakan salah satu nilai berikut:

    • project=PROJECT_ID, dengan PROJECT_ID adalah ID project yang insight-nya ingin Anda lihat.
    • folder=FOLDER_ID, dengan FOLDER_ID adalah ID folder yang insight-nya ingin Anda lihat.

      Cara menemukan ID folder Google Cloud

      Konsol Google Cloud

      Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:

      1. Buka konsol Google Cloud.

        Buka Konsol Google Cloud

      2. Klik kotak daftar pengalih di panel menu.
      3. Pilih organisasi Anda dari kotak daftar.
      4. Telusuri nama folder Anda. ID folder ditampilkan di samping nama folder.

      gcloud CLI

      Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      Dengan TOP_LEVEL_FOLDER_NAME adalah kecocokan string sebagian atau penuh untuk nama folder. Hapus flag --format untuk melihat informasi selengkapnya tentang menemukan folder.

      Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder tingkat teratas:

      gcloud resource-manager folders list --folder=FOLDER_ID
    • organization=ORGANIZATION_ID, dengan ORGANIZATION_ID adalah ID organisasi yang insight-nya Anda inginkan.

      Cara menemukan ID organisasi Google Cloud

      Konsol Google Cloud

      Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:

      1. Buka konsol Google Cloud.

        Buka Konsol Google Cloud

      2. Klik kotak daftar pengalih di panel menu.
      3. Pilih organisasi Anda dari kotak daftar.
      4. Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.

      gcloud CLI

      Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
  • BILLING_PROJECT_ID: Opsional. ID project tempat agen layanan Cloud Asset Inventory default berada yang memiliki izin untuk mengelola penagihan dan kuota Anda. Baca selengkapnya tentang cara menetapkan project penagihan.

  • SUBTYPE: Subjenis insight aset. Salah satu nilai berikut:

    • EXTERNAL_MEMBER: Mendeteksi kebijakan IAM yang berisi pengguna atau grup yang merupakan bagian dari domain di luar domain organisasi Anda.
    • EXTERNAL_POLICY_EDITOR: Mendeteksi kebijakan IAM yang berisi pengguna atau grup di luar domain organisasi Anda yang diberi izin untuk mengubah kebijakan IAM.
    • EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER: Mendeteksi kebijakan IAM yang berisi pengguna atau grup di luar domain organisasi Anda yang diberi izin untuk mendapatkan atau mencantumkan objek penyimpanan (izin storage.objects.list atau storage.objects.get).
    • EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR: Mendeteksi kebijakan IAM berisi pengguna atau grup di luar domain organisasi Anda yang diizinkan izin untuk meniru identitas akun layanan.
    • TERMINATED_MEMBER: Mendeteksi kebijakan IAM yang berisi pengguna atau grup dengan akun yang dinonaktifkan, dihapus, atau dihapus.
    • PUBLIC_IAM_POLICY: Mendeteksi kebijakan IAM yang berisi semua pengguna atau semua pengguna yang telah diotentikasi.
    • OWNER_TERMINATED_PROJECT: Mendeteksi project yang tidak berisi pengguna atau grup aktif dalam kebijakan IAM project.
  • Jika tidak ditentukan, semua subjenis akan ditampilkan.

Lihat referensi gcloud CLI untuk semua opsi.

Contoh

Jalankan perintah berikut untuk mencantumkan insight untuk project my-project.

gcloud recommender insights list \
    --project=my-project \
    --location=global \
    --insight-type=google.cloudasset.asset.Insight

Contoh respons

INSIGHT_ID: 00000000-0000-0000-0000-000000000000
CATEGORY: SECURITY
INSIGHT_STATE: ACTIVE
LAST_REFRESH_TIME: 2024-01-30T00:00:00Z
SEVERITY: LOW
INSIGHT_SUBTYPE: EXTERNAL_MEMBER
DESCRIPTION: Domain example.com detected in 1 IAM policies

REST

Metode HTTP dan URL:

GET https://recommender.googleapis.com/v1/SCOPE_PATH/locations/global/insightTypes/google.cloudasset.asset.Insight/insights

Header:

X-Goog-User-Project: BILLING_PROJECT_ID

Berikan nilai berikut:

  • SCOPE_PATH: Gunakan salah satu nilai berikut:

    Nilai yang diizinkan adalah:

    • projects/PROJECT_ID, dengan PROJECT_ID adalah ID project yang insight-nya ingin Anda lihat.
    • projects/PROJECT_NUMBER, dengan PROJECT_NUMBER adalah jumlah project yang insight-nya ingin Anda lihat.

      Cara menemukan nomor project Google Cloud

      Konsol Google Cloud

      Untuk menemukan nomor project Google Cloud, selesaikan langkah-langkah berikut:

      1. Buka halaman Selamat Datang di konsol Google Cloud.

        Buka Sambutan

      2. Klik kotak daftar pengalih di panel menu.
      3. Pilih organisasi Anda dari kotak daftar, lalu telusuri nama project Anda. Nama project, nomor project, dan project ID ditampilkan di dekat judul Selamat Datang.

        Hingga 4.000 resource ditampilkan. Jika Anda tidak melihat project yang dicari, buka halaman Kelola resource dan filter daftar menggunakan nama project tersebut.

      gcloud CLI

      Anda dapat mengambil nomor project Google Cloud dengan perintah berikut:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"
    • folders/FOLDER_ID, dengan FOLDER_ID adalah ID folder yang insight-nya ingin Anda lihat.

      Cara menemukan ID folder Google Cloud

      Konsol Google Cloud

      Untuk menemukan ID folder Google Cloud, selesaikan langkah-langkah berikut:

      1. Buka konsol Google Cloud.

        Buka konsol Google Cloud

      2. Klik kotak daftar pengalih di panel menu.
      3. Pilih organisasi Anda dari kotak daftar.
      4. Telusuri nama folder Anda. ID folder ditampilkan di samping nama folder.

      gcloud CLI

      Anda dapat mengambil ID folder Google Cloud yang terletak di tingkat organisasi dengan perintah berikut:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      Dengan TOP_LEVEL_FOLDER_NAME adalah kecocokan string sebagian atau penuh untuk nama folder. Hapus flag --format untuk melihat informasi selengkapnya tentang menemukan folder.

      Perintah sebelumnya tidak menampilkan ID subfolder dalam folder. Untuk melakukannya, jalankan perintah berikut menggunakan ID folder level teratas:

      gcloud resource-manager folders list --folder=FOLDER_ID
    • organizations/ORGANIZATION_ID, dengan ORGANIZATION_ID adalah ID organisasi yang insight-nya Anda inginkan.

      Cara menemukan ID organisasi Google Cloud

      Konsol Google Cloud

      Untuk menemukan ID organisasi Google Cloud, selesaikan langkah-langkah berikut:

      1. Buka konsol Google Cloud.

        Buka Konsol Google Cloud

      2. Klik kotak daftar pengalih di panel menu.
      3. Pilih organisasi Anda dari kotak daftar.
      4. Klik tab Semua. ID organisasi ditampilkan di samping nama organisasi.

      gcloud CLI

      Anda dapat mengambil ID organisasi Google Cloud dengan perintah berikut:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
  • BILLING_PROJECT_ID: ID project tempat agen layanan Cloud Asset Inventory default berada yang memiliki izin untuk mengelola penagihan dan kuota Anda. Baca selengkapnya tentang cara menetapkan project penagihan.

Contoh perintah

Jalankan salah satu perintah berikut untuk mencantumkan insight untuk project my-project.

curl (Linux, macOS, atau Cloud Shell)

curl -X GET \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     https://recommender.googleapis.com/v1/projects/my-project/locations/global/insightTypes/google.cloudasset.asset.Insight/insights

PowerShell (Windows)

$cred = gcloud auth print-access-token

$headers = @{ 
  "X-Goog-User-Project" = "BILLING_PROJECT_ID";
  "Authorization" = "Bearer $cred"
}


Invoke-WebRequest `
  -Method GET `
  -Headers $headers `
  -Uri "https://recommender.googleapis.com/v1/projects/my-project/locations/global/insightTypes/google.cloudasset.asset.Insight/insights" | Select-Object -Expand Content

Contoh respons

{
   "name": "organizations/000000000000/locations/global/insightTypes/google.cloudasset.asset.Insight/insights/00000000-0000-0000-0000-000000000000",
   "description": "Domain example.com detected in 1 IAM policies",
   "content": {
      "domain": "example.com",
      "policyCount": 1,
      "policySearchQuery": "policy: example.com",
      "matchedPolicies" :[
         {
            "resource" :"//cloudresourcemanager.googleapis.com/projects/000000000000",
            "project" :"projects/000000000000",
            "matchedBindings" :[
               {
                  "role" :"roles/viewer",
                  "matchedMembers" :[
                     "user:example@example.com"
                  ]
               }
            ]
         }
      ]
   },
   "lastRefreshTime": "2024-01-30T00:00:00Z",
   "observationPeriod": "0s",
   "stateInfo": {
      "state": "ACTIVE"
   },
   "category": "SECURITY",
   "targetResources": [
      "//cloudresourcemanager.googleapis.com/organizations/000000000000"
   ],
   "insightSubtype": "EXTERNAL_MEMBER",
   "etag": "\"00000000000\"",
   "initialRefreshTime": "2024-01-30T00:00:00Z"
}

Menafsirkan respons insight

Selain atribut insight standar, insight aset menyediakan beberapa subjenis dan kolom khusus.

Subjenis insight

Subjenis insight aset adalah sebagai berikut:

  • EXTERNAL_MEMBER: Mendeteksi kebijakan IAM yang berisi pengguna atau grup yang merupakan bagian dari domain di luar domain organisasi Anda.

  • EXTERNAL_POLICY_EDITOR: Mendeteksi kebijakan IAM yang berisi pengguna atau grup di luar domain organisasi Anda yang diberi izin untuk mengubah kebijakan IAM.

  • EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER: Mendeteksi kebijakan IAM yang berisi pengguna atau grup di luar domain organisasi Anda yang diberi izin untuk mendapatkan atau mencantumkan objek penyimpanan (storage.objects.list atau storage.objects.get permission).

  • EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR: Mendeteksi kebijakan IAM yang berisi pengguna atau grup di luar domain organisasi Anda yang diberi izin untuk meniru identitas akun layanan.

  • TERMINATED_MEMBER: Mendeteksi kebijakan IAM yang berisi pengguna atau grup dengan akun yang dinonaktifkan, dihapus, atau dihapus permanen.

  • PUBLIC_IAM_POLICY: Mendeteksi kebijakan IAM yang berisi semua pengguna atau semua pengguna yang diautentikasi.

  • OWNER_TERMINATED_PROJECT: Mendeteksi project yang tidak berisi project aktif pengguna atau grup tertentu dalam kebijakan IAM project.

Kolom konten tambahan

Selain kolom standar dalam respons, analisis aset menyediakan beberapa kolom khusus di kolom content.

  • user: Alamat email pengguna yang terdeteksi di anggota binding kebijakan untuk insight ini. Kolom ini disertakan dalam subjenis TERMINATED_MEMBER.

  • domain: Domain yang terdeteksi di anggota binding kebijakan ini wawasan. Kolom ini disertakan dalam EXTERNAL_MEMBER, EXTERNAL_POLICY_EDITOR, EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER, dan Subjenis EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR.

  • assetName: Nama aset yang aksesnya terdeteksi dalam insight ini. Kolom ini disertakan dalam subjenis OWNER_TERMINATED_PROJECT dan PUBLIC_IAM_POLICY.

  • policyCount: Jumlah total kebijakan IAM yang berbeda di anggota yang cocok yang terdeteksi untuk wawasan ini. Kolom ini disertakan untuk semua subjenis analisis aset.

  • matchedPolicies: Sampling kebijakan IAM yang cocok dengan insight yang terdeteksi. Kebijakan pencocokan hanya mencakup subset binding dan mengikat anggota yang cocok dengan insight yang terdeteksi. Kolom ini disertakan untuk semua subjenis insight aset.

  • policySearchQuery: Kueri yang dapat digunakan dengan API penelusuran kebijakan IAM Inventaris Aset Cloud untuk mengambil kebijakan yang relevan secara real time.