File YAML postur keamanan

Halaman ini menyediakan ringkasan key-value pair dalam file posture.yaml yang Anda buat untuk menentukan kebijakan postur keamanan. Untuk membuat file YAML postur dan men-deploy-nya di lingkungan Anda, lihat Mengelola postingan keamanan.

Struktur file YAML postur

Postur adalah {i>file<i} YAML yang memiliki struktur berikut:

name: posture_name
state: posture_state
description: posture_description
policy_sets:
- policy_set_id: policy_set_ID
  - description: policy_set_description
  policies:
  - policy_id: policy_id
    compliance_standards:
      - standard: policy_standards
      - control: policy_control
          - description: policy_description
    # Definition for a organization policy
    constraint:
      org_policy_constraint:
        canned_constraint_id: constraint_ID
        policy_rules:
          - org_policy_kind: org_policy_kind_value
          - condition:
              expression: org_policy_expression
              title: org_policy_title
              description: org_policy_description
              location: org_policy_location
    # Definition for a custom organization policy constraint
    constraint:
      org_policy_constraint_custom:
        custom_constraint:
          name: custom_org_constraint_name
          resource_types: custom_org_resource_type
          method_types: custom_org_method_type
          condition: custom_org_condition
          action_type: custom_org_action_type
          display_name: custom_org_constraint_display_name
          description: custom_org_constraint_description
        policy_rules:
          - org_policy_kind: org_policy_kind_value
          - condition:
              expression: org_policy_expression
              title: org_policy_title
              description: org_policy_description
              location: org_policy_location
      # Definition for a Security Health Analytics detector
      constraint:
        security_health_analytics_module:
            module_name: sha_detector_name
            module_enablement_state: sha_detector_enabled
      # Definition for a custom Security Health Analytics detector
      constraint:
        security_health_analytics_custom_module:
            display_name: sha_custom_detector_name
            config:
                predicate:
                    expression: sha_custom_detector_expression
                    title: sha_custom_detector_predicate_title
                    description: sha_custom_detector_predicate_description
                    location: sha_custom_detector_predicate_location
                - custom_output:
                    - property:
                        name: sha_custom_detector_output_name
                        value_expression:
                            expression: sha_custom_detector_output_expression
                            title: sha_custom_detector_output_title
                            description: sha_custom_detector_output_description
                            location: sha_custom_detector_output_location
                resource_selector:
                    - resource_types: sha_custom_detector_resource
            severity: sha_custom_severity_level
              description: sha_custom_detector_description
              recommendation: sha_custom_detector_recommendation
            module_enablement_state: sha_detector_enabled

Deskripsi key-value pair

Tabel berikut memberikan deskripsi key-value pair dalam file posture.yaml.

Pasangan nilai kunci Deskripsi
name: posture_name Nama postur, dimulai dengan huruf. Nilai ini bersifat opsional karena Anda menentukan nama postur saat menjalankan perintah gcloud scc postures create.
state: posture_state ENUM yang dapat Anda tetapkan ke ACTIVE, DRAFT, atau DEPRECATED. Untuk informasi selengkapnya tentang status postur, lihat Mengubah status postur.
description: posture_description Deskripsi kebijakan. Nilai ini bersifat opsional.
policy_set_id: policy_set_ID ID unik untuk kebijakan yang ditetapkan dalam file postur. File postur dapat mencakup beberapa set kebijakan.
description: policy_set_description Deskripsi kebijakan yang disetel. Nilai ini bersifat opsional.
policy_id: policy_id ID unik untuk kebijakan dalam kumpulan kebijakan. Satu kumpulan kebijakan dapat mencakup beberapa kebijakan.
standard: policy_compliance_standard Nama standar kepatuhan yang didukung kebijakan ini.
control: policy_compliance_control Kontrol khusus dalam standar kepatuhan yang didukung oleh kebijakan ini.
description: policy_compliance_description Deskripsi standar kepatuhan yang didukung kebijakan ini.
canned_constraint_id: constraint_ID Nama batasan kebijakan organisasi. Misalnya, cloudbuild.allowedWorkerPools. Jangan sertakan imbuhan constraints/ dalam constraint_ID.
org_policy_kind Nilai untuk kebijakan organisasi dalam daftar adalah allow_all, deny_all, allowed_values, denied_values. Nilai untuk kebijakan organisasi boolean adalah enforce.
org_policy_kind_value Nilai untuk jenis allow_all, deny_all, enforce adalah true atau false. Nilai untuk jenis allowed_values dan denied_values masing-masing adalah daftar nilai yang diizinkan atau ditolak.
condition: Kondisi yang menentukan apakah aturan ini digunakan dalam evaluasi kebijakan. Jika ditetapkan, kolom expression di Expr harus menyertakan dari 1 hingga 10 subekspresi, yang digabungkan dengan operator || atau && . Setiap subekspresi harus dalam bentuk resource.matchTag('ORG_ID/tag_key_short_name, 'tag_value_short_name') atau resource.matchTagId('tagKeys/key_id', 'tagValues/value_id') dengan key_name dan value_name adalah nama resource untuk Kunci dan Nilai Label. Nama ini tersedia dari layanan Tag Manager. Contoh ekspresinya adalah: resource.matchTag('123456789/environment, 'prod') atau resource.matchTagId('tagKeys/123', 'tagValues/456').
expression: org_policy_expression Representasi tekstual dari suatu ekspresi dalam sintaksis Common Expression Language. Nilai ini bersifat opsional.
title: org_policy_title Deskripsi tujuan ekspresi. Nilai ini bersifat opsional.
description: org_policy_description Deskripsi ekspresi. Nilai ini bersifat opsional.
location: org_policy_location String yang menunjukkan lokasi ekspresi untuk melaporkan error. Misalnya, nama file dan posisi dalam file. Nilai ini bersifat opsional.
name: custom_org_constraint_name Nama batasan kustom, dalam format organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME. Contoh, organizations/3589215982/customConstraints/custom.disableGkeAutoUpgrade. CONSTRAINT_NAME tidak boleh lebih dari 62 karakter. Awalan organizations/{organization_id}/customConstraints/custom tidak dihitung. Menentukan batasan kustom dalam file postur akan membuat batasan kustom baru.
resource_types: custom_org_resource_type Nama resource REST Google Cloud yang sepenuhnya memenuhi syarat dan berisi objek dan kolom yang ingin dibatasi. Ada maksimum 20 batasan kustom per jenis resource.
method_types: custom_org_method_type Daftar metode RESTful yang akan menerapkan batasan.
condition: custom_org_condition Kondisi CEL yang mengacu pada resource layanan yang didukung. Kolom ini memiliki panjang maksimal 1000 karakter.
action_type: custom_org_action_type Tindakan yang harus diambil jika kondisi terpenuhi.
display_name: custom_org_constraint_display_name Nama yang mudah digunakan manusia untuk batasan. Kolom ini memiliki panjang maksimal 200 karakter.
description: custom_org_constraint_description Deskripsi batasan untuk ditampilkan sebagai pesan error jika kebijakan dilanggar. Kolom ini memiliki panjang maksimal 2000 karakter.
module_name: sha_detector_name Nama detektor Security Health Analytics. Misalnya, BIGQUERY_TABLE_CMEK_DISABLED.
module_enablement_state: sha_detector_enabled Apakah detektor Security Health Analytics diaktifkan atau tidak. Berupa ENABLED atau DISABLED.
display_name: sha_custom_detector_name Nama modul kustom untuk Security Health Analytics. Nama harus antara 1 hingga 128 karakter, dimulai dengan huruf kecil, dan hanya berisi karakter alfanumerik atau garis bawah.
expression: sha_custom_detector_expression Ekspresi CEL yang memeriksa properti jenis resource yang akan dipindai.
title: sha_custom_detector_predicate_title Nama properti predikat untuk modul kustom Security Health Analytics.
description: sha_custom_detector_predicate_description Deskripsi properti predikat untuk modul kustom Security Health Analytics.
location: sha_custom_detector_predicate_location Lokasi tempat properti predikat berlaku.
name: sha_custom_detector_output_name Nama properti custom_output.
expression: sha_custom_detector_output_expression Ekspresi yang akan ditampilkan dalam output.
title: sha_custom_detector_output_title Judul untuk output.
description: sha_custom_detector_output_description Deskripsi output modul kustom untuk Security Health Analytics.
location: sha_custom_detector_output_location Lokasi tempat output diterapkan.
resource_types: sha_custom_detector_resource Jenis resource yang dipindai oleh modul kustom.
severity: sha_custom_severity_level Tingkat keparahan untuk temuan yang dibuat oleh modul ini.
description: sha_custom_detector_description Kerentanan atau kesalahan konfigurasi yang terdeteksi oleh modul kustom.
recommendation: sha_custom_detector_recommendation Deskripsi cara memperbaiki masalah yang terdeteksi.

Contoh postur.yaml

createTime: '2024-04-01T15:27:27.188366349Z'
etag: h5ulCqzUqOcaIjKjxHFrOrrZpmneG8A0K1mdO-uHsLM
name: organizations/123/locations/global/postures/mixedcasposture
policySets:
- policies:
  - constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BIGQUERY_TABLE_CMEK_DISABLED
    description: enable BIGQUERY_TABLE_CMEK_DISABLED
    policyId: SHA module BIGQUERY_TABLE_CMEK_DISABLED
  - constraint:
      orgPolicyConstraint:
        cannedConstraintId: iam.allowServiceAccountCredentialLifetimeExtension
        policyRules:
        - allowAll: true
        - condition:
            expression: resource.matchTag("123/location", "us-east3")
            title: policy for us-east3
            description: apply policy to us-east3
    policyId: test/123/policies/iam.allowServiceAccountCredentialLifetimeExtension
  - constraint:
      orgPolicyConstraintCustom:
        customConstraint:
          actionType: ALLOW
          condition: resource.management.autoUpgrade == false
          description: Only allow GKE NodePool resource to be created or updated if
            AutoUpgrade is not enabled where this custom constraint is enforced.
          displayName: Disable GKE auto upgrade
          methodTypes:
          - CREATE
          name: organizations/123/customConstraints/custom.gke123
          resourceTypes:
          - container.googleapis.com/NodePool
        policyRules:
        - enforce: true
    policyId: orgPolicycustomconstraint
  - constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: DISABLED
        moduleName: PUBLIC_BUCKET_ACL
    description: PUBLIC_BUCKET_ACL disabled
    policyId: sha module PUBLIC_BUCKET_ACL
  - constraint:
      securityHealthAnalyticsCustomModule:
        config:
          customOutput: {}
          description: Test Custom Module
          predicate:
            expression: resource.rotationPeriod > duration('2592000s')
          recommendation: Testing custom modules
          resourceSelector:
            resourceTypes:
            - cloudkms.googleapis.com/CryptoKey
          severity: CRITICAL
        displayName: customSHA
        moduleEnablementState: ENABLED
    policyId: sha_custom_module
  - constraint:
      securityHealthAnalyticsCustomModule:
        config:
          customOutput: {}
          description: Test Custom Module
          predicate:
            expression: resource.rotationPeriod > duration('2592000s')
          recommendation: Testing custom modules
          resourceSelector:
            resourceTypes:
            - cloudkms.googleapis.com/CryptoKey
          severity: CRITICAL
        displayName: customSHA2
        moduleEnablementState: ENABLED
    policyId: sha_custom_module_2
  policySetId: PolicySetmix
- policy_set_id: BigQuery detective policy set
  description: SHA module that new customers can automatically enable.
  policies:
  - policy_id: Public dataset
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_DATASET
state: ACTIVE

Contoh

Misalnya, lihat template postur standar.

Langkah selanjutnya