PolicySet

Groupe d'un ou plusieurs éléments Policy.

Représentation JSON
{
  "policySetId": string,
  "description": string,
  "policies": [
    {
      object (Policy)
    }
  ]
}
Champs
policySetId

string

Obligatoire. Identifiant du jeu de règles.

description

string

Facultatif. Description de l'ensemble de règles.

policies[]

object (Policy)

Obligatoire. Les ressources Policy du jeu de règles.

Chaque règle doit avoir un policyId unique dans l'ensemble de règles.

Règle

Détails d'une règle, y compris les contraintes qu'elle inclut.

Représentation JSON
{
  "policyId": string,
  "complianceStandards": [
    {
      object (ComplianceStandard)
    }
  ],
  "constraint": {
    object (Constraint)
  },
  "description": string
}
Champs
policyId

string

Obligatoire. Identifiant spécifié par l'utilisateur pour la stratégie.

Dans un PolicySet, chaque règle doit disposer d'un identifiant unique.

complianceStandards[]

object (ComplianceStandard)

Facultatif. Normes de conformité que la stratégie permet d'appliquer.

constraint

object (Constraint)

Obligatoire. Contraintes incluses dans la stratégie.

description

string

Facultatif. Description du règlement.

ComplianceStandard

Informations sur une norme de conformité que la règle aide à appliquer.

Représentation JSON
{
  "standard": string,
  "control": string
}
Champs
standard

string

Facultatif. Norme de conformité que la stratégie aide à appliquer. Par exemple, NIST SP 800-53.

control

string

Facultatif. Contrôle de la norme de conformité que la stratégie permet d'appliquer. Par exemple, AC-3.

Contrainte

Métadonnées d'une contrainte dans un Policy.

Représentation 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.
}
Champs
Champ d'union implementation. Implémentation de la contrainte. implementation ne peut être qu'un des éléments suivants :
securityHealthAnalyticsModule

object (SecurityHealthAnalyticsModule)

Facultatif. Détecteur intégré de Security Health Analytics.

securityHealthAnalyticsCustomModule

object (SecurityHealthAnalyticsCustomModule)

Facultatif. Module personnalisé pour Security Health Analytics.

orgPolicyConstraint

object (OrgPolicyConstraint)

Facultatif. Contrainte de règle d'administration prédéfinie.

orgPolicyConstraintCustom

object (OrgPolicyConstraintCustom)

Facultatif. Contrainte liée aux règles d'administration personnalisée

SecurityHealthAnalyticsModule

Détecteur intégré de Security Health Analytics.

Représentation JSON
{
  "moduleName": string,
  "moduleEnablementState": enum (EnablementState)
}
Champs
moduleName

string

Obligatoire. Nom du détecteur. Par exemple, BIGQUERY_TABLE_CMEK_DISABLED.

moduleEnablementState

enum (EnablementState)

Indique si le détecteur est activé à un niveau spécifié de la hiérarchie des ressources.

EnablementState

Indique si un détecteur intégré ou un module personnalisé est activé à un niveau spécifié de la hiérarchie des ressources.

Enums
ENABLEMENT_STATE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
ENABLED Le détecteur ou le module personnalisé est activé.
DISABLED Le détecteur ou le module personnalisé est désactivé.

SecurityHealthAnalyticsCustomModule

Module personnalisé pour Security Health Analytics.

Représentation JSON
{
  "id": string,
  "displayName": string,
  "config": {
    object (CustomConfig)
  },
  "moduleEnablementState": enum (EnablementState)
}
Champs
id

string

Uniquement en sortie. Immuable. Identifiant unique du module personnalisé. Contient 1 à 20 chiffres.

displayName

string

Facultatif. Nom à afficher du module personnalisé. Cette valeur est utilisée comme catégorie de résultats pour toutes les données renvoyées par le module personnalisé. Le nom à afficher doit comporter entre 1 et 128 caractères alphanumériques ou traits de soulignement, et doit commencer par une lettre minuscule.

config

object (CustomConfig)

Obligatoire. Paramètres de configuration du module personnalisé.

moduleEnablementState

enum (EnablementState)

Indique si le module personnalisé est activé à un niveau spécifié de la hiérarchie des ressources.

CustomConfig

Configuration d'un module personnalisé pour Security Health Analytics. Utilisez CustomConfig pour créer des détecteurs personnalisés qui génèrent des résultats personnalisés pour les ressources que vous spécifiez.

Représentation JSON
{
  "predicate": {
    object (Expr)
  },
  "customOutput": {
    object (CustomOutputSpec)
  },
  "resourceSelector": {
    object (ResourceSelector)
  },
  "severity": enum (Severity),
  "description": string,
  "recommendation": string
}
Champs
predicate

object (Expr)

Obligatoire. Expression CEL (Common Expression Language) à évaluer. Lorsque l'expression renvoie la valeur true pour une ressource, un résultat est généré.

customOutput

object (CustomOutputSpec)

Facultatif. Définitions des propriétés de source personnalisées à inclure dans les résultats.

resourceSelector

object (ResourceSelector)

Obligatoire. Types de ressources sur lesquels le module personnalisé fonctionne.

severity

enum (Severity)

Obligatoire. Gravité des résultats générés par le module personnalisé.

description

string

Facultatif. Description de la faille ou de la mauvaise configuration détectée par le module personnalisé.

La description s'affiche dans chaque résultat. Fournissez suffisamment d'informations pour aider un enquêteur à comprendre le résultat.

La valeur doit être placée entre guillemets.

recommendation

string

Facultatif. Explication des étapes que les équipes de sécurité peuvent suivre pour résoudre le problème détecté. L'explication s'affiche pour chaque résultat.

Expr

Représente une expression textuelle dans la syntaxe CEL (Common Expression Language). CEL est un langage d'expression de type C. La syntaxe et la sémantique de CEL sont documentées à l'adresse https://github.com/google/cel-spec.

Exemple (comparaison) :

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

Exemple (égalité) :

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

Exemple (logique) :

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

Exemple (manipulation de données) :

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

Les fonctions et variables exactes pouvant être référencées dans une expression sont déterminées par le service qui l'évalue. Pour en savoir plus, consultez la documentation relative au service.

Représentation JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Champs
expression

string

Représentation textuelle d'une expression à l'aide de la syntaxe CEL (Common Expression Language).

title

string

Facultatif. Titre de l'expression, sous forme de chaîne courte décrivant son objectif. Il peut par exemple être utilisé dans les interfaces utilisateur qui permettent de saisir l'expression.

description

string

Facultatif. Description de l'expression. Il s'agit d'un texte plus long décrivant l'expression (par exemple, lorsque l'utilisateur passe la souris sur celle-ci dans une interface utilisateur).

location

string

Facultatif. Chaîne indiquant l'emplacement de l'expression pour la création de rapports d'erreurs (par exemple, un nom de fichier et une position dans le fichier).

CustomOutputSpec

Définitions des propriétés de source personnalisées pouvant apparaître dans les résultats.

Représentation JSON
{
  "properties": [
    {
      object (Property)
    }
  ]
}
Champs
properties[]

object (Property)

Facultatif. Propriétés de source personnalisées pouvant apparaître dans les résultats.

Propriété

Paire nom-valeur utilisée comme propriété de source personnalisée.

Représentation JSON
{
  "name": string,
  "valueExpression": {
    object (Expr)
  }
}
Champs
name

string

Obligatoire. Nom de la propriété de source personnalisée.

valueExpression

object (Expr)

Facultatif. Expression CEL pour la valeur de la propriété de source personnalisée. Pour les propriétés de ressources, vous pouvez renvoyer la valeur de la propriété ou une chaîne placée entre guillemets.

ResourceSelector

Sélecteur des types de ressources sur lesquels exécuter le détecteur.

Représentation JSON
{
  "resourceTypes": [
    string
  ]
}
Champs
resourceTypes[]

string

Obligatoire. Types de ressources sur lesquels exécuter le détecteur. Chaque module personnalisé peut spécifier jusqu'à cinq types de ressources.

Gravité

Gravité d'un résultat.

Enums
SEVERITY_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
CRITICAL Gravité critique.
HIGH Gravité élevée.
MEDIUM Gravité moyenne.
LOW Faible gravité.

OrgPolicyConstraint

Contrainte de règle d'administration prédéfinie.

Représentation JSON
{
  "cannedConstraintId": string,
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Champs
cannedConstraintId

string

Obligatoire. Identifiant unique de la contrainte.

policyRules[]

object (PolicyRule)

Obligatoire. Règles appliquées par la contrainte.

PolicyRule

Règle qui définit les valeurs autorisées et refusées pour une contrainte de règle d'administration.

Représentation 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.
}
Champs
condition

object (Expr)

Condition déterminant si cette règle est utilisée pour évaluer la stratégie.

Lorsqu'il est défini, le champ google.type.Expr.expression doit contenir entre une et 10 sous-expressions, jointes par les opérateurs || ou &&. Chaque sous-expression doit utiliser la fonction CEL (Common Expression Language) resource.matchTag() ou resource.matchTagId().

La fonction resource.matchTag() utilise les arguments suivants:

  • key_name: nom de l'espace de noms de la clé de tag, avec l'ID de l'organisation et une barre oblique (/) comme préfixe. Par exemple, 123456789012/environment
  • value_name: nom abrégé de la valeur du tag

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

La fonction resource.matchTagId() utilise les arguments suivants:

  • key_id: ID permanent de la clé de tag (par exemple, tagKeys/123456789012)
  • value_id: ID permanent de la valeur du tag (par exemple, tagValues/567890123456)

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

Champ d'union kind. Type de règle défini par PolicyRule. La kind ne peut être qu'un des éléments suivants :
values

object (StringValues)

Valeurs autorisées et refusées pour une contrainte de liste. Valable uniquement pour les contraintes de liste.

allowAll

boolean

Indique si toutes les valeurs sont autorisées pour une contrainte de liste. Valable uniquement pour les contraintes de liste.

denyAll

boolean

Indique si toutes les valeurs d'une contrainte de liste doivent être refusées. Valable uniquement pour les contraintes de liste.

enforce

boolean

Indique si la contrainte doit être appliquée. Valable uniquement pour les contraintes booléennes.

StringValues

Valeurs autorisées et refusées pour une contrainte de liste.

Pour toutes les contraintes, ces champs peuvent contenir des valeurs littérales. Vous pouvez éventuellement ajouter le préfixe is: à ces valeurs. Si la valeur contient un deux-points (:), le préfixe is: est obligatoire.

Certaines contraintes vous permettent de spécifier une partie de la hiérarchie des ressources, appelée sous-arborescence hiérarchique, à laquelle la contrainte s'applique. Pour spécifier un sous-arborescence hiérarchique, utilisez le préfixe under:, suivi d'une valeur au format suivant:

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

Le champ supportsUnder d'une contrainte indique si vous pouvez spécifier un sous-arbre de hiérarchie. Pour savoir quelles contraintes prédéfinies vous permettent de spécifier une sous-arborescence hiérarchique, consultez la documentation de référence sur les contraintes.

Représentation JSON
{
  "allowedValues": [
    string
  ],
  "deniedValues": [
    string
  ]
}
Champs
allowedValues[]

string

Valeurs autorisées pour la contrainte.

deniedValues[]

string

Valeurs refusées pour la contrainte.

OrgPolicyConstraintCustom

Contrainte liée aux règles d'administration personnalisée

Représentation JSON
{
  "customConstraint": {
    object (CustomConstraint)
  },
  "policyRules": [
    {
      object (PolicyRule)
    }
  ]
}
Champs
customConstraint

object (CustomConstraint)

Obligatoire. Métadonnées de la contrainte.

policyRules[]

object (PolicyRule)

Obligatoire. Règles appliquées par la contrainte.

CustomConstraint

Contrainte personnalisée définie par l'utilisateur. Vous ne pouvez appliquer la contrainte qu'aux types de ressources spécifiés dans la contrainte et uniquement au sein de l'organisation dans laquelle elle est définie.

Lorsque vous créez une contrainte personnalisée, elle n'est pas appliquée automatiquement. Vous devez utiliser une règle d'administration pour appliquer la contrainte.

Représentation JSON
{
  "name": string,
  "resourceTypes": [
    string
  ],
  "methodTypes": [
    enum (MethodType)
  ],
  "condition": string,
  "actionType": enum (ActionType),
  "displayName": string,
  "description": string,
  "updateTime": string
}
Champs
name

string

Immuable. Nom de la contrainte, au format organizations/{organization_id}/customConstraints/custom.{custom_constraint_id}. Exemple :organizations/123456789012/customConstraints/custom.createOnlyE2TypeVms

Doit contenir entre 1 et 62 caractères, sans compter le préfixe organizations/{organization_id}/customConstraints/custom..

resourceTypes[]

string

Immuable. Type de ressource auquel la contrainte s'applique, au format {canonical_service_name}/{resource_type_name}. Exemple :compute.googleapis.com/Instance

methodTypes[]

enum (MethodType)

Types d'opérations auxquels la contrainte s'applique.

condition

string

Expression de condition en langage CEL (Common Expression Language) qui doit renvoyer la valeur true pour que la contrainte soit appliquée. La longueur maximale est de 1 000 caractères.

Exemple :

  • resource.instanceName.matches('(production|test)_(.+_)?[\d]+'): renvoie true si l'attribut instanceName de la ressource contient les éléments suivants :
    • Préfixe production ou test
    • Un trait de soulignement (_)
    • Facultatif: un ou plusieurs caractères, suivis d'un trait de soulignement (_)
    • Un ou plusieurs chiffres
  • resource.management.auto_upgrade == true: renvoie true si l'attribut management.auto_upgrade de la ressource est true.
actionType

enum (ActionType)

Indique si l'action doit être autorisée ou refusée.

displayName

string

Nom à afficher pour la contrainte. La longueur maximale est de 200 caractères.

description

string

Description de la contrainte. La longueur maximale est de 2 000 caractères.

updateTime

string (Timestamp format)

Uniquement en sortie. Date et heure de la dernière mise à jour ou création de la contrainte.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

MethodType

Type d'opération auquel la contrainte s'applique.

Si une contrainte s'applique aux opérations MethodType.UPDATE, elle doit également s'appliquer aux opérations MethodType.CREATE.

Enums
METHOD_TYPE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
CREATE Contrainte appliquée lors de la création de la ressource.
UPDATE Contrainte appliquée lors de la mise à jour de la ressource.
DELETE Non compatible Contrainte appliquée lors de la suppression de la ressource.

ActionType

Indique si l'action doit être autorisée ou refusée.

Enums
ACTION_TYPE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
ALLOW Autorisez l'action.
DENY Refuser l'action.