Diese Seite bietet einen Überblick über die Schlüssel/Wert-Paare in posture.yaml
die Sie erstellen, um die Richtlinien für Ihre Sicherheit zu definieren.
Sicherheitsstatus. So erstellen Sie ein
Status-YAML-Datei und in Ihrer Umgebung bereitstellen, siehe Sicherheitseinstellungen verwalten
Sicherheitsstatus.
YAML-Dateistruktur für Sicherheitsstatus
Sicherheitsstatus sind YAML-Dateien mit der folgenden Struktur:
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
Beschreibung von Schlüssel/Wert-Paaren
Die folgende Tabelle enthält eine Beschreibung der Schlüssel/Wert-Paare in der
posture.yaml
-Datei.
Schlüssel/Wert-Paar | Beschreibung |
---|---|
name: posture_name |
Der Name des Sicherheitsstatus, beginnend mit einem Buchstaben. Dieser Wert ist optional, da Sie den Statusnamen angeben, wenn Sie den Befehl gcloud scc postures create ausführen. |
state: posture_state |
Eine ENUM, die Sie auf ACTIVE , DRAFT oder DEPRECATED festlegen können. Weitere Informationen zum Status eines Status finden Sie unter Status eines Status ändern. |
description: posture_description |
Eine Beschreibung der Richtlinie. Dieser Wert ist optional. |
policy_set_id: policy_set_ID |
Eine eindeutige Kennung für die in der Statusdatei festgelegte Richtlinie. Eine Statusdatei kann mehrere Richtliniensets enthalten. |
description: policy_set_description |
Eine Beschreibung der Richtliniengruppe. Dieser Wert ist optional. |
policy_id: policy_id |
Eine eindeutige Kennung für die Richtlinie innerhalb der Richtliniengruppe. Ein Richtliniensatz kann mehrere Richtlinien enthalten. |
standard: policy_compliance_standard |
Der Name des Compliancestandards, der von dieser Richtlinie unterstützt wird. |
control: policy_compliance_control |
Die spezifischen Kontrollen innerhalb des Compliancestandards, die diese Richtlinie unterstützt. |
description: policy_compliance_description |
Eine Beschreibung des Compliancestandards, der von dieser Richtlinie unterstützt wird. |
canned_constraint_id: constraint_ID |
Der Name der Einschränkung der Organisationsrichtlinie. Beispiel: cloudbuild.allowedWorkerPools .
Lassen Sie das Präfix constraints/ in constraint_ID weg. |
org_policy_kind |
Werte für Listenorganisationsrichtlinien sind allow_all , deny_all , allowed_values und denied_values . Der Wert für boolesche Organisationsrichtlinien ist enforce . |
org_policy_kind_value |
Werte für die Art allow_all , deny_all , enforce sind true oder false . Der Wert für die Art allowed_values und denied_values ist eine Liste mit zulässigen bzw. abgelehnten Werten. |
condition: |
Eine Bedingung, die bestimmt, ob diese Regel bei der Auswertung der Richtlinie verwendet wird. Wenn festgelegt, muss das Feld expression in der Expr 1 bis 10 Unterausdrücke enthalten, die mit dem Operator || oder && verbunden sind. Jeder Unterausdruck muss das Format resource.matchTag('ORG_ID/tag_key_short_name, 'tag_value_short_name') oder resource.matchTagId('tagKeys/key_id', 'tagValues/value_id') haben, wobei „key_name“ und „value_name“ die Ressourcennamen für Labelschlüssel und -werte sind. Diese Namen sind im Tag Manager-Dienst verfügbar. Ein Beispielausdruck ist resource.matchTag('123456789/environment, 'prod') oder resource.matchTagId('tagKeys/123', 'tagValues/456') .
|
expression: org_policy_expression |
Die Textdarstellung eines Ausdrucks in der Common Expression Language-Syntax. Dieser Wert ist optional. |
title: org_policy_title |
Die Beschreibung des Zwecks für den Ausdruck. Dieser Wert ist optional. |
description: org_policy_description |
Die Beschreibung des Ausdrucks. Dieser Wert ist optional. |
location: org_policy_location |
Ein String, der bei der Meldung von Fehlern die Position des Ausdrucks angibt. Zum Beispiel ein Dateiname und eine Position in der Datei. Dieser Wert ist optional. |
name: custom_org_constraint_name |
Der Name der benutzerdefinierten Einschränkung im Format organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME . Beispiel: organizations/3589215982/customConstraints/custom.disableGkeAutoUpgrade . Das Feld „CONSTRAINT_NAME“ darf maximal 62 Zeichen lang sein. Das Präfix organizations/{organization_id}/customConstraints/custom wird nicht gezählt. Wenn Sie eine benutzerdefinierte Einschränkung in der Statusdatei definieren, wird eine neue benutzerdefinierte Einschränkung erstellt. |
resource_types: custom_org_resource_type |
Der voll qualifizierte Name der Google Cloud REST-Ressource, die das Objekt und das Feld enthält, das Sie einschränken möchten. Pro Ressourcentyp sind maximal 20 benutzerdefinierte Einschränkungen zulässig. |
method_types: custom_org_method_type |
Die Liste der RESTful-Methoden, für die die Einschränkung erzwungen werden soll. |
condition: custom_org_condition |
Die CEL-Bedingung, die sich auf die unterstützte Dienstressource bezieht. Dieses Feld hat eine maximale Länge von 1000 Zeichen. |
action_type: custom_org_action_type |
Die Aktion, die ausgeführt werden soll, wenn die Bedingung erfüllt ist. |
display_name: custom_org_constraint_display_name |
Ein nutzerfreundlicher Name für die Einschränkung. Dieses Feld hat eine maximale Länge von 200 Zeichen. |
description: custom_org_constraint_description |
Die Beschreibung der Einschränkung, die bei einem Richtlinienverstoß als Fehlermeldung angezeigt werden soll. Dieses Feld hat eine maximale Länge von 2000 Zeichen. |
module_name: sha_detector_name |
Der Name eines Security Health Analytics-Detektors. Beispiel: BIGQUERY_TABLE_CMEK_DISABLED . |
module_enablement_state: sha_detector_enabled |
Gibt an, ob der Security Health Analytics-Detektor aktiviert ist. ENABLED oder DISABLED . |
display_name: sha_custom_detector_name |
Der Name des benutzerdefinierten Moduls für Security Health Analytics. Der Name muss zwischen 1 und 128 Zeichen lang sein, mit einem Kleinbuchstaben beginnen und darf nur alphanumerische Zeichen oder Unterstriche enthalten. |
expression: sha_custom_detector_expression |
Die CEL-Ausdrücke, die die Attribute der zu scannenden Ressourcentypen prüfen. |
title: sha_custom_detector_predicate_title |
Der Name der Prädikatseigenschaft für das benutzerdefinierte Modul für Security Health Analytics. |
description: sha_custom_detector_predicate_description |
Die Beschreibung der Prädikatseigenschaft für das benutzerdefinierte Modul für Security Health Analytics. |
location: sha_custom_detector_predicate_location |
Der Standort, für den die Prädikatseigenschaft gilt. |
name: sha_custom_detector_output_name |
Der Name des Attributs custom_output . |
expression: sha_custom_detector_output_expression |
Ausdruck, der in der Ausgabe zurückgegeben werden soll. |
title: sha_custom_detector_output_title |
Der Titel für die Ausgabe. |
description: sha_custom_detector_output_description |
Die Beschreibung der Ausgabe für das benutzerdefinierte Modul für Security Health Analytics. |
location: sha_custom_detector_output_location |
Der Standort, für den die Ausgabe gilt. |
resource_types: sha_custom_detector_resource |
Die Ressourcentypen, die vom benutzerdefinierten Modul gescannt werden. |
severity: sha_custom_severity_level |
Der Schweregrad für die Ergebnisse, die von diesem Modul erstellt werden. |
description: sha_custom_detector_description |
Die Sicherheitslücke oder Fehlkonfiguration, die das benutzerdefinierte Modul erkennt. |
recommendation: sha_custom_detector_recommendation |
Eine Beschreibung, wie das erkannte Problem behoben werden kann. |
Beispiel für posture.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
Beispiele
Beispiele finden Sie in den vordefinierten Sicherheitsstatus Vorlagen.
Im Folgenden finden Sie eine Statusdatei, die Security Health Analytics-Detektoren für AWS und Google Cloud enthält:
description: Posture to help make storage workloads more secure across Google Cloud and AWS.
state: ACTIVE
policy_sets:
- policy_set_id: Google Cloud policy set
description: Policy set containing organization policies and Security Health Analytics modules for securing Cloud Storage.
policies:
- policy_id: Enforce Public Access Prevention
compliance_standards:
- standard: NIST SP 800-53
control: AC-3
- standard: NIST SP 800-53
control: AC-17
- standard: NIST SP 800-53
control: AC-20
constraint:
org_policy_constraint:
canned_constraint_id: storage.publicAccessPrevention
policy_rules:
- enforce: true
description: This policy prevents access to existing and future resources via the public internet by disabling and blocking access control lists (ACLs) and IAM permissions that grant access to allUsers and allAuthenticatedUsers.
- policy_id: Bucket IAM not monitored
compliance_standards:
- standard: NIST 800-53 R5
control: AC-12
- standard: NIST 800-53 R5
control: AC-2
- standard: NIST 800-53 R5
control: AC-7
constraint:
securityHealthAnalyticsModule:
moduleEnablementState: ENABLED
moduleName: BUCKET_IAM_NOT_MONITORED
description: This detector logs metric filter and creates alerts for Cloud Storage IAM permission changes. By monitoring changes to Cloud Storage bucket permissions, this detector can help you identify over-privileged users or suspicious activity at early stages.
- policy_set_id: AWS policy set
description: Policy set containing AWS built-in Security Health Analytics modules for securing S3 buckets.
policies:
- policy_id: S3 bucket replication enabled
compliance_standards:
- standard: NIST 800-53 R5
control: SI-13(5)
constraint:
securityHealthAnalyticsModule:
moduleEnablementState: ENABLED
moduleName: S3_BUCKET_REPLICATION_ENABLED
description: This control checks whether an Amazon S3 bucket has cross-region replication enabled. The control fails if the bucket doesn't have cross-region replication enabled or if same-region replication is also enabled.
- policy_id: S3 bucket logging enabled
compliance_standards:
- standard: NIST 800-53 R5
control: SI-13(5)
- standard: PCI DSS 3.2.1
control: 10.3.1
constraint:
securityHealthAnalyticsModule:
moduleEnablementState: ENABLED
moduleName: S3_BUCKET_LOGGING_ENABLED
description: AWS S3 Server Access Logging feature records access requests to storage buckets which is useful for security audits. By default, server access logging is not enabled for S3 buckets.
Nächste Schritte
- YAML-Datei für den Status erstellen und in der Umgebung bereitstellen
- Weitere Informationen zu benutzerdefinierten Modulen für Security Health Analytics, einschließlich etwaiger Einschränkungen.
- Weitere Informationen zu Einschränkungen für benutzerdefinierte Organisationsrichtlinien
- Terraform-Ressource für Sicherheitsstatus erstellen