OpenShift - Missing Service Account

Compte de service manquant

Il arrive que le cluster soit déployé avec un modèle préconfiguré qui définit automatiquement les rôles, les liaisons de rôles et même les SCC pour un compte de service qui n'a pas encore été créé. Cela peut entraîner une élévation de privilèges dans le cas où vous pouvez les créer. Dans ce cas, vous seriez en mesure d'obtenir le jeton du SA nouvellement créé ainsi que le rôle ou le SCC associé. Le même cas se produit lorsque le SA manquant fait partie d'un projet manquant, dans ce cas, si vous pouvez créer le projet puis le SA, vous obtenez les rôles et SCC associés.

Dans le graphique précédent, nous avons plusieurs AbsentProject signifiant plusieurs projets qui apparaissent dans les liaisons de rôles ou les SCC mais qui ne sont pas encore créés dans le cluster. De la même manière, nous avons également un AbsentServiceAccount.

Si nous pouvons créer un projet et le SA manquant dedans, le SA héritera du rôle ou du SCC qui ciblaient l'AbsentServiceAccount. Ce qui peut entraîner une élévation de privilèges.

L'exemple suivant montre un SA manquant auquel le SCC node-exporter est accordé :

Outils

L'outil suivant peut être utilisé pour énumérer ce problème et plus généralement pour cartographier un cluster OpenShift :

Last updated