PolicySet

Eine Gruppe von einer oder mehreren Policy-Ressourcen.

JSON-Darstellung
{
  "policySetId": string,
  "description": string,
  "policies": [
    {
      object (Policy)
    }
  ]
}
Felder
policySetId

string

Pflichtangabe. Eine Kennung für die Richtliniengruppe.

description

string

Optional. Eine Beschreibung der Richtliniengruppe.

policies[]

object (Policy)

Pflichtangabe. Die Policy-Ressourcen in der Richtliniengruppe.

Jede Richtlinie muss eine policyId haben, die innerhalb des Richtliniensatzes eindeutig ist.

Richtlinie

Die Details einer Richtlinie, einschließlich der darin enthaltenen Einschränkungen.

JSON-Darstellung
{
  "policyId": string,
  "complianceStandards": [
    {
      object (ComplianceStandard)
    }
  ],
  "constraint": {
    object (Constraint)
  },
  "description": string
}
Felder
policyId

string

Pflichtangabe. Eine vom Nutzer angegebene Kennung für die Richtlinie.

In einer PolicySet muss jede Richtlinie eine eindeutige Kennung haben.

complianceStandards[]

object (ComplianceStandard)

Optional. Die Compliance-Standards, die mit der Richtlinie durchgesetzt werden.

constraint

object (Constraint)

Pflichtangabe. Die Einschränkungen, die in der Richtlinie enthalten sind.

description

string

Optional. Eine Beschreibung der Richtlinie.

ComplianceStandard

Informationen zu einem Compliance-Standard, der mit der Richtlinie durchgesetzt wird.

JSON-Darstellung
{
  "standard": string,
  "control": string
}
Felder
standard

string

Optional. Der Compliance-Standard, der mit der Richtlinie durchgesetzt wird. Beispiel: NIST SP 800-53.

control

string

Optional. Die Kontrolle im Compliance-Standard, die mit der Richtlinie durchgesetzt wird. Beispiel: AC-3.

Einschränkung

Metadaten für eine Einschränkung in einer Policy.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld implementation. Die Implementierung der Einschränkung. Für implementation ist nur einer der folgenden Werte zulässig:
securityHealthAnalyticsModule

object (SecurityHealthAnalyticsModule)

Optional. Ein integrierter Detektor für Security Health Analytics.

securityHealthAnalyticsCustomModule

object (SecurityHealthAnalyticsCustomModule)

Optional. Ein benutzerdefiniertes Modul für Security Health Analytics.

orgPolicyConstraint

object (OrgPolicyConstraint)

Optional. Eine vordefinierte Einschränkung der Organisationsrichtlinie.

orgPolicyConstraintCustom

object (OrgPolicyConstraintCustom)

Optional. Eine benutzerdefinierte Einschränkung der Organisationsrichtlinie.

SecurityHealthAnalyticsModule

Ein integrierter Detektor für Security Health Analytics.

JSON-Darstellung
{
  "moduleName": string,
  "moduleEnablementState": enum (EnablementState)
}
Felder
moduleName

string

Pflichtangabe. Der Name des Detektors. Beispiel: BIGQUERY_TABLE_CMEK_DISABLED.

moduleEnablementState

enum (EnablementState)

Gibt an, ob der Detector auf einer bestimmten Ebene der Ressourcenhierarchie aktiviert ist.

EnablementState

Gibt an, ob ein integrierter Detector oder ein benutzerdefiniertes Modul auf einer bestimmten Ebene der Ressourcenhierarchie aktiviert ist.

Enums
ENABLEMENT_STATE_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
ENABLED Der Detektor oder das benutzerdefinierte Modul ist aktiviert.
DISABLED Der Detektor oder das benutzerdefinierte Modul ist deaktiviert.

SecurityHealthAnalyticsCustomModule

Ein benutzerdefiniertes Modul für Security Health Analytics.

JSON-Darstellung
{
  "id": string,
  "displayName": string,
  "config": {
    object (CustomConfig)
  },
  "moduleEnablementState": enum (EnablementState)
}
Felder
id

string

Nur Ausgabe. Nicht veränderbar. Die eindeutige Kennung für das benutzerdefinierte Modul. Enthält 1 bis 20 Ziffern.

displayName

string

Optional. Der Anzeigename des benutzerdefinierten Moduls. Dieser Wert wird als Ergebniskategorie für alle Ergebnisse verwendet, die das benutzerdefinierte Modul zurückgibt. Der Anzeigename muss zwischen 1 und 128 alphanumerische Zeichen oder Unterstriche enthalten und mit einem Kleinbuchstaben beginnen.

config

object (CustomConfig)

Pflichtangabe. Konfigurationseinstellungen für das benutzerdefinierte Modul.

moduleEnablementState

enum (EnablementState)

Gibt an, ob das benutzerdefinierte Modul auf einer bestimmten Ebene der Ressourcenhierarchie aktiviert ist.

CustomConfig

Eine benutzerdefinierte Modulkonfiguration für Security Health Analytics. Mit CustomConfig können Sie benutzerdefinierte Detektoren erstellen, die benutzerdefinierte Ergebnisse für von Ihnen angegebene Ressourcen generieren.

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

object (Expr)

Pflichtangabe. Der auszuwertende CEL-Ausdruck (Common Expression Language). Wenn der Ausdruck für eine Ressource true ergibt, wird ein Ergebnis generiert.

customOutput

object (CustomOutputSpec)

Optional. Definitionen benutzerdefinierter Quellattribute, die in Ergebnisse einbezogen werden sollen.

resourceSelector

object (ResourceSelector)

Pflichtangabe. Die Ressourcentypen, auf die das benutzerdefinierte Modul angewendet wird.

severity

enum (Severity)

Pflichtangabe. Die Schwere der vom benutzerdefinierten Modul generierten Ergebnisse.

description

string

Optional. Eine Beschreibung der Sicherheitslücke oder Fehlkonfiguration, die vom benutzerdefinierten Modul erkannt wird.

Die Beschreibung wird bei jeder Feststellung angezeigt. Geben Sie genügend Informationen an, damit Prüfer die Abweichung nachvollziehen können.

Der Wert muss in Anführungszeichen gesetzt werden.

recommendation

string

Optional. Eine Erläuterung der Schritte, die Sicherheitsteams unternehmen können, um das erkannte Problem zu beheben. Die Erklärung wird bei jedem Ergebnis angezeigt.

Expr

Stellt einen Textausdruck in der CEL-Syntax (Common Expression Language) dar. CEL ist eine C-ähnliche Sprache für Ausdrücke. Weitere Informationen zur Syntax und Semantik von CEL finden Sie unter https://github.com/google/cel-spec.

Beispiel (Vergleich):

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

Beispiel (Gleichheit):

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

Beispiel (Logik):

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

Beispiel (Datenbearbeitung):

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

Die genauen Variablen und Funktionen, auf die in einem Ausdruck verwiesen werden kann, werden durch den Dienst bestimmt, der den Ausdruck auswertet. Weitere Informationen finden Sie in der Dokumentation zum Dienst.

JSON-Darstellung
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Felder
expression

string

Textdarstellung eines Ausdrucks in der Common Expression Language-Syntax.

title

string

Optional. Titel für den Ausdruck, d. h. ein kurzer String, der seinen Zweck beschreibt. Diese Funktion kann z. B. in UIs verwendet werden, in denen die Eingabe von Ausdrücken zulässig ist.

description

string

Optional. Beschreibung des Ausdrucks. Dies ist ein längerer Text, der den Ausdruck beschreibt, z. B. wenn der Mauszeiger darauf bewegt wird.

location

string

Optional. Ein String, der in Fehlermeldungen den Speicherort des Ausdrucks angibt, z. B. einen Dateinamen und eine Position in der Datei.

CustomOutputSpec

Definitionen benutzerdefinierter Quell-Properties, die in Ergebnissen erscheinen können.

JSON-Darstellung
{
  "properties": [
    {
      object (Property)
    }
  ]
}
Felder
properties[]

object (Property)

Optional. Die benutzerdefinierten Quellattribute, die in den Ergebnissen erscheinen können.

Attribut

Ein Name-Wert-Paar, das als benutzerdefinierte Quell-Property verwendet wird.

JSON-Darstellung
{
  "name": string,
  "valueExpression": {
    object (Expr)
  }
}
Felder
name

string

Pflichtangabe. Der Name der benutzerdefinierten Quelleigenschaft.

valueExpression

object (Expr)

Optional. Der CEL-Ausdruck für den Wert der benutzerdefinierten Quelleigenschaft. Bei Ressourceneigenschaften können Sie den Wert der Property oder einen String in Anführungszeichen zurückgeben.

ResourceSelector

Eine Auswahl für die Ressourcentypen, auf die der Detektor angewendet werden soll.

JSON-Darstellung
{
  "resourceTypes": [
    string
  ]
}
Felder
resourceTypes[]

string

Pflichtangabe. Die Ressourcentypen, für die der Detektor ausgeführt werden soll. Für jedes benutzerdefinierte Modul können bis zu fünf Ressourcentypen angegeben werden.

Schweregrad

Der Schweregrad eines Ergebnisses.

Enums
SEVERITY_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
CRITICAL Kritisch
HIGH Hoch
MEDIUM Mittlere Schwere.
LOW Gering

OrgPolicyConstraint

Eine vordefinierte Einschränkung der Organisationsrichtlinie.

JSON-Darstellung
{
  "cannedConstraintId": string,
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Felder
cannedConstraintId

string

Pflichtangabe. Eine eindeutige Kennung für die Einschränkung.

policyRules[]

object (PolicyRule)

Pflichtangabe. Die durch die Einschränkung erzwungenen Regeln.

PolicyRule

Eine Regel, die die zulässigen und abgelehnten Werte für eine Einschränkung der Organisationsrichtlinie definiert.

JSON-Darstellung
{
  "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.
}
Felder
condition

object (Expr)

Eine Bedingung, die bestimmt, ob diese Regel zur Auswertung der Richtlinie verwendet wird.

Wenn das Feld google.type.Expr.expression festgelegt ist, muss es ein bis zehn Unterausdrücke enthalten, die durch die Operatoren || oder && verbunden sind. Für jeden untergeordneten Ausdruck muss die Common Expression Language (CEL)-Funktion resource.matchTag() oder resource.matchTagId() verwendet werden.

Die Funktion resource.matchTag() verwendet die folgenden Argumente:

  • key_name: der Namespace-Name des Tag-Schlüssels mit der ID der Organisation und einem Schrägstrich (/) als Präfix, z. B. 123456789012/environment
  • value_name: der Kurzname des Tag-Werts

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

Die Funktion resource.matchTagId() verwendet die folgenden Argumente:

  • key_id: die permanente ID des Tag-Schlüssels, z. B. tagKeys/123456789012
  • value_id: Die permanente ID des Tag-Werts, z. B. tagValues/567890123456.

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

Union-Feld kind. Der Regeltyp, der durch PolicyRule definiert wird. Für kind ist nur einer der folgenden Werte zulässig:
values

object (StringValues)

Die zulässigen und abgelehnten Werte für eine Listeneinschränkung. Nur für Listeneinschränkungen gültig.

allowAll

boolean

Gibt an, ob für eine Listeneinschränkung beliebige Werte zulässig sind. Nur für Listeneinschränkungen gültig.

denyAll

boolean

Gibt an, ob alle Werte für eine Listeneinschränkung abgelehnt werden sollen. Nur für Listeneinschränkungen gültig.

enforce

boolean

Gibt an, ob die Einschränkung erzwungen werden soll. Nur für boolesche Einschränkungen gültig.

StringValues

Die zulässigen und abgelehnten Werte für eine Listeneinschränkung.

Für alle Einschränkungen können diese Felder Literalwerte enthalten. Optional können Sie diesen Werten das Präfix is: hinzufügen. Wenn der Wert einen Doppelpunkt (:) enthält, ist das Präfix is: erforderlich.

Bei einigen Einschränkungen können Sie einen Teil der Ressourcenhierarchie angeben, der als Hierarchie-Unterstruktur bezeichnet wird und auf den sich die Einschränkung bezieht. Verwenden Sie das Präfix under: gefolgt von einem Wert in einem der folgenden Formate, um eine Hierarchie-Unterstruktur anzugeben:

  • projects/{projectId} (z. B. projects/tokyo-rain-123)
  • folders/{folder_id} (z. B. folders/1234567890123)
  • organizations/{organization_id} (z. B. organizations/123456789012)

Das Feld supportsUnder einer Einschränkung gibt an, ob Sie einen untergeordneten Hierarchiebaum angeben können. Informationen dazu, mit welchen vordefinierten Einschränkungen Sie eine Hierarchieunterstruktur angeben können, finden Sie in der Referenz zu Einschränkungen.

JSON-Darstellung
{
  "allowedValues": [
    string
  ],
  "deniedValues": [
    string
  ]
}
Felder
allowedValues[]

string

Die zulässigen Werte für die Einschränkung.

deniedValues[]

string

Die abgelehnten Werte für die Einschränkung.

OrgPolicyConstraintCustom

Eine benutzerdefinierte Einschränkung der Organisationsrichtlinie.

JSON-Darstellung
{
  "customConstraint": {
    object (CustomConstraint)
  },
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Felder
customConstraint

object (CustomConstraint)

Pflichtangabe. Metadaten für die Einschränkung.

policyRules[]

object (PolicyRule)

Pflichtangabe. Die durch die Einschränkung erzwungenen Regeln.

CustomConstraint

Eine benutzerdefinierte Einschränkung. Sie können die Einschränkung nur auf die in der Einschränkung angegebenen Ressourcentypen und nur innerhalb der Organisation anwenden, in der die Einschränkung definiert ist.

Wenn Sie eine benutzerdefinierte Einschränkung erstellen, wird sie nicht automatisch erzwungen. Sie müssen eine Organisationsrichtlinie verwenden, um die Einschränkung durchzusetzen.

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

string

Nicht veränderbar. Der Name der Einschränkung im Format organizations/{organization_id}/customConstraints/custom.{custom_constraint_id}. Beispiel: organizations/123456789012/customConstraints/custom.createOnlyE2TypeVms.

Muss 1 bis 62 Zeichen enthalten, ausgenommen das Präfix organizations/{organization_id}/customConstraints/custom..

resourceTypes[]

string

Nicht veränderbar. Der Ressourcentyp, auf den sich die Einschränkung bezieht, im Format {canonical_service_name}/{resource_type_name}. Beispiel: compute.googleapis.com/Instance.

methodTypes[]

enum (MethodType)

Die Arten von Vorgängen, auf die sich die Einschränkung bezieht.

condition

string

Ein CEL-Bedingungsausdruck (Common Expression Language), der true sein muss, damit die Einschränkung erzwungen wird. Die maximale Länge beträgt 1.000 Zeichen.

Beispiel:

  • resource.instanceName.matches('(production|test)_(.+_)?[\d]+'): Wird zu true ausgewertet, wenn das instanceName-Attribut der Ressource Folgendes enthält:
    • Das Präfix production oder test
    • Unterstrich (_)
    • Optional: Ein oder mehrere Zeichen, gefolgt von einem Unterstrich (_)
    • Eine oder mehrere Ziffern
  • resource.management.auto_upgrade == true: Wird zu true ausgewertet, wenn das management.auto_upgrade-Attribut der Ressource true ist.
actionType

enum (ActionType)

Gibt an, ob die Aktion zugelassen oder abgelehnt werden soll.

displayName

string

Ein Anzeigename für die Einschränkung. Die maximale Länge beträgt 200 Zeichen.

description

string

Eine Beschreibung der Einschränkung. Die maximale Länge beträgt 2.000 Zeichen.

updateTime

string (Timestamp format)

Nur Ausgabe. Das Datum, an dem die Einschränkung zuletzt aktualisiert oder erstellt wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

MethodType

Ein Vorgangstyp, auf den sich die Einschränkung bezieht.

Wenn eine Einschränkung für MethodType.UPDATE-Vorgänge gilt, muss sie auch für MethodType.CREATE-Vorgänge gelten.

Enums
METHOD_TYPE_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
CREATE Einschränkung, die beim Erstellen der Ressource angewendet wurde.
UPDATE Einschränkung, die beim Aktualisieren der Ressource angewendet wird.
DELETE Nicht unterstützt. Einschränkung, die beim Löschen der Ressource angewendet wird.

ActionType

Gibt an, ob die Aktion zugelassen oder abgelehnt werden soll.

Enums
ACTION_TYPE_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
ALLOW Erlauben Sie die Aktion.
DENY Lehnen Sie die Aktion ab.