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