Quiz Módulo 9 - Segurança e RBAC
Instruções
Este quiz contém 30 questões de múltipla escolha.
Questão 1
O que significa RBAC no Kubernetes?
Ver explicação
Resposta correta: Role-Based Access Control
Explicação: RBAC é o mecanismo de autorização do Kubernetes que controla quem pode fazer o quê no cluster por meio de roles e bindings.
Questão 2
O que é um Role no RBAC?
Ver explicação
Resposta correta: Uma coleção de permissões que se aplica a um namespace específico
Explicação: Um Role define um conjunto de permissões (verbs) sobre recursos em um namespace específico. Um ClusterRole se aplica a todo o cluster.
Questão 3
O que é um RoleBinding?
Ver explicação
Resposta correta: Um recurso que vincula um Role a um usuário, grupo ou ServiceAccount em um namespace
Explicação: Um RoleBinding associa um Role (ou ClusterRole) a sujeitos (usuários, grupos, ServiceAccounts) em um namespace específico.
Questão 4
Qual a diferença entre um Role e um ClusterRole?
Ver explicação
Resposta correta: Um Role se aplica a um namespace, um ClusterRole se aplica a todo o cluster
Explicação: Roles são limitados a um namespace, enquanto ClusterRoles podem definir permissões em recursos no nível do cluster (nodes, PVs, etc.).
Questão 5
O que é um ServiceAccount?
Ver explicação
Resposta correta: Uma identidade para os Pods que rodam no cluster
Explicação: Um ServiceAccount fornece uma identidade para os Pods, permitindo autenticação e autorização ao acessar o API Server.
Questão 6
Quais são os principais verbs (ações) no RBAC?
Ver explicação
Resposta correta: get, list, create, update, patch, delete, watch
Explicação: Os principais verbs no RBAC são get (ler um objeto), list (listar), create, update, patch (modificar), delete e watch (monitorar mudanças).
Questão 7
Qual é o comando para ver os Roles?
Ver explicação
Resposta correta: kubectl get roles
Explicação: kubectl get roles exibe todos os Roles no namespace atual. Use -A para todos os namespaces.
Questão 8
O que é um ClusterRoleBinding?
Ver explicação
Resposta correta: Um recurso que vincula um ClusterRole a um usuário, grupo ou ServiceAccount no nível do cluster
Explicação: Um ClusterRoleBinding associa um ClusterRole a sujeitos no nível do cluster, concedendo permissões em todo o cluster.
Questão 9
Qual é o comando para testar as permissões de um usuário?
Ver explicação
Resposta correta: kubectl auth can-i [verb] [resource] --as=[user] ou kubectl auth can-i --list
Explicação: kubectl auth can-i permite verificar se um usuário pode executar uma ação específica. --list exibe todas as permissões.
Questão 10
O que é um Pod Security Standard (PSS)?
Ver explicação
Resposta correta: Políticas de segurança predefinidas (privileged, baseline, restricted) para Pods
Explicação: Os Pod Security Standards definem três níveis de segurança para Pods: privileged (tudo permitido), baseline (restrições mínimas) e restricted (restrições máximas).
Questão 11
Qual é o comando para ver os ServiceAccounts?
Ver explicação
Resposta correta: kubectl get serviceaccounts
Explicação: kubectl get serviceaccounts (ou sa) exibe todos os ServiceAccounts no namespace atual.
Questão 12
O que é uma Network Policy?
Ver explicação
Resposta correta: Um recurso que define regras de comunicação de rede entre Pods
Explicação: Network Policies atuam como um firewall no nível do cluster, controlando o tráfego de entrada e saída dos Pods com base em seletores.
Questão 13
Qual a diferença entre um RoleBinding e um ClusterRoleBinding?
Ver explicação
Resposta correta: RoleBinding vincula um Role em um namespace, ClusterRoleBinding vincula um ClusterRole no nível do cluster
Explicação: RoleBindings são limitados a um namespace, enquanto ClusterRoleBindings se aplicam a todo o cluster.
Questão 14
O que é um imagePullSecret?
Ver explicação
Resposta correta: Um Secret usado por um Pod para autenticar em um registro Docker privado
Explicação: imagePullSecrets permite que Pods puxem imagens de registros privados fornecendo as credenciais de autenticação.
Questão 15
Qual é o comando para ver os ClusterRoles?
Ver explicação
Resposta correta: kubectl get clusterroles
Explicação: kubectl get clusterroles exibe todos os ClusterRoles que se aplicam a todo o cluster.
Questão 16
O que é o princípio do menor privilégio no RBAC?
Ver explicação
Resposta correta: Conceder apenas as permissões mínimas necessárias para realizar uma tarefa
Explicação: O princípio do menor privilégio é uma boa prática de segurança que consiste em conceder apenas as permissões estritamente necessárias, reduzindo a superfície de ataque.
Questão 17
Qual é o comando para ver os RoleBindings?
Ver explicação
Resposta correta: kubectl get rolebindings
Explicação: kubectl get rolebindings (ou rb) exibe todos os RoleBindings no namespace atual.
Questão 18
O que é um Pod Security Admission (PSA)?
Ver explicação
Resposta correta: Um Admission Controller que aplica os Pod Security Standards aos Pods
Explicação: Pod Security Admission é um Admission Controller integrado que aplica automaticamente os Pod Security Standards (privileged, baseline, restricted) aos Pods.
Questão 19
Qual a diferença entre allow, audit e warn nos Pod Security Standards?
Ver explicação
Resposta correta: allow autoriza, audit registra as violações, warn alerta mas autoriza
Explicação: allow autoriza Pods conformes, audit registra violações nos logs, warn exibe um alerta mas ainda autoriza.
Questão 20
O que é uma Network Policy com policyTypes: Ingress?
Ver explicação
Resposta correta: Uma Network Policy que controla apenas o tráfego de entrada para os Pods selecionados
Explicação: policyTypes define quais tipos de tráfego são controlados: Ingress (entrada), Egress (saída) ou ambos.
Questão 21
Qual é o comando para criar um ServiceAccount?
Ver explicação
Resposta correta: kubectl create serviceaccount [name]
Explicação: kubectl create serviceaccount cria um novo ServiceAccount no namespace atual.
Questão 22
O que é um Role com resourceNames?
Ver explicação
Resposta correta: Um Role que limita as permissões a recursos específicos por nome
Explicação: resourceNames permite restringir as permissões a recursos específicos pelo nome, oferecendo controle granular.
Questão 23
Qual é a boa prática para ServiceAccounts?
Ver explicação
Resposta correta: Criar um ServiceAccount dedicado para cada aplicação com permissões mínimas
Explicação: Cada aplicação deve ter seu próprio ServiceAccount com apenas as permissões necessárias, seguindo o princípio do menor privilégio.
Questão 24
O que é uma Network Policy com from e to?
Ver explicação
Resposta correta: Uma Network Policy que especifica as fontes (from) e destinos (to) permitidos para o tráfego
Explicação: from define as fontes permitidas para o tráfego de entrada, to define os destinos permitidos para o tráfego de saída.
Questão 25
Qual é o comando para ver os ClusterRoleBindings?
Ver explicação
Resposta correta: kubectl get clusterrolebindings
Explicação: kubectl get clusterrolebindings exibe todos os ClusterRoleBindings que se aplicam a todo o cluster.
Questão 26
O que é um Role com apiGroups?
Ver explicação
Resposta correta: Um Role que especifica os grupos de API do Kubernetes aos quais as permissões se aplicam
Explicação: apiGroups permite especificar quais grupos de API são afetados (por exemplo: "", "apps", "networking.k8s.io").
Questão 27
Qual a diferença entre uma Network Policy com e sem regras?
Ver explicação
Resposta correta: Sem regras, todo o tráfego é bloqueado. Com regras, apenas os tráfegos especificados são permitidos.
Explicação: Por padrão, Network Policies bloqueiam todo o tráfego. As regras definem explicitamente quais tráfegos são permitidos (abordagem whitelist).
Questão 28
O que é um Role com verbs: ["*"]?
Ver explicação
Resposta correta: Um Role que concede todas as ações (get, list, create, update, patch, delete, watch)
Explicação: O wildcard "*" em verbs concede todas as ações possíveis sobre os recursos especificados, devendo ser usado com cautela.
Questão 29
Qual é a boa prática para Network Policies?
Ver explicação
Resposta correta: Aplicar o princípio do menor privilégio, permitindo apenas o tráfego necessário
Explicação: As Network Policies devem seguir o princípio do menor privilégio, permitindo apenas o tráfego estritamente necessário entre os Pods.
Questão 30
Qual é o comando para ver as permissões de um ServiceAccount?
Ver explicação
Resposta correta: kubectl describe serviceaccount [name] e kubectl get rolebindings,clusterrolebindings para ver os bindings
Explicação: Para ver as permissões de um ServiceAccount, examine os RoleBindings e ClusterRoleBindings que o referenciam, depois os Roles/ClusterRoles associados.
Resultado do Quiz
Parabéns por completar o quiz do Módulo 9!
Pontuação:
- 25-30 respostas corretas: Excelente! Você domina segurança e RBAC.
- 20-24 respostas corretas: Muito bom! Reveja os conceitos onde teve dificuldades.
- 15-19 respostas corretas: Bom! Revise os capítulos sobre RBAC e segurança.
- Menos de 15: Recomendado revisar o módulo antes de continuar.
Quiz criado em: Dezembro 2024