PolicySet

Grup satu atau beberapa resource Policy.

Representasi JSON
{
  "policySetId": string,
  "description": string,
  "policies": [
    {
      object (Policy)
    }
  ]
}
Kolom
policySetId

string

Wajib. ID untuk kumpulan kebijakan.

description

string

Opsional. Deskripsi kumpulan kebijakan.

policies[]

object (Policy)

Wajib. Resource Policy dalam kumpulan kebijakan.

Setiap kebijakan harus memiliki policyId yang unik dalam kumpulan kebijakan.

Kebijakan

Detail kebijakan, termasuk batasan yang disertakan.

Representasi JSON
{
  "policyId": string,
  "complianceStandards": [
    {
      object (ComplianceStandard)
    }
  ],
  "constraint": {
    object (Constraint)
  },
  "description": string
}
Kolom
policyId

string

Wajib. ID yang ditentukan pengguna untuk kebijakan.

Dalam PolicySet, setiap kebijakan harus memiliki ID unik.

complianceStandards[]

object (ComplianceStandard)

Opsional. Standar kepatuhan yang ditegakkan oleh kebijakan.

constraint

object (Constraint)

Wajib. Batasan yang disertakan dalam kebijakan.

description

string

Opsional. Deskripsi kebijakan.

ComplianceStandard

Informasi tentang standar kepatuhan yang ditegakkan oleh kebijakan.

Representasi JSON
{
  "standard": string,
  "control": string
}
Kolom
standard

string

Opsional. Standar kepatuhan yang dibantu diterapkan oleh kebijakan. Misalnya, NIST SP 800-53.

control

string

Opsional. Kontrol dalam standar kepatuhan yang dibantu diterapkan oleh kebijakan. Misalnya, AC-3.

Batasan

Metadata untuk batasan dalam Policy.

Representasi JSON
{

  // Union field implementation can be only one of the following:
  "securityHealthAnalyticsModule": {
    object (SecurityHealthAnalyticsModule)
  },
  "securityHealthAnalyticsCustomModule": {
    object (SecurityHealthAnalyticsCustomModule)
  },
  "orgPolicyConstraint": {
    object (OrgPolicyConstraint)
  },
  "orgPolicyConstraintCustom": {
    object (OrgPolicyConstraintCustom)
  }
  // End of list of possible types for union field implementation.
}
Kolom
Kolom union implementation. Implementasi batasan. implementation hanya ada berupa salah satu diantara berikut:
securityHealthAnalyticsModule

object (SecurityHealthAnalyticsModule)

Opsional. Detektor bawaan untuk Security Health Analytics.

securityHealthAnalyticsCustomModule

object (SecurityHealthAnalyticsCustomModule)

Opsional. Modul kustom untuk Security Health Analytics.

orgPolicyConstraint

object (OrgPolicyConstraint)

Opsional. Batasan kebijakan organisasi yang telah ditentukan.

orgPolicyConstraintCustom

object (OrgPolicyConstraintCustom)

Opsional. Batasan kebijakan organisasi kustom.

SecurityHealthAnalyticsModule

Detektor bawaan untuk Security Health Analytics.

Representasi JSON
{
  "moduleName": string,
  "moduleEnablementState": enum (EnablementState)
}
Kolom
moduleName

string

Wajib. Nama pendeteksi. Misalnya, BIGQUERY_TABLE_CMEK_DISABLED.

moduleEnablementState

enum (EnablementState)

Apakah detektor diaktifkan pada level hierarki resource yang ditentukan.

EnablementState

Apakah detektor bawaan atau modul kustom diaktifkan di tingkat hierarki resource yang ditentukan.

Enum
ENABLEMENT_STATE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
ENABLED Detektor atau modul kustom diaktifkan.
DISABLED Detektor atau modul kustom dinonaktifkan.

SecurityHealthAnalyticsCustomModule

Modul kustom untuk Security Health Analytics.

Representasi JSON
{
  "id": string,
  "displayName": string,
  "config": {
    object (CustomConfig)
  },
  "moduleEnablementState": enum (EnablementState)
}
Kolom
id

string

Hanya output. Tidak dapat diubah. ID unik untuk modul kustom. Berisi 1 hingga 20 digit.

displayName

string

Opsional. Nama tampilan modul kustom. Nilai ini digunakan sebagai kategori temuan untuk semua temuan yang ditampilkan modul kustom. Nama tampilan harus berisi antara 1 dan 128 karakter alfanumerik atau garis bawah, dan harus diawali dengan huruf kecil.

config

object (CustomConfig)

Wajib. Setelan konfigurasi untuk modul kustom.

moduleEnablementState

enum (EnablementState)

Apakah modul kustom diaktifkan pada tingkat hierarki resource yang ditentukan.

CustomConfig

Konfigurasi modul kustom untuk Security Health Analytics. Gunakan CustomConfig untuk membuat detektor kustom yang menghasilkan temuan kustom untuk resource yang Anda tentukan.

Representasi JSON
{
  "predicate": {
    object (Expr)
  },
  "customOutput": {
    object (CustomOutputSpec)
  },
  "resourceSelector": {
    object (ResourceSelector)
  },
  "severity": enum (Severity),
  "description": string,
  "recommendation": string
}
Kolom
predicate

object (Expr)

Wajib. Ekspresi Common Expression Language (CEL) yang akan dievaluasi. Jika ekspresi bernilai true untuk resource, temuan akan dibuat.

customOutput

object (CustomOutputSpec)

Opsional. Definisi properti sumber kustom yang akan disertakan dalam temuan.

resourceSelector

object (ResourceSelector)

Wajib. Jenis resource yang digunakan modul kustom.

severity

enum (Severity)

Wajib. Tingkat keparahan temuan yang dihasilkan oleh modul kustom.

description

string

Opsional. Deskripsi kerentanan atau kesalahan konfigurasi yang terdeteksi oleh modul kustom.

Deskripsi muncul di setiap temuan. Berikan informasi yang cukup untuk membantu penyelidik memahami temuan tersebut.

Nilai harus diapit dengan tanda kutip.

recommendation

string

Opsional. Penjelasan langkah-langkah yang dapat dilakukan tim keamanan untuk menyelesaikan masalah yang terdeteksi. Penjelasan muncul di setiap temuan.

Expr

Merepresentasikan ekspresi tekstual dalam sintaksis Common Expression Language (CEL). CEL adalah bahasa ekspresi mirip C. Sintaksis dan semantik CEL didokumentasikan di https://github.com/google/cel-spec.

Contoh (Perbandingan):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

Contoh (Kesetaraan):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

Contoh (Logika):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

Contoh (Manipulasi Data):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

Variabel dan fungsi yang tepat yang dapat direferensikan dalam ekspresi ditentukan oleh layanan yang mengevaluasinya. Lihat dokumentasi layanan untuk informasi tambahan.

Representasi JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Kolom
expression

string

Representasi tekstual ekspresi dalam sintaksis Common Expression Language.

title

string

Opsional. Judul untuk ekspresi, yaitu string singkat yang menjelaskan tujuannya. Ini dapat digunakan, misalnya, di UI yang memungkinkan untuk memasukkan ekspresi.

description

string

Opsional. Deskripsi ekspresi. Ini adalah teks yang lebih panjang yang menjelaskan ekspresi, misalnya saat diarahkan ke ekspresi tersebut di UI.

location

string

Opsional. String yang menunjukkan lokasi ekspresi untuk pelaporan error, misalnya nama file dan posisi dalam file.

CustomOutputSpec

Definisi properti sumber kustom yang dapat muncul dalam temuan.

Representasi JSON
{
  "properties": [
    {
      object (Property)
    }
  ]
}
Kolom
properties[]

object (Property)

Opsional. Properti sumber kustom yang dapat muncul dalam temuan.

Properti

Pasangan nama-nilai yang digunakan sebagai properti sumber kustom.

Representasi JSON
{
  "name": string,
  "valueExpression": {
    object (Expr)
  }
}
Kolom
name

string

Wajib. Nama properti sumber kustom.

valueExpression

object (Expr)

Opsional. Ekspresi CEL untuk nilai properti sumber kustom. Untuk properti resource, Anda dapat menampilkan nilai properti atau string yang diapit tanda petik.

ResourceSelector

Pemilih untuk jenis resource tempat pendeteksi akan dijalankan.

Representasi JSON
{
  "resourceTypes": [
    string
  ]
}
Kolom
resourceTypes[]

string

Wajib. Jenis resource tempat pendeteksi akan dijalankan. Setiap modul kustom dapat menentukan hingga 5 jenis resource.

Keparahan

Tingkat keparahan temuan.

Enum
SEVERITY_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
CRITICAL Tingkat keparahan kritis.
HIGH Tingkat keparahan tinggi.
MEDIUM Tingkat keparahan sedang.
LOW Tingkat keparahan rendah.

OrgPolicyConstraint

Batasan kebijakan organisasi yang telah ditentukan.

Representasi JSON
{
  "cannedConstraintId": string,
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Kolom
cannedConstraintId

string

Wajib. ID unik untuk batasan.

policyRules[]

object (PolicyRule)

Wajib. Aturan yang diterapkan oleh batasan.

PolicyRule

Aturan yang menentukan nilai yang diizinkan dan ditolak untuk batasan kebijakan organisasi.

Representasi JSON
{
  "condition": {
    object (Expr)
  },

  // Union field kind can be only one of the following:
  "values": {
    object (StringValues)
  },
  "allowAll": boolean,
  "denyAll": boolean,
  "enforce": boolean
  // End of list of possible types for union field kind.
}
Kolom
condition

object (Expr)

Kondisi yang menentukan apakah aturan ini digunakan untuk mengevaluasi kebijakan.

Jika ditetapkan, kolom google.type.Expr.expression harus berisi 1 hingga 10 subekspresi, yang digabungkan dengan operator || atau &&. Setiap subekspresi harus menggunakan fungsi Common Expression Language (CEL) resource.matchTag() atau resource.matchTagId().

Fungsi resource.matchTag() menggunakan argumen berikut:

  • key_name: nama kunci tag dengan namespace, dengan ID organisasi dan garis miring (/) sebagai awalan; misalnya, 123456789012/environment
  • value_name: nama singkat nilai tag

Contoh: resource.matchTag('123456789012/environment, 'prod')

Fungsi resource.matchTagId() menggunakan argumen berikut:

  • key_id: ID permanen kunci tag; misalnya, tagKeys/123456789012
  • value_id: ID permanen nilai tag; misalnya, tagValues/567890123456

Contoh: resource.matchTagId('tagKeys/123456789012', 'tagValues/567890123456')

Kolom union kind. Jenis aturan yang ditentukan PolicyRule. kind hanya dapat berupa salah satu dari hal berikut:
values

object (StringValues)

Nilai yang diizinkan dan ditolak untuk batasan daftar. Hanya valid untuk batasan daftar.

allowAll

boolean

Apakah akan mengizinkan nilai apa pun untuk batasan daftar. Hanya valid untuk batasan daftar.

denyAll

boolean

Apakah akan menolak semua nilai untuk batasan daftar. Hanya valid untuk batasan daftar.

enforce

boolean

Apakah akan menerapkan batasan. Hanya valid untuk batasan boolean.

StringValues

Nilai yang diizinkan dan ditolak untuk batasan daftar.

Untuk semua batasan, kolom ini dapat berisi nilai literal. Jika mau, Anda dapat menambahkan awalan is: ke nilai ini. Jika nilainya berisi titik dua (:), awalan is: diperlukan.

Beberapa batasan memungkinkan Anda menentukan bagian hierarki resource, yang dikenal sebagai sub-hierarki hierarki, yang menjadi sasaran batasan. Untuk menentukan subhierarki hierarki, gunakan awalan under:, diikuti dengan nilai dengan salah satu format berikut:

  • projects/{projectId} (misalnya, projects/tokyo-rain-123)
  • folders/{folder_id} (misalnya, folders/1234567890123)
  • organizations/{organization_id} (misalnya, organizations/123456789012)

Kolom supportsUnder batasan menunjukkan apakah Anda dapat menentukan subhierarki hierarki. Untuk mempelajari batasan standar yang memungkinkan Anda menentukan subhierarki, lihat referensi batasan.

Representasi JSON
{
  "allowedValues": [
    string
  ],
  "deniedValues": [
    string
  ]
}
Kolom
allowedValues[]

string

Nilai yang diizinkan untuk batasan.

deniedValues[]

string

Nilai yang ditolak untuk batasan.

OrgPolicyConstraintCustom

Batasan kebijakan organisasi kustom.

Representasi JSON
{
  "customConstraint": {
    object (CustomConstraint)
  },
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Kolom
customConstraint

object (CustomConstraint)

Wajib. Metadata untuk batasan.

policyRules[]

object (PolicyRule)

Wajib. Aturan yang diterapkan oleh batasan.

CustomConstraint

Batasan kustom yang ditentukan pengguna. Anda hanya dapat menerapkan batasan pada jenis resource yang ditentukan dalam batasan, dan hanya dalam organisasi tempat batasan ditentukan.

Saat Anda membuat batasan kustom, batasan tersebut tidak diterapkan secara otomatis. Anda harus menggunakan kebijakan organisasi untuk menerapkan batasan.

Representasi JSON
{
  "name": string,
  "resourceTypes": [
    string
  ],
  "methodTypes": [
    enum (MethodType)
  ],
  "condition": string,
  "actionType": enum (ActionType),
  "displayName": string,
  "description": string,
  "updateTime": string
}
Kolom
name

string

Tidak dapat diubah. Nama batasan, dalam format organizations/{organization_id}/customConstraints/custom.{custom_constraint_id}. Contoh, organizations/123456789012/customConstraints/custom.createOnlyE2TypeVms.

Harus berisi 1 hingga 62 karakter, tidak termasuk awalan organizations/{organization_id}/customConstraints/custom..

resourceTypes[]

string

Tidak dapat diubah. Jenis resource tempat batasan diterapkan, dalam format {canonical_service_name}/{resource_type_name}. Contoh, compute.googleapis.com/Instance.

methodTypes[]

enum (MethodType)

Jenis operasi yang dikenai batasan.

condition

string

Ekspresi kondisi Common Expression Language (CEL) yang harus dievaluasi ke true agar batasan diterapkan. Panjang maksimumnya adalah 1.000 karakter.

Contoh:

  • resource.instanceName.matches('(production|test)_(.+_)?[\d]+'): Dievaluasi menjadi true jika atribut instanceName resource berisi hal berikut:
    • Awalan production atau test
    • Garis bawah (_)
    • Opsional: Satu atau beberapa karakter, diikuti dengan garis bawah (_)
    • Satu atau beberapa digit
  • resource.management.auto_upgrade == true: Dievaluasi menjadi true jika atribut management.auto_upgrade resource adalah true.
actionType

enum (ActionType)

Apakah akan mengizinkan atau menolak tindakan.

displayName

string

Nama tampilan untuk batasan. Panjang maksimumnya adalah 200 karakter.

description

string

Deskripsi batasan. Panjang maksimumnya adalah 2.000 karakter.

updateTime

string (Timestamp format)

Hanya output. Waktu terakhir kali batasan diperbarui atau dibuat.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

MethodType

Jenis operasi yang dikenai batasan.

Jika batasan berlaku untuk operasi MethodType.UPDATE, batasan tersebut juga harus berlaku untuk operasi MethodType.CREATE.

Enum
METHOD_TYPE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
CREATE Batasan yang diterapkan saat membuat resource.
UPDATE Batasan diterapkan saat memperbarui resource.
DELETE Tidak didukung. Batasan diterapkan saat menghapus resource.

ActionType

Apakah akan mengizinkan atau menolak tindakan.

Enum
ACTION_TYPE_UNSPECIFIED Nilai default. Nilai ini tidak digunakan.
ALLOW Izinkan tindakan tersebut.
DENY Menolak tindakan.