15.2. A propos des valeurs de contraintes de contexte de sécurité pré-allouées
Le contrôleur d'admission est conscient de certaines conditions dans les contraintes du contexte de sécurité (SCC) qui l'amènent à rechercher des valeurs pré-allouées à partir d'un espace de noms et à remplir le SCC avant de traiter le module. Chaque stratégie SCC est évaluée indépendamment des autres stratégies, les valeurs pré-allouées, lorsqu'elles sont autorisées, pour chaque politique étant agrégées avec les valeurs de spécification du pod afin d'obtenir les valeurs finales pour les différents ID définis dans le pod en cours d'exécution.
Les SCC suivants amènent le contrôleur d'admission à rechercher des valeurs pré-allouées lorsqu'aucune plage n'est définie dans la spécification du pod :
-
Une stratégie
RunAsUserdeMustRunAsRangesans minimum ni maximum. Admission recherche l'annotationopenshift.io/sa.scc.uid-rangepour remplir les champs de l'intervalle. -
Une stratégie
SELinuxContextdeMustRunAssans niveau défini. Admission recherche l'annotationopenshift.io/sa.scc.mcspour remplir le niveau. -
Une stratégie
FSGroupdeMustRunAs. L'admission recherche l'annotationopenshift.io/sa.scc.supplemental-groups. -
Une stratégie
SupplementalGroupsdeMustRunAs. L'admission recherche l'annotationopenshift.io/sa.scc.supplemental-groups.
Pendant la phase de génération, le fournisseur de contexte de sécurité utilise des valeurs par défaut pour toutes les valeurs de paramètres qui ne sont pas spécifiquement définies dans le pod. Les valeurs par défaut sont basées sur la stratégie sélectionnée :
-
RunAsAnyetMustRunAsNonRootne fournissent pas de valeurs par défaut. Si le module a besoin d'une valeur de paramètre, telle qu'un identifiant de groupe, vous devez définir la valeur dans la spécification du module. -
MustRunAs(valeur unique) fournissent une valeur par défaut qui est toujours utilisée. Par exemple, pour les ID de groupe, même si la spécification du pod définit sa propre valeur d'ID, la valeur du paramètre par défaut de l'espace de noms apparaît également dans les groupes du pod. -
MustRunAsRangeetMustRunAs(basées sur une fourchette) fournissent la valeur minimale de la fourchette. Comme pour la stratégieMustRunAsà valeur unique, la valeur par défaut du paramètre de l'espace de noms apparaît dans le pod en cours d'exécution. Si une stratégie basée sur une plage est configurable avec plusieurs plages, elle fournit la valeur minimale de la première plage configurée.
FSGroup et SupplementalGroups reviennent à l'annotation openshift.io/sa.scc.uid-range si l'annotation openshift.io/sa.scc.supplemental-groups n'existe pas pour l'espace de noms. Si aucune des deux n'existe, le CCN n'est pas créé.
Par défaut, la stratégie FSGroup basée sur l'annotation se configure avec une seule plage basée sur la valeur minimale de l'annotation. Par exemple, si votre annotation est 1/3, la stratégie FSGroup se configure avec une valeur minimale et maximale de 1. Si vous voulez permettre à davantage de groupes d'être acceptés pour le champ FSGroup, vous pouvez configurer un CSC personnalisé qui n'utilise pas l'annotation.
L'annotation openshift.io/sa.scc.supplemental-groups accepte une liste de blocs délimitée par des virgules au format <start>/<length ou <start>-<end>. L'annotation openshift.io/sa.scc.uid-range n'accepte qu'un seul bloc.