Acesso Seguro ao Kubernetes Dashboard

KubernetesKubernetesBeginner
Pratique Agora

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

Neste desafio, você aprimorará a segurança do seu cluster Kubernetes criando uma conta de serviço somente leitura para o Kubernetes Dashboard, demonstrando sua compreensão do Controle de Acesso Baseado em Funções (RBAC). Você criará uma nova conta de serviço, um ClusterRole com permissões de somente leitura e vinculará o ClusterRole à conta de serviço. Finalmente, você gerará um token para a conta de serviço usar no login do Dashboard.

Este é um desafio, que difere de um Lab guiado em que você precisa completar o desafio de forma independente, em vez de seguir os passos de um Lab para aprender.Desafios geralmente têm um pouco de dificuldade. Se você encontrar isso difícil, pode discutir com Labby ou verificar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 96.97%. Recebeu uma taxa de avaliações positivas de 75% dos estudantes.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/AdvancedCommandsGroup(["Advanced Commands"]) kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/BasicCommandsGroup -.-> kubernetes/create("Create") kubernetes/AdvancedCommandsGroup -.-> kubernetes/apply("Apply") subgraph Lab Skills kubernetes/get -.-> lab-434106{{"Acesso Seguro ao Kubernetes Dashboard"}} kubernetes/create -.-> lab-434106{{"Acesso Seguro ao Kubernetes Dashboard"}} kubernetes/apply -.-> lab-434106{{"Acesso Seguro ao Kubernetes Dashboard"}} end

Acesso Seguro ao Kubernetes Dashboard

Como um engenheiro DevOps júnior, você aprimorará a segurança do seu cluster Kubernetes criando uma conta de serviço somente leitura para o Kubernetes Dashboard, demonstrando sua compreensão do Controle de Acesso Baseado em Funções (RBAC).

Tarefas

  • Crie uma nova conta de serviço chamada read-only-user no namespace kubernetes-dashboard, usando o arquivo YAML fornecido
  • Crie um ClusterRole com permissões de somente leitura para o namespace padrão, permitindo operações get, list e watch em pods, services, nodes, namespaces e deployments
  • Vincule o ClusterRole à nova conta de serviço chamada read-only-user
  • Gere um token para a conta de serviço usar no login do Dashboard

Requisitos

  • Trabalhe no diretório ~/project
  • Use o namespace kubernetes-dashboard para a conta de serviço
  • Crie um arquivo YAML chamado read-only-dashboard-access.yaml
  • A conta de serviço deve ter apenas permissões de leitura
  • Limite o escopo de acesso ao namespace default

Forneça o conteúdo do arquivo YAML:

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: read-only-user
  namespace: kubernetes-dashboard

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: read-only-dashboard-role
rules:
  - apiGroups: [""]
    resources: ["pods", "services", "nodes", "namespaces", "deployments"]
    verbs: ["get", "list", "watch"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: read-only-dashboard-access
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: read-only-dashboard-role
subjects:
  - kind: ServiceAccount
    name: read-only-user
    namespace: kubernetes-dashboard

Exemplos

Exemplo de saída do token da conta de serviço:

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9...

Exemplo de visualização do Dashboard após o login:

  • Visível: Recursos do Namespace, Deployments, Pods
  • Não Visível: Operações Criar, Editar, Excluir

Dicas

  • Inicie o Minikube e aplique o arquivo recommended.yaml do repositório oficial do Kubernetes Dashboard para implantar o Dashboard
  • Use os comandos kubectl create e kubectl apply
  • Verifique as configurações do ClusterRole e ClusterRoleBinding
  • Use kubectl -n kubernetes-dashboard create token read-only-user para gerar o token
✨ Verificar Solução e Praticar

Resumo

Em resumo, este desafio exige que você aprimore a segurança do seu cluster Kubernetes criando uma conta de serviço somente leitura para o Kubernetes Dashboard. Você criará uma nova conta de serviço, um ClusterRole com permissões de somente leitura e vinculará o ClusterRole à conta de serviço. Finalmente, você gerará um token para a conta de serviço usar no login do Dashboard.

OSZAR »