Pular para o conteúdo principal

Questão de Sistemas Operacionais — Contêineres (Docker, Kubernetes, etc.) — CESPE / CEBRASPE 2024

Sistemas OperacionaisContêineres (Docker, Kubernetes, etc.)
Código
ce404154
Banca
CESPE / CEBRASPE
Órgão
TC DF
Ano
2024
Cargo
ACE ( )

Julgue o próximo item, relativos a DevOps e Kubernetes.

 

Um configmap é um objeto de API usado para armazenar dados confidenciais em pares de chave-valor e apresenta como vantagem a criptografia nativa e leve para pods.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

ConfigMap no Kubernetes

Gabarito: letra E (ERRADO). O item está incorreto porque o ConfigMap é um objeto de API do Kubernetes usado para armazenar dados não confidenciais em pares chave-valor, e não possui criptografia nativa — a criptografia de dados sensíveis é papel do Secret, outro objeto do Kubernetes. A afirmação mistura as finalidades dos dois objetos, atribuindo ao ConfigMap características que pertencem ao Secret.

O Kubernetes organiza a configuração de aplicações em dois objetos distintos, e a banca explora exatamente a confusão entre eles. O ConfigMap é projetado para armazenar dados de configuração que não são sensíveis — como variáveis de ambiente, arquivos de configuração e parâmetros de execução. Ele permite desacoplar a configuração da imagem do contêiner, facilitando a portabilidade e a gestão de ambientes (desenvolvimento, homologação, produção). Por outro lado, o Secret é o objeto destinado a armazenar dados confidenciais, como senhas, tokens e chaves de API. A diferença fundamental está na finalidade: enquanto o ConfigMap guarda dados que podem ser lidos por qualquer pessoa com acesso ao cluster, o Secret é pensado para proteger informações sensíveis.

A afirmação do item contém dois erros principais. Primeiro, diz que o ConfigMap armazena "dados confidenciais" — o que é incorreto, pois essa é a função do Secret. Segundo, afirma que o ConfigMap apresenta "criptografia nativa e leve para pods" — o que também é falso, pois o ConfigMap não possui criptografia nativa; os dados são armazenados em texto puro no etcd (o banco de dados do cluster). O Secret, por sua vez, também não tem criptografia nativa por padrão — a criptografia em repouso do etcd é uma configuração opcional que pode ser habilitada pelo administrador. Portanto, a afirmação está duplamente errada: confunde ConfigMap com Secret e atribui uma característica de segurança que nenhum dos dois possui por padrão.

Na prática, quando um desenvolvedor precisa passar uma configuração não sensível para um pod, ele cria um ConfigMap e o referencia no deployment. Por exemplo, um ConfigMap pode conter a variável LOG_LEVEL=debug ou o conteúdo de um arquivo application.properties. Já para uma senha de banco de dados, o correto é usar um Secret, que pode ser montado como volume ou injetado como variável de ambiente. A distinção é essencial para a segurança do cluster: usar ConfigMap para dados sensíveis expõe informações críticas a qualquer pessoa com acesso ao etcd ou aos logs.

A pegadinha desta questão é a inversão de papéis: o candidato que conhece superficialmente o Kubernetes pode lembrar que existe um objeto para armazenar dados de configuração, mas não distingue ConfigMap de Secret. A banca troca "não confidencial" por "confidencial" e "sem criptografia" por "com criptografia nativa", criando uma armadilha clássica. Para acertar, é preciso ter claro que ConfigMap = dados não sensíveis, Secret = dados sensíveis, e que a criptografia não é nativa em nenhum dos dois.

NÃO CAIA NESSA!

A banca inverte os papéis: atribui ao ConfigMap a função de armazenar dados confidenciais e a criptografia nativa, que são características do Secret. Lembre-se: ConfigMap é para dados não sensíveis, Secret é para dados sensíveis, e nenhum dos dois tem criptografia nativa por padrão.

Objeto

Finalidade

Dados

Criptografia nativa

ConfigMap

Configuração não sensível (variáveis, arquivos)

Não confidenciais

Não (texto puro no etcd)

Secret

Dados sensíveis (senhas, tokens, chaves)

Confidenciais

Não por padrão (criptografia em repouso é opcional)

ConfigMap vs Secret
  • 1ConfigMap
    • Dados não confidenciais
    • Sem criptografia nativa
    • Texto puro no etcd
  • 2Secret
    • Dados confidenciais
    • Sem criptografia nativa
    • Criptografia opcional no etcd
LEVEL · soulevel.com.br

Item — ❌ ERRADO

O item afirma que o ConfigMap é usado para armazenar dados confidenciais e que apresenta criptografia nativa. Isso está errado por dois motivos: (1) dados confidenciais são armazenados em Secret, não em ConfigMap; (2) o ConfigMap não possui criptografia nativa — os dados são armazenados em texto puro no etcd. A criptografia em repouso do etcd é uma configuração opcional, não uma característica nativa do ConfigMap. Portanto, a afirmação é falsa.

Gabarito: letra E (ERRADO).

Link permanente: /questoes/ce404154