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-group
En option, vous pouvez supprimer des capacités spécifiques pour un SCC en définissant le champ
requiredDropCapabilities
avec 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_CHROOT
NoteVous ne pouvez pas répertorier une capacité à la fois sur
allowedCapabilities
et 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.yaml
Exemple de sortie
securitycontextconstraints "scc-admin" created
Vérification
Vérifiez que le SCC a été créé :
$ oc get scc scc-admin
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]