Esta página fornece instruções sobre como usar o originais com a autorização binária.
Visão geral
A autorização binária oferece a segurança da cadeia de suprimentos de software, gerenciando se o GKE pode implantar uma imagem de contêiner. Ocasionalmente, você precisa forçar a implantação de uma imagem de contêiner que o aplicador de autorização binária normalmente bloqueia. Nesses casos, a autorização binária fornece um recurso conhecido como a lupa. Para ignorar as restrições da política e permitir implantações de imagem, anote a definição do pod com uma sinalização de política break-glass
.
A Breakglass oferece uma saída de emergência que permite modificar a aplicação da política de autorização binária e permitir que uma imagem de contêiner seja implantada, incluindo as de contêiner que não seriam permitidas.
Por fim, o acesso de emergência registra automaticamente o evento de acesso de emergência no Cloud Logging. No Cloud Logging, é possível auditar manualmente ou acionar automaticamente um alerta ou outro evento downstream.
Demonstrar um evento de acesso rápido
Atualizar a política de autorização binária para rejeitar todas as solicitações de implantação
Ela é específica da autorização binária, mas requer que você atualize a anotação em uma especificação de pod.
Para atualizar a política e rejeitar todas as solicitações de implantação de uma imagem de contêiner, siga estas etapas:
Acesse a página "Autorização binária" no Console do Google Cloud.
Clique em Editar política.
Defina a regra padrão do projeto como
Deny All
:
Na página Editar política, em Regra padrão do projeto, clique em Não permitir todas as imagens.
- Clique em Salvar política.
Tentar implantar uma imagem de contêiner
Crie um arquivo de configuração no formato YAML. Este arquivo contém as informações básicas necessárias para criar o pod:
cat > /tmp/create_pod.yaml << EOM apiVersion: v1 kind: Pod metadata: name: pod-name spec: containers: - name: container-name image: gcr.io/google-samples/hello-app@sha256:c62ead5b8c15c231f9e786250b07909daf6c266d0fcddd93fea882eb722c3be4 EOM
Crie o pod usando
kubectl
:kubectl create -f /tmp/create_pod.yaml
Observe o seguinte erro:
Error from server (Forbidden): error when creating "/tmp/create_pod.yaml": pods "pod-name" is forbidden: image policy webhook backend denied one or more images: Denied by default admission rule. Overridden by evaluation mode
.
Ativar o acesso rápido e implantar novamente
Crie um arquivo de configuração no formato YAML. Esse arquivo agora contém a anotação de acesso rápido, além de outras informações necessárias para criar o pod:
cat > /tmp/create_pod.yaml << EOM apiVersion: v1 kind: Pod metadata: name: pod-name annotations: alpha.image-policy.k8s.io/break-glass: "true" spec: containers: - name: container-name image: gcr.io/google-samples/hello-app@sha256:c62ead5b8c15c231f9e786250b07909daf6c266d0fcddd93fea882eb722c3be4 EOM
Crie o pod usando
kubectl
:kubectl create -f /tmp/create_pod.yaml
Observe a saída:
pod/pod-name created
Encontrar a entrada de registro de acesso rápido no Cloud Logging
Acesse a página do visualizador do Cloud Logging:
Selecione Cluster do Kubernetes na lista Recursos.
Selecione o período no seletor de períodos.
Copie e cole o seguinte comando na caixa de consulta de pesquisa:
imagepolicywebhook.image-policy.k8s.io/break-glass
Os registros retornados podem ser expandidos para revelar informações sobre o evento de implantação do intervalo.
Faça uma limpeza excluindo o pod:
kubectl delete -f /tmp/create_pod.yaml
e verifique se você recebeu uma saída como esta: pod "pod-name" deleted