15.5. Accès aux contraintes du contexte de sécurité en fonction des rôles
Vous pouvez spécifier les SCC en tant que ressources gérées par RBAC. Cela vous permet de limiter l'accès à vos SCC à un certain projet ou à l'ensemble du cluster. L'affectation d'utilisateurs, de groupes ou de comptes de service directement à un SCC conserve la portée de l'ensemble du cluster.
Vous ne pouvez pas attribuer de SCC aux pods créés dans l'un des espaces de noms par défaut : default
, kube-system
, kube-public
, openshift-node
, openshift-infra
, openshift
. Ces espaces de noms ne doivent pas être utilisés pour l'exécution de pods ou de services.
Pour inclure l'accès aux SCC dans votre rôle, spécifiez la ressource scc
lors de la création d'un rôle.
$ oc create role <role-name> --verb=use --resource=scc --resource-name=<scc-name> -n <namespace>
Il en résulte la définition de rôle suivante :
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: ... name: role-name 1 namespace: namespace 2 ... rules: - apiGroups: - security.openshift.io 3 resourceNames: - scc-name 4 resources: - securitycontextconstraints 5 verbs: 6 - use
- 1
- Le nom du rôle.
- 2
- Espace de noms du rôle défini. La valeur par défaut est
default
si elle n'est pas spécifiée. - 3
- Le groupe API qui inclut la ressource
SecurityContextConstraints
. Défini automatiquement lorsquescc
est spécifié comme ressource. - 4
- Un exemple de nom pour un CCN auquel vous voulez avoir accès.
- 5
- Nom du groupe de ressources qui permet aux utilisateurs de spécifier des noms de CSC dans le champ
resourceNames
. - 6
- Une liste de verbes à appliquer au rôle.
Un rôle local ou de groupe doté d'une telle règle permet aux sujets qui lui sont liés par une liaison de rôle ou une liaison de rôle de groupe d'utiliser le CCS défini par l'utilisateur appelé scc-name
.
Parce que RBAC est conçu pour empêcher l'escalade, même les administrateurs de projet ne sont pas en mesure d'accorder l'accès à un SCC. Par défaut, ils ne sont pas autorisés à utiliser le verbe use
sur les ressources du SCC, y compris le SCC restricted-v2
.