PolicySet

Un gruppo di una o più risorse Policy.

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

string

Obbligatorio. Un identificatore per l'insieme di criteri.

description

string

Facoltativo. Una descrizione dell'insieme di criteri.

policies[]

object (Policy)

Obbligatorio. Le risorse Policy nel criterio impostato.

Ogni criterio deve avere un policyId univoco all'interno dell'insieme di criteri.

Norme

I dettagli di un criterio, inclusi i vincoli che include.

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

string

Obbligatorio. Un identificatore specificato dall'utente per il criterio.

In un PolicySet, ogni criterio deve avere un identificatore univoco.

complianceStandards[]

object (ComplianceStandard)

Facoltativo. Gli standard di conformità che il criterio contribuisce a applicare.

constraint

object (Constraint)

Obbligatorio. I vincoli inclusi nel criterio.

description

string

Facoltativo. Una descrizione delle norme.

ComplianceStandard

Informazioni su uno standard di conformità che la norma contribuisce a applicare.

Rappresentazione JSON
{
  "standard": string,
  "control": string
}
Campi
standard

string

Facoltativo. Lo standard di conformità che il criterio contribuisce a applicare. Ad esempio, NIST SP 800-53.

control

string

Facoltativo. Il controllo nello standard di conformità che il criterio contribuisce a applicare. Ad esempio, AC-3.

Vincolo

Metadati per un vincolo in un Policy.

Rappresentazione 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.
}
Campi
Campo unione implementation. L'implementazione del vincolo. implementation può essere solo uno dei seguenti:
securityHealthAnalyticsModule

object (SecurityHealthAnalyticsModule)

Facoltativo. Un rilevatore integrato per Security Health Analytics.

securityHealthAnalyticsCustomModule

object (SecurityHealthAnalyticsCustomModule)

Facoltativo. Un modulo personalizzato per Security Health Analytics.

orgPolicyConstraint

object (OrgPolicyConstraint)

Facoltativo. Un vincolo dei criteri dell'organizzazione predefinito.

orgPolicyConstraintCustom

object (OrgPolicyConstraintCustom)

Facoltativo. Un vincolo dei criteri dell'organizzazione personalizzati.

SecurityHealthAnalyticsModule

Un rilevatore integrato per Security Health Analytics.

Rappresentazione JSON
{
  "moduleName": string,
  "moduleEnablementState": enum (EnablementState)
}
Campi
moduleName

string

Obbligatorio. Il nome del rilevatore. Ad esempio, BIGQUERY_TABLE_CMEK_DISABLED.

moduleEnablementState

enum (EnablementState)

Indica se il rilevatore è abilitato a un livello specificato della gerarchia delle risorse.

EnablementState

Indica se un rilevatore integrato o un modulo personalizzato è abilitato a un livello specificato della gerarchia delle risorse.

Enum
ENABLEMENT_STATE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
ENABLED Il rilevatore o il modulo personalizzato è abilitato.
DISABLED Il rilevatore o il modulo personalizzato è disabilitato.

SecurityHealthAnalyticsCustomModule

Un modulo personalizzato per Security Health Analytics.

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

string

Solo output. Immutabile. L'identificatore univoco del modulo personalizzato. Deve contenere da 1 a 20 cifre.

displayName

string

Facoltativo. Il nome visualizzato del modulo personalizzato. Questo valore viene utilizzato come categoria di risultati per tutti i risultati restituiti dal modulo personalizzato. Il nome visualizzato deve contenere da 1 a 128 caratteri alfanumerici o trattini bassi e deve iniziare con una lettera minuscola.

config

object (CustomConfig)

Obbligatorio. Impostazioni di configurazione per il modulo personalizzato.

moduleEnablementState

enum (EnablementState)

Indica se il modulo personalizzato è abilitato a un livello specificato della gerarchia delle risorse.

CustomConfig

Una configurazione del modulo personalizzato per Security Health Analytics. Utilizza CustomConfig per creare rilevatori personalizzati che generano risultati personalizzati per le risorse specificate.

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

object (Expr)

Obbligatorio. L'espressione Common Expression Language (CEL) da valutare. Quando l'espressione ha come risultato true per una risorsa, viene generato un risultato.

customOutput

object (CustomOutputSpec)

Facoltativo. Definizioni di proprietà sorgente personalizzate da includere nei risultati.

resourceSelector

object (ResourceSelector)

Obbligatorio. I tipi di risorse su cui opera il modulo personalizzato.

severity

enum (Severity)

Obbligatorio. La gravità dei risultati generati dal modulo personalizzato.

description

string

Facoltativo. Una descrizione della vulnerabilità o dell'errore di configurazione rilevato dal modulo personalizzato.

La descrizione viene visualizzata in ogni risultato. Fornisci informazioni sufficienti per aiutare un investigatore a comprendere il risultato.

Il valore deve essere racchiuso tra virgolette.

recommendation

string

Facoltativo. Una spiegazione della procedura che i team di sicurezza possono seguire per risolvere il problema rilevato. La spiegazione viene visualizzata in ogni risultato.

Expr

Rappresenta un'espressione di testo nella sintassi Common Expression Language (CEL). CEL è un linguaggio di espressioni simile a C. La sintassi e la semantica di CEL sono documentate all'indirizzo https://github.com/google/cel-spec.

Esempio (confronto):

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

Esempio (uguaglianza):

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

Esempio (logica):

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

Esempio (manipolazione dei dati):

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

Le variabili e le funzioni esatte a cui può essere fatto riferimento all'interno di un'espressione sono determinate dal servizio che la valuta. Per ulteriori informazioni, consulta la documentazione del servizio.

Rappresentazione JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campi
expression

string

Rappresentazione testuale di un'espressione nella sintassi di Common Expression Language.

title

string

Facoltativo. Titolo dell'espressione, ovvero una breve stringa che ne descrive lo scopo. Può essere utilizzato, ad esempio, nelle UI che consentono di inserire l'espressione.

description

string

Facoltativo. Descrizione dell'espressione. Si tratta di un testo più lungo che descrive l'espressione, ad esempio quando si passa il mouse sopra l'espressione in un'interfaccia utente.

location

string

Facoltativo. Stringa che indica la posizione dell'espressione per la segnalazione degli errori, ad esempio un nome file e una posizione nel file.

CustomOutputSpec

Definizioni di proprietà sorgente personalizzate che possono essere visualizzate nei risultati.

Rappresentazione JSON
{
  "properties": [
    {
      object (Property)
    }
  ]
}
Campi
properties[]

object (Property)

Facoltativo. Le proprietà sorgente personalizzate che possono essere visualizzate nei risultati.

Proprietà

Una coppia nome-valore utilizzata come proprietà sorgente personalizzata.

Rappresentazione JSON
{
  "name": string,
  "valueExpression": {
    object (Expr)
  }
}
Campi
name

string

Obbligatorio. Il nome della proprietà dell'origine personalizzata.

valueExpression

object (Expr)

Facoltativo. L'espressione CEL per il valore della proprietà dell'origine personalizzata. Per le proprietà delle risorse, puoi restituire il valore della proprietà o una stringa racchiusa tra virgolette.

ResourceSelector

Un selettore per i tipi di risorse su cui eseguire il rilevatore.

Rappresentazione JSON
{
  "resourceTypes": [
    string
  ]
}
Campi
resourceTypes[]

string

Obbligatorio. I tipi di risorse su cui eseguire il rilevatore. Ogni modulo personalizzato può specificare fino a 5 tipi di risorse.

Gravità

La gravità di un risultato.

Enum
SEVERITY_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
CRITICAL Gravità critica.
HIGH Gravità elevata.
MEDIUM Gravità media.
LOW Gravità bassa.

OrgPolicyConstraint

Un vincolo dei criteri dell'organizzazione predefinito.

Rappresentazione JSON
{
  "cannedConstraintId": string,
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Campi
cannedConstraintId

string

Obbligatorio. Un identificatore univoco per la limitazione.

policyRules[]

object (PolicyRule)

Obbligatorio. Le regole applicate dal vincolo.

PolicyRule

Una regola che definisce i valori consentiti e vietati per un vincolo dei criteri dell'organizzazione.

Rappresentazione 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.
}
Campi
condition

object (Expr)

Una condizione che determina se questa regola viene utilizzata per valutare il criterio.

Se impostato, il campo google.type.Expr.expression deve contenere da 1 a 10 sottoespressioni unite dagli operatori || o &&. Ogni sottoespressione deve utilizzare la funzione Common Expression Language (CEL) resource.matchTag() o resource.matchTagId().

La funzione resource.matchTag() accetta i seguenti argomenti:

  • key_name: il nome con spazio dei nomi della chiave tag, con l'ID organizzazione e una barra (/) come prefisso; ad esempio, 123456789012/environment
  • value_name: il nome breve del valore del tag

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

La funzione resource.matchTagId() accetta i seguenti argomenti:

  • key_id: l'ID permanente della chiave del tag; ad esempio, tagKeys/123456789012
  • value_id: l'ID permanente del valore del tag; ad esempio, tagValues/567890123456

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

Campo unione kind. Il tipo di regola definito da PolicyRule. kind può essere solo uno dei seguenti:
values

object (StringValues)

I valori consentiti e vietati per un vincolo dell'elenco. Valido solo per i vincoli dell'elenco.

allowAll

boolean

Indica se consentire qualsiasi valore per un vincolo dell'elenco. Valido solo per i vincoli dell'elenco.

denyAll

boolean

Indica se negare tutti i valori per un vincolo dell'elenco. Valido solo per i vincoli dell'elenco.

enforce

boolean

Se applicare il vincolo. Valido solo per i vincoli booleani.

StringValues

I valori consentiti e vietati per un vincolo dell'elenco.

Per tutti i vincoli, questi campi possono contenere valori letterali. Se vuoi, puoi aggiungere il prefisso is: a questi valori. Se il valore contiene due punti (:), è necessario il prefisso is:.

Alcuni vincoli ti consentono di specificare una parte della gerarchia delle risorse, nota come sottoalbero della gerarchia, a cui si applica il vincolo. Per specificare un sottoalbero della gerarchia, utilizza il prefisso under:, seguito da un valore con uno di questi formati:

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

Il campo supportsUnder di una limitazione indica se puoi specificare un sottoalbero della gerarchia. Per scoprire quali vincoli predefiniti ti consentono di specificare un sottoalbero della gerarchia, consulta la documentazione di riferimento sui vincoli.

Rappresentazione JSON
{
  "allowedValues": [
    string
  ],
  "deniedValues": [
    string
  ]
}
Campi
allowedValues[]

string

I valori consentiti per la limitazione.

deniedValues[]

string

I valori negati per il vincolo.

OrgPolicyConstraintCustom

Un vincolo dei criteri dell'organizzazione personalizzati.

Rappresentazione JSON
{
  "customConstraint": {
    object (CustomConstraint)
  },
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Campi
customConstraint

object (CustomConstraint)

Obbligatorio. Metadati del vincolo.

policyRules[]

object (PolicyRule)

Obbligatorio. Le regole applicate dal vincolo.

CustomConstraint

Un vincolo personalizzato definito dall'utente. Puoi applicare il vincolo solo ai tipi di risorse specificati nel vincolo e solo all'interno dell'organizzazione in cui è definito.

Quando crei un vincolo personalizzato, questo non viene applicato automaticamente. Devi utilizzare un criterio dell'organizzazione per applicare il vincolo.

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

string

Immutabile. Il nome della limitazione, nel formato organizations/{organization_id}/customConstraints/custom.{custom_constraint_id}. Ad esempio, organizations/123456789012/customConstraints/custom.createOnlyE2TypeVms.

Deve contenere da 1 a 62 caratteri, escluso il prefisso organizations/{organization_id}/customConstraints/custom..

resourceTypes[]

string

Immutabile. Il tipo di risorsa a cui si applica il vincolo, nel formato {canonical_service_name}/{resource_type_name}. Ad esempio, compute.googleapis.com/Instance.

methodTypes[]

enum (MethodType)

I tipi di operazioni a cui si applica il vincolo.

condition

string

Un'espressione di condizione Common Expression Language (CEL) che deve avere come risultato true affinché la limitazione venga applicata. La lunghezza massima è di 1000 caratteri.

Ad esempio:

  • resource.instanceName.matches('(production|test)_(.+_)?[\d]+'): ha il valore true se l'attributo instanceName della risorsa contiene quanto segue:
    • Il prefisso production o test
    • Un trattino basso (_)
    • (Facoltativo) Uno o più caratteri, seguiti da un trattino basso (_)
    • Una o più cifre
  • resource.management.auto_upgrade == true: ha il valore true se l'attributo management.auto_upgrade della risorsa è true.
actionType

enum (ActionType)

Se consentire o negare l'azione.

displayName

string

Un nome visualizzato per il vincolo. La lunghezza massima è di 200 caratteri.

description

string

Una descrizione del vincolo. La lunghezza massima è di 2000 caratteri.

updateTime

string (Timestamp format)

Solo output. L'ultima volta in cui la limitazione è stata aggiornata o creata.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

MethodType

Un tipo di operazione a cui si applica il vincolo.

Se una limitazione si applica alle operazioni MethodType.UPDATE, deve essere applicata anche alle operazioni MethodType.CREATE.

Enum
METHOD_TYPE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
CREATE Vincolo applicato durante la creazione della risorsa.
UPDATE Vincolo applicato durante l'aggiornamento della risorsa.
DELETE Non supportati. Vincolo applicato durante l'eliminazione della risorsa.

ActionType

Se consentire o negare l'azione.

Enum
ACTION_TYPE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
ALLOW Consenti l'azione.
DENY Rifiutare l'azione.