13.4. Créer des contraintes de contexte de sécurité pour les clusters CCS
Lorsque les contraintes du contexte de sécurité par défaut (SCC) ne répondent pas aux exigences de charge de travail de votre application, vous pouvez créer un SCC personnalisé à l’aide de l’OpenShift CLI (oc).
La création et la modification de vos propres SCC sont des opérations avancées qui pourraient causer de l’instabilité à votre cluster. Contactez Red Hat Support Si vous avez des questions sur l’utilisation de vos propres CSC, contactez Red Hat Support. En savoir plus sur la prise en charge de Red Hat, consultez l’aide d’Accueil.
Dans les déploiements dédiés à OpenShift, vous pouvez créer vos propres SCC uniquement pour les clusters utilisant le modèle d’abonnement au cloud client (CCS). Il est impossible de créer des SCC pour les clusters dédiés OpenShift qui utilisent un compte cloud Red Hat, car la création de ressources SCC nécessite des privilèges d’administration de cluster.
Conditions préalables
- Installez le OpenShift CLI (oc).
- Connectez-vous au cluster en tant qu’utilisateur avec le rôle cluster-admin.
Procédure
Définissez le SCC dans un fichier YAML nommé scc-admin.yaml:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow En option, vous pouvez supprimer des capacités spécifiques pour un SCC en définissant le champ Capacités de dépôt requise avec les valeurs souhaitées. Les capacités spécifiées sont supprimées du conteneur. Afin de supprimer toutes les capacités, spécifiez TOUT. À titre d’exemple, pour créer un SCC qui laisse tomber les capacités KILL, MKNOD et SYS_CHROOT, ajoutez ce qui suit à l’objet SCC:
requiredDropCapabilities: - KILL - MKNOD - SYS_CHROOT
requiredDropCapabilities: - KILL - MKNOD - SYS_CHROOT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteIl n’est pas possible de répertorier une capacité dans les capacités autorisées et les capacités de dépôt requises.
CRI-O prend en charge la même liste de valeurs de capacités que celles que l’on trouve dans la documentation Docker.
Créer le SCC en passant dans le fichier:
oc create -f scc-admin.yaml
$ oc create -f scc-admin.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
securitycontextconstraints "scc-admin" created
securitycontextconstraints "scc-admin" created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
La vérification
Assurez-vous que le CCN a été créé:
oc get scc scc-admin
$ oc get scc scc-admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME PRIV CAPS SELINUX RUNASUSER FSGROUP SUPGROUP PRIORITY READONLYROOTFS VOLUMES scc-admin true [] RunAsAny RunAsAny RunAsAny RunAsAny <none> false [awsElasticBlockStore azureDisk azureFile cephFS cinder configMap downwardAPI emptyDir fc flexVolume flocker gcePersistentDisk gitRepo glusterfs iscsi nfs persistentVolumeClaim photonPersistentDisk quobyte rbd secret vsphere]
NAME PRIV CAPS SELINUX RUNASUSER FSGROUP SUPGROUP PRIORITY READONLYROOTFS VOLUMES scc-admin true [] RunAsAny RunAsAny RunAsAny RunAsAny <none> false [awsElasticBlockStore azureDisk azureFile cephFS cinder configMap downwardAPI emptyDir fc flexVolume flocker gcePersistentDisk gitRepo glusterfs iscsi nfs persistentVolumeClaim photonPersistentDisk quobyte rbd secret vsphere]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow