13.5. Configuration d’une charge de travail pour nécessiter un SCC spécifique
Il est possible de configurer une charge de travail pour exiger une certaine contrainte contextuelle de sécurité (SCC). Ceci est utile dans les scénarios où vous souhaitez épingler un CSC spécifique à la charge de travail ou si vous voulez empêcher votre CSC requis d’être préempté par un autre CSC dans le cluster.
Afin d’exiger un SCC spécifique, définissez l’annotation openshift.io/required-scc sur votre charge de travail. Cette annotation peut être définie sur n’importe quelle ressource pouvant définir un modèle de manifeste de pod, tel qu’un déploiement ou un jeu de démons.
La CSC doit exister dans le cluster et doit s’appliquer à la charge de travail, sinon l’admission de pod échoue. Le SCC est considéré comme applicable à la charge de travail si l’utilisateur qui crée le pod ou le compte de service du pod utilise des autorisations pour le SCC dans l’espace de noms du pod.
Il ne faut pas modifier l’annotation openshift.io/requis-scc dans le manifeste de la gousse vivante, car cela provoque l’échec de l’admission de la gousse. Afin de modifier le SCC requis, mettre à jour l’annotation dans le modèle de pod sous-jacent, ce qui entraîne la suppression et la recréation de la pod.
Conditions préalables
- La CSC doit exister dans le cluster.
Procédure
Créez un fichier YAML pour le déploiement et spécifiez un SCC requis en définissant l’annotation openshift.io/required-scc:
Exemple de déploiement.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le nom de la CSC à exiger.
Créez la ressource en exécutant la commande suivante:
oc create -f deployment.yaml
$ oc create -f deployment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
La vérification
Assurez-vous que le déploiement a utilisé le SCC spécifié:
Afficher la valeur de l’annotation openshift.io/scc du pod en exécutant la commande suivante:
oc get pod <pod_name> -o jsonpath='{.metadata.annotations.openshift\.io\/scc}{"\n"}'
$ oc get pod <pod_name> -o jsonpath='{.metadata.annotations.openshift\.io\/scc}{"\n"}'
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <pod_name> par le nom de votre pod de déploiement.
Examinez la sortie et confirmez que le SCC affiché correspond au CCN que vous avez défini dans le déploiement:
Exemple de sortie
my-scc
my-scc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow