Vista geral da autorização binária

Este documento oferece uma vista geral da autorização binária.

O que é a autorização binária?

A autorização binária é um Google Cloud produto que pode usar para implementar medidas de segurança da cadeia de fornecimento de software quando desenvolve e implementa aplicações baseadas em contentores.

O que faz a Autorização binária?

Pode usar a autorização binária para fazer o seguinte:

Que plataformas são suportadas pela Binary Authorization?

A autorização binária suporta as seguintes plataformas:

A autorização binária faz parte de uma arquitetura de implementação que inclui os seguintes produtos relacionados:

  • Artifact Registry, Container Registry e outros registos que armazenam as imagens que quer implementar.
  • A análise de artefactos fornece informações de vulnerabilidade que pode usar com a autorização binária para controlar a implementação. Em separado, a análise de artefactos armazena metadados fidedignos que são usados no processo de autorização.
  • Monitorização de segurança, um painel de controlo que pode usar para avaliar a sua postura de segurança das aplicações em produtos Google Cloud interdependentes, incluindo a Autorização binária.
  • O Cloud Build, que produz atestações e proveniência que a autorização binária pode usar para aplicação e monitorização.
  • O Cloud Deploy é um serviço de fornecimento contínuo gerido que automatiza o fornecimento de aplicações a uma série de ambientes de destino numa sequência definida.

A autorização binária baseia-se na especificação Kritis, que faz parte do projeto de código aberto Grafeas.

Contexto

A segurança da cadeia de abastecimento de software visa garantir que o software é obtido, criado, testado, lançado e implementado de acordo com as práticas recomendadas e as normas internas.

As arquiteturas baseadas em contentores permitem que as equipas desenvolvam sistemas altamente independentes, por exemplo, os baseados em arquiteturas de microsserviços, e incentivam a utilização de práticas de desenvolvimento de ciclo de vida curto, incluindo a integração contínua (CI) e a implementação contínua (CD).

Num ambiente de desenvolvimento baseado em contentores, as imagens podem ser implementadas numa sucessão de clusters, como testes, preparação e lançamento, que fazem parte da cadeia de fornecimento de software.

A autorização binária visa reduzir o risco de implementação de software defeituoso, vulnerável ou não autorizado neste tipo de ambiente. Ao usar este serviço, pode impedir a implementação de imagens, a menos que satisfaçam uma política que defina.

Embora a autorização binária não prescreva processos internos nem práticas recomendadas, ajuda a aplicar as suas próprias práticas restringindo a implementação de imagens que não passaram nas verificações necessárias.

Ciclo de vida

Um ciclo de vida de implementação para imagens pode consistir nas seguintes fases, em que a conclusão de uma fase é um pré-requisito para a progressão para a seguinte. Por exemplo:

  1. Criação e testes de unidades
  2. Implementação num ambiente de desenvolvimento onde os utilizadores não são afetados
  3. Implementação num ambiente de controlo de qualidade, onde apenas os utilizadores internos são afetados
  4. Implementação num ambiente de teste, onde apenas uma fração dos utilizadores externos é afetada
  5. Implementação na produção

Cada fase pode ter o seu próprio ambiente de implementação, por exemplo, um cluster do GKE ou um projeto, e os seus próprios critérios que têm de ser cumpridos antes de uma imagem poder avançar para a fase seguinte. Google Cloud A autorização binária permite-lhe definir as regras pelas quais uma imagem passa de uma fase para outra e fornece os meios para aplicar essas regras.

Atestações

Os exemplos de utilização mais comuns da Autorização binária envolvem atestados. Uma atestação certifica que uma imagem específica concluiu uma fase anterior, conforme descrito anteriormente. Configura a política de autorização binária para validar a atestação antes de permitir a implementação da imagem. No momento da implementação, em vez de refazer as atividades concluídas em fases anteriores, a autorização binária só precisa de validar a atestação.

Seguem-se alguns exemplos de utilização que envolvem atestações:

  • Validação da compilação, em que a autorização binária usa atestações para validar se uma imagem foi compilada por um sistema de compilação específico ou um pipeline de integração contínua (IC).

    Para saber como configurar um pipeline de CI, com base no Cloud Build, que pode criar uma atestação, consulte o artigo Integração do Cloud Build.

  • Verificação manual, em que uma pessoa, por exemplo, um representante de controlo de qualidade, cria manualmente a atestação.

    Para saber como criar manualmente uma atestação, consulte o artigo Crie atestações.

Consulte o artigo Comece a usar a Google Cloud consola para aceder a um tutorial de atestação ponto a ponto.

Funcionalidades

A Autorização binária oferece o seguinte:

  • Um modelo de política que lhe permite descrever as restrições ao abrigo das quais as imagens podem ser implementadas
  • Um modelo de atestação que lhe permite definir autoridades fidedignas que podem atestar ou validar que os processos necessários no seu ambiente foram concluídos antes da implementação
  • Um aplicador de tempo de implementação que impede a implementação de imagens que violam a política

Modelo de política

A autorização binária implementa um modelo de política, em que uma política é um conjunto de regras que regem a implementação de imagens de contentores. Regras Numa política, são fornecidos critérios específicos que uma imagem tem de cumprir antes de poder ser implementada.

Para mais informações sobre o modelo de política de autorização binária e outros conceitos, consulte Conceitos-chave.

Configuração

Para configurar a autorização binária, primeiro tem de ativar o serviço para os Google Cloud projetos que compõem a implementação e o pipeline de autorização.

Em seguida, define a política que especifica as restrições ao abrigo das quais as imagens de contentores podem ser implementadas. Se a sua política exigir atestações antes da implementação, também tem de configurar atestadores que possam validar as atestações antes de permitir a implementação das imagens associadas.

Para configurar a autorização binária, consulte os seguintes guias:

Autorização

Antes de uma imagem poder ser implementada, todos os signatários necessários têm de criar uma atestação que valide que a imagem está pronta para avançar para a fase de implementação seguinte. A atestação é um registo que contém o caminho do registo e o resumo da imagem, e que foi assinado digitalmente através da chave criptográfica privada do signatário.

Para mais informações sobre a autorização, consulte o artigo Use atestados.

Aplicação

Quando implementa uma imagem, a autorização binária verifica a política e aplica todas as regras que encontrar que regem a respetiva implementação.

Se a imagem cumprir as restrições definidas na política, a autorização binária permite a sua implementação. Caso contrário, o serviço bloqueia a implementação e escreve uma mensagem nos registos de auditoria na nuvem que descreve o motivo pelo qual a imagem não está em conformidade.

Para ver eventos de aplicação da autorização binária nos registos de auditoria do Cloud, consulte os seguintes guias:

Para mais informações sobre a implementação, consulte os seguintes guias:

Validação contínua

A validação contínua (CV) com políticas de plataforma baseadas em verificações é uma funcionalidade da autorização binária que verifica periodicamente os metadados das imagens de contentores associadas aos pods em execução para garantir a conformidade contínua com as políticas.

Saiba mais sobre o CV.

Proteja a autorização binária com o VPC Service Controls

Os VPC Service Controls melhoram a sua capacidade de mitigar o risco de cópia ou transferência não autorizada de dados dos seus serviços e recursos geridos pela Google.

Para mais informações sobre como proteger recursos relacionados com a autorização binária, consulte o artigo Proteja com o VPC Service Controls.

Segurança da cadeia de abastecimento de software

A autorização binária é um dos Google Cloud componentes que pode usar para proteger a sua cadeia de abastecimento de software. Pode usar a autorização binária juntamente com outros Google Cloud produtos e funcionalidades para melhorar a postura de segurança dos fluxos de trabalho e das ferramentas do programador, das dependências de software, dos sistemas de CI/CD usados para criar e implementar o seu software e dos ambientes de tempo de execução, como o Google Kubernetes Engine e o Cloud Run. Para saber mais, consulte Segurança da cadeia de abastecimento de software.

O que se segue?