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