Cette page contient des exemples de stratégies pour l'autorisation binaire, spécifiées au format YAML. Pour obtenir des instructions sur la configuration des règles dans l'autorisation binaire, consultez les pages Configurer une règle à l'aide de Google Cloud CLI ou Configurer une règle à l'aide de Google Cloud Console.
Autoriser tous les déploiements
L'exemple suivant montre comment autoriser le déploiement de toutes les images de conteneurs sans la moindre contrainte.
name: projects/example-project/policy defaultAdmissionRule: evaluationMode: ALWAYS_ALLOW enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Ici, la règle par défaut présente un mode d'évaluation (evaluationMode
) défini sur ALWAYS_ALLOW
, qui indique à l'autorisation binaire d'autoriser le déploiement de toutes les images de conteneurs. Le mode d'application (enforcementMode
) par défaut est défini sur ENFORCED_BLOCK_AND_AUDIT_LOG
, mais étant donné que tous les déploiements sont autorisés, cette action n'est jamais effectuée.
Bloquer (presque) tous les déploiements
L'exemple suivant montre comment bloquer le déploiement de toutes les images de conteneurs, tout en autorisant les images système gérées par Google. Ces images de conteneurs sont nécessaires pour permettre un démarrage correct de la plupart des clusters Google Kubernetes Engine (GKE).
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Ici, le mode d'évaluation de la stratégie globale (globalPolicyEvaluationMode) est activé, de sorte que les images requises par GKE ne soient pas bloquées par l'application de la stratégie.
La règle par défaut présente un mode d'évaluation (evaluationMode
) défini sur ALWAYS_DENY
, qui indique à l'autorisation binaire de refuser le déploiement de toutes les images de conteneurs. Le mode d'application (enforcementMode
) est défini sur ENFORCED_BLOCK_AND_AUDIT_LOG
, ce qui indique à l'autorisation binaire de bloquer le déploiement et de le consigner dans le journal d'audit.
Exiger la signature des certificateurs avant le déploiement
L'exemple suivant montre comment exiger que des certificateurs autorisent une version avant qu'une image de conteneur ne puisse être déployée. Le déploiement est bloqué si tous les certificateurs ne l'ont pas signé.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/example-project/attestors/secure-build
Ici, la règle par défaut présente un mode d'évaluation (evaluationMode
) défini sur REQUIRE_ATTESTATION
, ce qui indique à l'autorisation binaire de n'autoriser que le déploiement des images ayant été autorisées par les certificateurs requis dans requireAttestationsBy
.
Autoriser les déploiements en mode de simulation
Le mode de simulation est un mode forcé d'une stratégie qui permet de déployer des images non conformes tout en consignant des informations sur le non-respect des règles et sur le déploiement dans le journal d'audit. Le mode de simulation vous permet de tester une stratégie dans votre environnement de production avant son entrée en vigueur.
L'exemple suivant montre comment autoriser le déploiement de toutes les images non conformes en mode de simulation.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: DRYRUN_AUDIT_LOG_ONLY requireAttestationsBy: - projects/example-project/attestors/secure-build
Ici, la règle par défaut présente un mode d'application (enforcementMode
) défini sur DRYRUN_AUDIT_LOG_ONLY
, ce qui permet le déploiement d'images qui n'ont pas été autorisées par le certificateur spécifié, tout en consignant des informations sur le déploiement non conforme dans le journal d'audit.
Utiliser une règle spécifique à un cluster
Les exemples suivants montrent une règle spécifique à un cluster qui ne permet de déployer que des images de conteneurs autorisées par les certificateurs spécifiés :
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG clusterAdmissionRules: us-east1-a.prod-cluster: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/example-project/attestors/secure-build - projects/example-project/attestors/prod-qualified
Ici, la règle spécifique à un cluster ne s'applique qu'aux images de conteneurs déployées dans le cluster us-east1-a.prod-cluster
. La règle nécessite une attestation de deux certificateurs avant d'autoriser le déploiement d'une image.
Ajouter des images exclues
L'exemple suivant montre comment ajouter à la liste des images exclues de la stratégie des chemins d'accès supplémentaires vers Container Registry ou un autre registre :
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE admissionWhitelistPatterns: - namePattern: gcr.io/example-project-1/* - namePattern: gcr.io/example-project-2/my-app defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Ici, les chemins d'accès correspondant à des images supplémentaires exclues sont gcr.io/example-project-1/*
et gcr.io/example-project-2/my-app
.