|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
|
Il s'agit d'une documentation non publiée pour Admission Controller 1.34-dev. |
Créez et exécutez une stratégie Gatekeeper
Vous pouvez créer et exécuter la stratégie exactement de la même manière qu’une stratégie Rego ciblant Open Policy Agent. La structure de votre projet est :
. ├── data │ ├── default-ns.json │ └── other-ns.json └── policy.rego 1 directory, 3 files
Créez
Créez la stratégie en exécutant la commande opa :
$ opa build -t wasm -e policy/violation policy.rego
Cela construit la stratégie Rego, avec :
-
target:wasm. Nous voulons créer la stratégie pour la ciblewasm. -
entrypoint:policy/violation. Le point d’entrée est la règleviolationà l’intérieur du paquetpolicy. -
policy.rego: créez et incluez le fichierpolicy.rego.
La commande précédente génère un fichier bundle.tar.gz.
Vous pouvez en extraire le module Wasm :
$ tar -xf bundle.tar.gz /policy.wasm
L’arborescence du projet ressemble à ce qui suit :
. ├── bundle.tar.gz ├── data │ ├── default-ns.json │ └── other-ns.json ├── policy.rego └── policy.wasm 1 directory, 5 files
Vous pouvez maintenant exécuter votre stratégie.
Exécutez :
Utilisez kwctl pour exécuter votre stratégie comme suit:
$ kwctl run -e gatekeeper --request-path data/other-ns.json policy.wasm | jq
{
"uid": "1299d386-525b-4032-98ae-1949f69f9cfc",
"allowed": true
}
Ceci est votre ressource créée dans l’espace de noms appelé other, elle est acceptée, comme prévu.
Vous pouvez maintenant exécuter une demande qui est rejetée par la stratégie :
$ kwctl run -e gatekeeper --request-path data/default-ns.json policy.wasm | jq
{
"uid": "1299d386-525b-4032-98ae-1949f69f9cfc",
"allowed": false,
"status": {
"message": "it is forbidden to use the default namespace"
}
}
Vous pouvez voir que votre stratégie Gatekeeper a rejeté cette ressource.