|
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. |
Distribution des stratégies
Les stratégies SUSE Security Admission Controller sont des binaires WebAssembly (Wasm) évalués par le serveur de stratégie Admission Controller.
Le Admission Controller serveur de stratégie charge les stratégies à partir de ces sources :
-
Système de fichiers local
-
Serveur HTTP(s)
-
Registres conformes à l’OCI :
Admission Controller recommande de distribuer les stratégies Admission Controller via un registre conforme à l’OCI. Les registres de conteneurs sont une exigence obligatoire pour tout cluster Kubernetes. Avoir un seul endroit pour stocker et sécuriser tous les artefacts requis par un cluster est bénéfique.
Pousser les stratégies vers un registre conforme à l’OCI
La spécification du format d’image OCI permet de stocker tout blob binaire à l’intérieur d’un registre de conteneurs conforme à l’OCI.
Le registre conforme à l’OCI doit prendre en charge les artefacts pour pouvoir y pousser avec succès une Admission Controller stratégie.
Vous pouvez utiliser kwctl CLI pour pousser une Admission Controller stratégie vers un registre conforme à l’OCI.
Annotation de la stratégie
Vous annotez également une stratégie avec kwctl. L’annotation d’une stratégie Admission Controller se fait en ajoutant des sections personnalisées Wasm au binaire de la stratégie. Cela signifie que la stratégie emballe ses propres métadonnées.
La commande kwctl annotate nécessite deux entrées :
-
la stratégie Admission Controller à annoter, un fichier local dans le système de fichiers.
-
le fichier d’annotations, un fichier contenant une description YAML des métadonnées de la stratégie. Ce fichier se trouve généralement dans le répertoire racine du projet de votre stratégie.
Par exemple, vous pouvez enregistrer ce fichier sous le nom metadata.yml dans le répertoire courant :
rules:
- apiGroups: ["*"]
apiVersions: ["*"]
resources: ["*"]
operations: ["*"]
mutating: false
annotations:
io.kubewarden.policy.title: palindromify
io.kubewarden.policy.version: 0.1.0
io.kubewarden.policy.description: Allows you to reject palindrome names in resources and namespace names, or to only accept palindrome names
io.kubewarden.policy.author: Name Surname <name.surname@example.com>
io.kubewarden.policy.url: https://github.com/<org>/palindromify
io.kubewarden.policy.source: https://github.com/<org>/palindromify
io.kubewarden.policy.license: Apache-2.0
io.kubewarden.policy.usage: |
This is markdown text and as such allows you to define a free form usage text.
This policy allows you to reject requests if:
- The name of the resource is a palindrome name.
- The namespace name where this resource is created has a palindrome name.
This policy accepts the following settings:
- `+invert_behavior+`: bool that inverts the policy behavior. If enabled, only palindrome names will be accepted.
Maintenant, annotons la stratégie :
$ kwctl annotate policy.wasm \
--metadata-path metadata.yml \
--output-path annotated-policy.wasm
Le processus d’annotation effectue certaines optimisations sur la stratégie, donc souvent la stratégie annotée est plus petite que l’originale. Cela dépend considérablement de l’outil utilisé pour produire l’objet Wasm original.
Utilisez kwctl inspect pour vérifier votre stratégie
|
Pousser la stratégie
Vous pouvez pousser une stratégie annotée comme ceci :
$ kwctl push annotated-policy.wasm \
<oci-registry>/kubewarden-policies/palindromify-policy:v0.0.1
Il est déconseillé de pousser des stratégies non annotées. Le serveur de stratégie utilise les métadonnées fournies par les annotations pour exécuter correctement une stratégie. Par défaut, kwctl push refuse de pousser une telle stratégie vers un registre OCI. Si vous avez besoin d’une stratégie non annotée, utilisez l’option --force de kwctl push.
Vous pouvez faire référence à une stratégie depuis le Admission Controller serveur de stratégie ou kwctl en tant que registry://<oci-registry>/kubewarden-policies/palindromify-policy:v0.0.1.