15.4. Création de contraintes de contexte de sécurité
Vous pouvez créer des contraintes de contexte de sécurité (SCC) à l'aide de la CLI OpenShift (oc).
La création et la modification de vos propres SCC sont des opérations avancées qui peuvent entraîner une instabilité de votre cluster. Si vous avez des questions concernant l'utilisation de vos propres SCC, contactez l'assistance Red Hat. Pour plus d'informations sur la manière de contacter l'assistance Red Hat, consultez Getting support.
Conditions préalables
-
Installez le CLI OpenShift (
oc). -
Connectez-vous au cluster en tant qu'utilisateur ayant le rôle
cluster-admin.
Procédure
Définir le SCC dans un fichier YAML nommé
scc-admin.yaml:kind: SecurityContextConstraints apiVersion: security.openshift.io/v1 metadata: name: scc-admin allowPrivilegedContainer: true runAsUser: type: RunAsAny seLinuxContext: type: RunAsAny fsGroup: type: RunAsAny supplementalGroups: type: RunAsAny users: - my-admin-user groups: - my-admin-groupEn option, vous pouvez supprimer des capacités spécifiques pour un SCC en définissant le champ
requiredDropCapabilitiesavec les valeurs souhaitées. Toutes les capacités spécifiées sont supprimées du conteneur. Pour supprimer toutes les capacités, indiquezALL. Par exemple, pour créer un SCC qui supprime les capacitésKILL,MKNOD, etSYS_CHROOT, ajoutez ce qui suit à l'objet SCC :requiredDropCapabilities: - KILL - MKNOD - SYS_CHROOTNoteVous ne pouvez pas répertorier une capacité à la fois sur
allowedCapabilitieset surrequiredDropCapabilities.CRI-O prend en charge la même liste de valeurs de capacités que celle figurant dans la documentation de Docker.
Créez le CCN en lui transmettant le fichier :
$ oc create -f scc-admin.yamlExemple de sortie
securitycontextconstraints "scc-admin" created
Vérification
Vérifiez que le SCC a été créé :
$ oc get scc scc-adminExemple 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]