Aller au contenu principal

Quiz Module 9 - Sécurité et RBAC

Instructions​

Ce quiz contient 30 questions à choix multiples.


Question 1​

Que signifie RBAC dans Kubernetes?

Voir l'explication

Réponse correcte: Role-Based Access Control

Explication: RBAC est le mécanisme d'autorisation de Kubernetes qui contrôle qui peut faire quoi dans le cluster via des rôles et bindings.


Question 2​

Qu'est-ce qu'un Role dans RBAC?

Voir l'explication

Réponse correcte: Une collection de permissions qui s'applique à un namespace spécifique

Explication: Un Role définit un ensemble de permissions (verbs) sur des ressources dans un namespace spécifique. Un ClusterRole s'applique à tout le cluster.


Question 3​

Qu'est-ce qu'un RoleBinding?

Voir l'explication

Réponse correcte: Une ressource qui lie un Role à un utilisateur, groupe, ou ServiceAccount dans un namespace

Explication: Un RoleBinding associe un Role (ou ClusterRole) à des sujets (utilisateurs, groupes, ServiceAccounts) dans un namespace spécifique.


Question 4​

Quelle est la différence entre un Role et un ClusterRole?

Voir l'explication

Réponse correcte: Un Role s'applique à un namespace, un ClusterRole s'applique à tout le cluster

Explication: Les Roles sont limités à un namespace, tandis que les ClusterRoles peuvent définir des permissions sur des ressources au niveau du cluster (nodes, PVs, etc.).


Question 5​

Qu'est-ce qu'un ServiceAccount?

Voir l'explication

Réponse correcte: Une identité pour les Pods qui s'exécutent dans le cluster

Explication: Un ServiceAccount fournit une identité pour les Pods, permettant l'authentification et l'autorisation lors de l'accès à l'API Server.


Question 6​

Quels sont les verbs (actions) principaux dans RBAC?

Voir l'explication

Réponse correcte: get, list, create, update, patch, delete, watch

Explication: Les verbs principaux dans RBAC sont get (lire un objet), list (lister), create, update, patch (modifier), delete, et watch (surveiller les changements).


Question 7​

Quelle est la commande pour voir les Roles?

Voir l'explication

Réponse correcte: kubectl get roles

Explication: kubectl get roles affiche tous les Roles dans le namespace actuel. Utilisez -A pour tous les namespaces.


Question 8​

Qu'est-ce qu'un ClusterRoleBinding?

Voir l'explication

Réponse correcte: Une ressource qui lie un ClusterRole à un utilisateur, groupe, ou ServiceAccount au niveau du cluster

Explication: Un ClusterRoleBinding associe un ClusterRole à des sujets au niveau du cluster, leur donnant des permissions sur tout le cluster.


Question 9​

Quelle est la commande pour tester les permissions d'un utilisateur?

Voir l'explication

Réponse correcte: kubectl auth can-i [verb] [resource] --as=[user] ou kubectl auth can-i --list

Explication: kubectl auth can-i permet de vérifier si un utilisateur peut effectuer une action spécifique. --list affiche toutes les permissions.


Question 10​

Qu'est-ce qu'un Pod Security Standard (PSS)?

Voir l'explication

Réponse correcte: Des politiques de sécurité prédéfinies (privileged, baseline, restricted) pour les Pods

Explication: Les Pod Security Standards définissent trois niveaux de sécurité pour les Pods: privileged (tout permis), baseline (restrictions minimales), et restricted (restrictions maximales).


Question 11​

Quelle est la commande pour voir les ServiceAccounts?

Voir l'explication

Réponse correcte: kubectl get serviceaccounts

Explication: kubectl get serviceaccounts (ou sa) affiche tous les ServiceAccounts dans le namespace actuel.


Question 12​

Qu'est-ce qu'une Network Policy?

Voir l'explication

Réponse correcte: Une ressource qui définit les règles de communication réseau entre les Pods

Explication: Les Network Policies agissent comme un pare-feu au niveau du cluster, contrôlant le trafic entrant et sortant des Pods basé sur des sélecteurs.


Question 13​

Quelle est la différence entre un RoleBinding et un ClusterRoleBinding?

Voir l'explication

Réponse correcte: RoleBinding lie un Role dans un namespace, ClusterRoleBinding lie un ClusterRole au niveau du cluster

Explication: Les RoleBindings sont limités à un namespace, tandis que les ClusterRoleBindings s'appliquent à tout le cluster.


Question 14​

Qu'est-ce qu'un imagePullSecret?

Voir l'explication

Réponse correcte: Un Secret utilisé par un Pod pour s'authentifier auprès d'un registre Docker privé

Explication: imagePullSecrets permet aux Pods de tirer des images depuis des registres privés en fournissant les credentials d'authentification.


Question 15​

Quelle est la commande pour voir les ClusterRoles?

Voir l'explication

Réponse correcte: kubectl get clusterroles

Explication: kubectl get clusterroles affiche tous les ClusterRoles qui s'appliquent à tout le cluster.


Question 16​

Qu'est-ce que le principe du moindre privilège dans RBAC?

Voir l'explication

Réponse correcte: Donner uniquement les permissions minimales nécessaires pour accomplir une tâche

Explication: Le principe du moindre privilège est une bonne pratique de sécurité qui consiste à accorder uniquement les permissions strictement nécessaires, réduisant la surface d'attaque.


Question 17​

Quelle est la commande pour voir les RoleBindings?

Voir l'explication

Réponse correcte: kubectl get rolebindings

Explication: kubectl get rolebindings (ou rb) affiche tous les RoleBindings dans le namespace actuel.


Question 18​

Qu'est-ce qu'un Pod Security Admission (PSA)?

Voir l'explication

Réponse correcte: Un Admission Controller qui applique les Pod Security Standards aux Pods

Explication: Pod Security Admission est un Admission Controller intégré qui applique automatiquement les Pod Security Standards (privileged, baseline, restricted) aux Pods.


Question 19​

Quelle est la différence entre allow, audit, et warn dans Pod Security Standards?

Voir l'explication

Réponse correcte: allow autorise, audit enregistre les violations, warn avertit mais autorise

Explication: allow autorise les Pods conformes, audit enregistre les violations dans les logs, warn affiche un avertissement mais autorise quand même.


Question 20​

Qu'est-ce qu'un Network Policy avec policyTypes: Ingress?

Voir l'explication

Réponse correcte: Une Network Policy qui contrôle uniquement le trafic entrant vers les Pods sélectionnés

Explication: policyTypes définit quels types de trafic sont contrôlés: Ingress (entrant), Egress (sortant), ou les deux.


Question 21​

Quelle est la commande pour créer un ServiceAccount?

Voir l'explication

Réponse correcte: kubectl create serviceaccount [name]

Explication: kubectl create serviceaccount crée un nouveau ServiceAccount dans le namespace actuel.


Question 22​

Qu'est-ce qu'un Role avec resourceNames?

Voir l'explication

Réponse correcte: Un Role qui limite les permissions à des ressources spécifiques par nom

Explication: resourceNames permet de restreindre les permissions à des ressources spécifiques par leur nom, offrant un contrôle granulaire.


Question 23​

Quelle est la bonne pratique pour les ServiceAccounts?

Voir l'explication

Réponse correcte: Créer un ServiceAccount dédié pour chaque application avec des permissions minimales

Explication: Chaque application devrait avoir son propre ServiceAccount avec uniquement les permissions nécessaires, suivant le principe du moindre privilège.


Question 24​

Qu'est-ce qu'un Network Policy avec from et to?

Voir l'explication

Réponse correcte: Une Network Policy qui spécifie les sources (from) et destinations (to) autorisées pour le trafic

Explication: from définit les sources autorisées pour le trafic entrant, to définit les destinations autorisées pour le trafic sortant.


Question 25​

Quelle est la commande pour voir les ClusterRoleBindings?

Voir l'explication

Réponse correcte: kubectl get clusterrolebindings

Explication: kubectl get clusterrolebindings affiche tous les ClusterRoleBindings qui s'appliquent à tout le cluster.


Question 26​

Qu'est-ce qu'un Role avec apiGroups?

Voir l'explication

Réponse correcte: Un Role qui spécifie les groupes d'API Kubernetes auxquels les permissions s'appliquent

Explication: apiGroups permet de spécifier quels groupes d'API sont concernés (par exemple: "", "apps", "networking.k8s.io").


Question 27​

Quelle est la différence entre un Network Policy avec et sans règles?

Voir l'explication

Réponse correcte: Sans règles, tous les trafics sont bloqués. Avec règles, seuls les trafics spécifiés sont autorisés.

Explication: Par défaut, les Network Policies bloquent tout le trafic. Les règles définissent explicitement quels trafics sont autorisés (whitelist approach).


Question 28​

Qu'est-ce qu'un Role avec verbs: ["*"]?

Voir l'explication

Réponse correcte: Un Role qui accorde toutes les actions (get, list, create, update, patch, delete, watch)

Explication: Le wildcard "*" dans verbs accorde toutes les actions possibles sur les ressources spécifiées, à utiliser avec précaution.


Question 29​

Quelle est la bonne pratique pour les Network Policies?

Voir l'explication

Réponse correcte: Appliquer le principe du moindre privilège, autoriser uniquement le trafic nécessaire

Explication: Les Network Policies devraient suivre le principe du moindre privilège, autorisant uniquement le trafic strictement nécessaire entre les Pods.


Question 30​

Quelle est la commande pour voir les permissions d'un ServiceAccount?

Voir l'explication

Réponse correcte: kubectl describe serviceaccount [name] et kubectl get rolebindings,clusterrolebindings pour voir les bindings

Explication: Pour voir les permissions d'un ServiceAccount, examinez les RoleBindings et ClusterRoleBindings qui le référencent, puis les Roles/ClusterRoles associés.


Résultat du Quiz​

Félicitations pour avoir complété le quiz du Module 9!

Score:

  • 25-30 bonnes réponses: Excellent! Vous maîtrisez la sécurité et RBAC.
  • 20-24 bonnes réponses: Très bien! Revoyez les concepts où vous avez eu des difficultés.
  • 15-19 bonnes réponses: Bien! Revoyez les chapitres sur RBAC et la sécurité.
  • Moins de 15: Recommandé de revoir le module avant de continuer.

Quiz créé le: Décembre 2024