Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)35 mil · #5879

implementing-gcp-binary-authorization

Ensina seu agente de IA a gerar imagens, ícones e diagramas e colocar projetos no ar e cuidar da infraestrutura.

O que ela faz

Essa ferramenta ajuda a garantir que apenas softwares confiáveis e verificados sejam instalados em seus sistemas na nuvem (GCP). Ela funciona exigindo uma assinatura digital (atestado) antes de permitir a instalação.

Quando usar

  • ✓Quando você quer ter certeza de que só programas aprovados são instalados.
  • ✓Ao configurar a segurança para cumprir regras específicas.
  • ✓Ao construir ou melhorar a segurança de seus sistemas.

Exemplo do que pedir para a IA

“Configure a segurança para que só imagens de software verificadas possam ser usadas no Google Cloud Run.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-gcp-binary-authorization/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-gcp-binary-authorization/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta cria regras que exigem uma 'assinatura' digital de cada software. Essa assinatura é gerada após o software passar por verificações de segurança. Sem essa assinatura, o software não é instalado.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-gcp-binary-authorization

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-gcp-binary-authorization/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Implementando a Autorização Binária do GCP

Visão Geral

A Autorização Binária é um controle de segurança no momento da implantação do Google Cloud que garante que apenas imagens de contêiner confiáveis sejam implantadas no GKE ou Cloud Run. Ela funciona através de um modelo baseado em políticas, onde as imagens devem ter atestações criptográficas confirmando que passaram por requisitos predefinidos, como verificações de vulnerabilidade, revisões de código ou verificação de pipeline de build. A Validação Contínua (CV) monitora pods em execução em relação às políticas e registra violações.

Quando Usar

  • Ao implantar ou configurar capacidades de autorização binária do GCP em seu ambiente
  • Ao estabelecer controles de segurança alinhados a requisitos de conformidade
  • Ao construir ou melhorar a arquitetura de segurança para este domínio
  • Ao realizar avaliações de segurança que exigem esta implementação

Pré-requisitos

  • Projeto GCP com a API de Autorização Binária ativada
  • Cluster GKE ou serviço Cloud Run
  • API de Análise de Contêiner ativada
  • Chaves KMS para assinatura de atestações
  • Cloud Build ou pipeline CI/CD externo

Habilitar Autorização Binária

# Enable required APIs
gcloud services enable binaryauthorization.googleapis.com
gcloud services enable containeranalysis.googleapis.com
gcloud services enable container.googleapis.com

# Enable Binary Authorization on GKE cluster
gcloud container clusters update CLUSTER_NAME \
  --enable-binauthz \
  --zone us-central1-a

Criar Atestador

Criar uma chave KMS para assinatura

# Create keyring
gcloud kms keyrings create binauthz-keyring \
  --location global

# Create signing key
gcloud kms keys create attestor-key \
  --keyring binauthz-keyring \
  --location global \
  --algorithm ec-sign-p256-sha256 \
  --purpose asymmetric-signing

Criar nota de Análise de Contêiner

cat > /tmp/note.json << 'EOF'
{
  "attestation": {
    "hint": {
      "humanReadableName": "Production Build Attestor"
    }
  }
}
EOF

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/notes/?noteId=prod-build-note" \
  -d @/tmp/note.json

Criar o atestador

gcloud container binauthz attestors create prod-build-attestor \
  --attestation-authority-note=prod-build-note \
  --attestation-authority-note-project=PROJECT_ID

# Add KMS key to attestor
gcloud container binauthz attestors public-keys add \
  --attestor=prod-build-attestor \
  --keyversion-project=PROJECT_ID \
  --keyversion-location=global \
  --keyversion-keyring=binauthz-keyring \
  --keyversion-key=attestor-key \
  --keyversion=1

Configurar Política

Política padrão de negar tudo

# binauthz-policy.yaml
admissionWhitelistPatterns:
  - namePattern: "gcr.io/google_containers/*"
  - namePattern: "gcr.io/google-containers/*"
  - namePattern: "k8s.gcr.io/**"
  - namePattern: "gke.gcr.io/**"
  - namePattern: "gcr.io/stackdriver-agents/*"
defaultAdmissionRule:
  evaluationMode: REQUIRE_ATTESTATION
  enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
  requireAttestationsBy:
    - projects/PROJECT_ID/attestors/prod-build-attestor
globalPolicyEvaluationMode: ENABLE
gcloud container binauthz policy import binauthz-policy.yaml

Regras por cluster

admissionWhitelistPatterns:
  - namePattern: "gcr.io/google_containers/*"
clusterAdmissionRules:
  us-central1-a.production-cluster:
    evaluationMode: REQUIRE_ATTESTATION
    enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
    requireAttestationsBy:
      - projects/PROJECT_ID/attestors/prod-build-attestor
  us-central1-a.staging-cluster:
    evaluationMode: ALWAYS_ALLOW
    enforcementMode: DRYRUN_AUDIT_LOG_ONLY
defaultAdmissionRule:
  evaluationMode: ALWAYS_DENY
  enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG

Criar Atestações

Atestar uma imagem após build bem-sucedido

# Get image digest
IMAGE_DIGEST=$(gcloud container images describe \
  gcr.io/PROJECT_ID/my-app:latest \
  --format='get(image_summary.digest)')

# Create attestation
gcloud container binauthz attestations sign-and-create \
  --artifact-url="gcr.io/PROJECT_ID/my-app@${IMAGE_DIGEST}" \
  --attestor="prod-build-attestor" \
  --attestor-project="PROJECT_ID" \
  --keyversion-project="PROJECT_ID" \
  --keyversion-location="global" \
  --keyversion-keyring="binauthz-keyring" \
  --keyversion-key="attestor-key" \
  --keyversion="1"

Integração com Cloud Build

# cloudbuild.yaml
steps:

…
Perguntas frequentes

O que é um 'atestado'?

É como uma assinatura digital que prova que um software passou por verificações de segurança e foi aprovado.

O que é GKE e Cloud Run?

São serviços do Google Cloud onde você pode rodar seus programas (contêineres). Essa ferramenta garante a segurança nesses serviços.

Preciso saber programar para usar isso?

A ferramenta usa comandos de configuração, mas o conceito principal é sobre segurança e aprovação de software, não sobre escrever código.

Detalhes

Descrição original do autor

Implements GCP Binary Authorization end to end, including creating KMS-backed attestors, Container Analysis notes, deploy-time policies, and signing image attestations, so that only trusted, verified images deploy to GKE and Cloud Run. Use when enforcing container supply-chain integrity or deploy-time attestation checks on GCP.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5879
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas