Skip to main content

Quiz Module 9 - Security and RBAC

Instructions​

This quiz contains 30 multiple-choice questions.


Question 1​

What does RBAC stand for in Kubernetes?

Show explanation

Correct answer: Role-Based Access Control

Explanation: RBAC is the Kubernetes authorization mechanism that controls who can do what in the cluster through roles and bindings.


Question 2​

What is a Role in RBAC?

Show explanation

Correct answer: A collection of permissions that applies to a specific namespace

Explanation: A Role defines a set of permissions (verbs) on resources within a specific namespace. A ClusterRole applies to the entire cluster.


Question 3​

What is a RoleBinding?

Show explanation

Correct answer: A resource that binds a Role to a user, group, or ServiceAccount within a namespace

Explanation: A RoleBinding associates a Role (or ClusterRole) with subjects (users, groups, ServiceAccounts) within a specific namespace.


Question 4​

What is the difference between a Role and a ClusterRole?

Show explanation

Correct answer: A Role applies to a namespace, a ClusterRole applies to the entire cluster

Explanation: Roles are limited to a namespace, while ClusterRoles can define permissions on cluster-level resources (nodes, PVs, etc.).


Question 5​

What is a ServiceAccount?

Show explanation

Correct answer: An identity for Pods running in the cluster

Explanation: A ServiceAccount provides an identity for Pods, enabling authentication and authorization when accessing the API Server.


Question 6​

What are the main verbs (actions) in RBAC?

Show explanation

Correct answer: get, list, create, update, patch, delete, watch

Explanation: The main verbs in RBAC are get (read an object), list (list), create, update, patch (modify), delete, and watch (monitor changes).


Question 7​

What is the command to view Roles?

Show explanation

Correct answer: kubectl get roles

Explanation: kubectl get roles displays all Roles in the current namespace. Use -A for all namespaces.


Question 8​

What is a ClusterRoleBinding?

Show explanation

Correct answer: A resource that binds a ClusterRole to a user, group, or ServiceAccount at the cluster level

Explanation: A ClusterRoleBinding associates a ClusterRole with subjects at the cluster level, granting them permissions across the entire cluster.


Question 9​

What is the command to test a user's permissions?

Show explanation

Correct answer: kubectl auth can-i [verb] [resource] --as=[user] or kubectl auth can-i --list

Explanation: kubectl auth can-i allows you to check if a user can perform a specific action. --list displays all permissions.


Question 10​

What is a Pod Security Standard (PSS)?

Show explanation

Correct answer: Predefined security policies (privileged, baseline, restricted) for Pods

Explanation: Pod Security Standards define three security levels for Pods: privileged (everything allowed), baseline (minimal restrictions), and restricted (maximum restrictions).


Question 11​

What is the command to view ServiceAccounts?

Show explanation

Correct answer: kubectl get serviceaccounts

Explanation: kubectl get serviceaccounts (or sa) displays all ServiceAccounts in the current namespace.


Question 12​

What is a Network Policy?

Show explanation

Correct answer: A resource that defines network communication rules between Pods

Explanation: Network Policies act as a cluster-level firewall, controlling incoming and outgoing Pod traffic based on selectors.


Question 13​

What is the difference between a RoleBinding and a ClusterRoleBinding?

Show explanation

Correct answer: RoleBinding binds a Role within a namespace, ClusterRoleBinding binds a ClusterRole at the cluster level

Explanation: RoleBindings are limited to a namespace, while ClusterRoleBindings apply to the entire cluster.


Question 14​

What is an imagePullSecret?

Show explanation

Correct answer: A Secret used by a Pod to authenticate with a private Docker registry

Explanation: imagePullSecrets allow Pods to pull images from private registries by providing authentication credentials.


Question 15​

What is the command to view ClusterRoles?

Show explanation

Correct answer: kubectl get clusterroles

Explanation: kubectl get clusterroles displays all ClusterRoles that apply to the entire cluster.


Question 16​

What is the principle of least privilege in RBAC?

Show explanation

Correct answer: Grant only the minimum permissions necessary to accomplish a task

Explanation: The principle of least privilege is a security best practice that consists of granting only the strictly necessary permissions, reducing the attack surface.


Question 17​

What is the command to view RoleBindings?

Show explanation

Correct answer: kubectl get rolebindings

Explanation: kubectl get rolebindings (or rb) displays all RoleBindings in the current namespace.


Question 18​

What is a Pod Security Admission (PSA)?

Show explanation

Correct answer: An Admission Controller that enforces Pod Security Standards on Pods

Explanation: Pod Security Admission is a built-in Admission Controller that automatically enforces Pod Security Standards (privileged, baseline, restricted) on Pods.


Question 19​

What is the difference between enforce, audit, and warn in Pod Security Standards?

Show explanation

Correct answer: enforce blocks non-compliant Pods, audit records violations, warn warns but allows

Explanation: enforce blocks non-compliant Pods, audit records violations in logs, warn displays a warning but still allows the Pod.


Question 20​

What is a Network Policy with policyTypes: Ingress?

Show explanation

Correct answer: A Network Policy that controls only incoming traffic to the selected Pods

Explanation: policyTypes defines which types of traffic are controlled: Ingress (incoming), Egress (outgoing), or both.


Question 21​

What is the command to create a ServiceAccount?

Show explanation

Correct answer: kubectl create serviceaccount [name]

Explanation: kubectl create serviceaccount creates a new ServiceAccount in the current namespace.


Question 22​

What is a Role with resourceNames?

Show explanation

Correct answer: A Role that limits permissions to specific resources by name

Explanation: resourceNames allows restricting permissions to specific resources by their name, providing granular control.


Question 23​

What is the best practice for ServiceAccounts?

Show explanation

Correct answer: Create a dedicated ServiceAccount for each application with minimal permissions

Explanation: Each application should have its own ServiceAccount with only the necessary permissions, following the principle of least privilege.


Question 24​

What is a Network Policy with from and to?

Show explanation

Correct answer: A Network Policy that specifies the allowed sources (from) and destinations (to) for traffic

Explanation: from defines the allowed sources for incoming traffic, to defines the allowed destinations for outgoing traffic.


Question 25​

What is the command to view ClusterRoleBindings?

Show explanation

Correct answer: kubectl get clusterrolebindings

Explanation: kubectl get clusterrolebindings displays all ClusterRoleBindings that apply to the entire cluster.


Question 26​

What is a Role with apiGroups?

Show explanation

Correct answer: A Role that specifies the Kubernetes API groups to which the permissions apply

Explanation: apiGroups allows specifying which API groups are affected (for example: "", "apps", "networking.k8s.io").


Question 27​

What is the difference between a Network Policy with and without rules?

Show explanation

Correct answer: Without rules, all traffic is blocked. With rules, only the specified traffic is allowed.

Explanation: By default, Network Policies block all traffic. Rules explicitly define which traffic is allowed (whitelist approach).


Question 28​

What is a Role with verbs: ["*"]?

Show explanation

Correct answer: A Role that grants all actions (get, list, create, update, patch, delete, watch)

Explanation: The wildcard "*" in verbs grants all possible actions on the specified resources, to be used with caution.


Question 29​

What is the best practice for Network Policies?

Show explanation

Correct answer: Apply the principle of least privilege, allow only the necessary traffic

Explanation: Network Policies should follow the principle of least privilege, allowing only the strictly necessary traffic between Pods.


Question 30​

What is the command to view the permissions of a ServiceAccount?

Show explanation

Correct answer: kubectl describe serviceaccount [name] and kubectl get rolebindings,clusterrolebindings to see the bindings

Explanation: To view a ServiceAccount's permissions, examine the RoleBindings and ClusterRoleBindings that reference it, then the associated Roles/ClusterRoles.


Quiz Results​

Congratulations on completing the Module 9 quiz!

Score:

  • 25-30 correct answers: Excellent! You have mastered security and RBAC.
  • 20-24 correct answers: Very good! Review the concepts where you had difficulties.
  • 15-19 correct answers: Good! Review the chapters on RBAC and security.
  • Less than 15: It is recommended to review the module before continuing.

Quiz created on: December 2024