Neste tutorial, mostraremos como usar a autorização binária em uma configuração de vários projetos. Para uma configuração mais simples de projeto único, consulte Primeiros passos com a Google Cloud CLI (GKE).
Para estabelecer a separação de deveres, configure a autorização binária em uma configuração de vários projetos. O objetivo de cada projeto é discutido posteriormente neste tutorial.
Objetivos
Neste tutorial, você irá:Configurar um projeto diferente para implantação (GKE), atestador e gerenciamento de atestados, para oferecer suporte à separação de deveres.
Configurar a regra padrão da política de autorização binária para exigir atestados.
Crie um par de chaves de Infraestrutura de chave pública (X.509) (PKIX) para assinar e verificar o atestado posteriormente.
Criar um atestador que o aplicador de autorização binária usa para verificar o atestado.
Assinar uma imagem de exemplo, criando um atestado.
Testar a política implantando a imagem de exemplo.
É preciso configurar o controle de acesso apropriado de cada projeto pelo gerenciamento de identidade e acesso (IAM).
Para mais segurança, é possível usar o VPC Service Controls para proteger os recursos criados neste tutorial. Para mais informações, consulte Como proteger com o VPC Service Controls.
Custos
Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init - Instale
kubectlpara interagir com o GKE.
Configurar o projeto do implantador
O projeto do implantador gerencia os clusters do Google Kubernetes Engine (GKE), onde você implanta imagens, e a política de autorização binária aplicada pela autorização binária no momento da implantação. É possível ter mais de um projeto do implantador, dependendo do tamanho, da complexidade e de outros requisitos do ambiente.
Para configurar o projeto do implantador:
Crie o projeto e ative o faturamento no console Google Cloud , se ainda não tiver feito isso.
Nota do Gerenciamento de Identidade e Acesso: o projeto do implantador contém o cluster do GKE. A configuração do Gerenciamento de Identidade e Acesso deste projeto refletirá isso.
Defina variáveis de ambiente para armazenar o Google Cloud projeto e o número:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Substitua DEPLOYER_PROJECT_ID pelo Google Cloud ID do projeto.
DEPLOYER_PROJECT_NUMBER=$(gcloud projects describe "${DEPLOYER_PROJECT_ID}" \ --format="value(projectNumber)")Ative APIs:
Artifact Registry