Ativar a autorização binária para o Cloud Run

Neste guia, mostramos como configurar a autorização binária para aplicar a implantação baseada em política dos jobs e serviços do Cloud Run.

Antes de começar

Para configurar o Cloud Run e ativar APIs, faça o seguinte:

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, 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.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative as APIs Cloud Run, Artifact Registry, Binary Authorization.

    Ative as APIs

  5. Instale a CLI do Google Cloud.
  6. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  7. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  8. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  9. Ative as APIs Cloud Run, Artifact Registry, Binary Authorization.

    Ative as APIs

  10. Instale a CLI do Google Cloud.
  11. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init

Ativar a autorização binária em um serviço atual do Cloud Run

É possível ativar a aplicação da autorização binária em um serviço atual. Para ativar a aplicação depois de ativá-la, talvez seja necessário implantar uma revisão ou atualizar o tráfego do serviço.

É possível ativar a aplicação da autorização binária em um serviço atual usando o console do Google Cloud ou a CLI do Google Cloud:

Console

  1. Acesse a página do Cloud Run no Console do Google Cloud.

    Acesse o Cloud Run

  2. Clique no serviço.

  3. Clique na guia Segurança.

  4. Para ativar a aplicação da autorização binária no serviço, clique em Ativar.

  5. Opcional: para configurar a política de autorização binária, clique em Configurar política.

gcloud

Ative a autorização binária no serviço e implante-a:

gcloud run services update SERVICE_NAME --binary-authorization=default

Substitua SERVICE_NAME por um nome para o serviço.

YAML

É possível fazer o download e conferir as configurações de serviço usando o comando gcloud run services describe --format export, que produz resultados limpos no formato YAML. Em seguida, modifique os campos descritos abaixo e faça upload do YAML modificado usando o comando gcloud run services replace. Modifique os campos somente conforme documentado.

  1. Para ver e fazer o download da configuração:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Atualize a anotação run.googleapis.com/binary-authorization: da seguinte maneira:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      annotations:
        run.googleapis.com/binary-authorization: POLICY
      name: SERVICE
    spec:
      template:

    Substitua:

    • SERVICE: o nome do Cloud Run
    • POLICY: defina como default
  3. Substitua o serviço pela nova configuração usando o seguinte comando:

gcloud run services replace service.yaml

Ativar a autorização binária em um job atual do Cloud Run

É possível ativar a aplicação da autorização binária em um job atual usando o Console do Google Cloud ou a Google Cloud CLI:

Console

  1. Acesse a página de jobs do Cloud Run no Console do Google Cloud.

    Acesse o Cloud Run

  2. Clique no job para abrir os detalhes.

  3. Clique na guia Configuração.

  4. Em Autorização binária, selecione uma política na lista.

  5. Clique em Aplicar para ativar a aplicação da autorização binária no job.

  6. Opcional: para configurar a política de autorização binária, clique em Configurar política.

gcloud

Ative a autorização binária no job:

gcloud run jobs update JOB_NAME --binary-authorization=POLICY

Substitua:

  • JOB_NAME: o nome do job.
  • POLICY: a política que você quer aplicar. Use o valor default para usar a política padrão.

Recomendamos que você exija uma autorização binária para o Cloud Run configurando uma política da organização para fazer isso. A autorização binária pode ser desativada pelos desenvolvedores do Cloud Run se a política não estiver configurada.

Conferir a política

Para analisar a política, clique em Ver política.

Para mais informações, consulte Como configurar uma política de autorização binária.

Falha na implantação do serviço ou do job

Se a implantação do job ou serviço falhar por violar a política de autorização binária, talvez você veja um erro como este:

Revision REVISION_NAME uses an unauthorized container image.
Container image IMAGE_NAME is not authorized by policy.

O erro também contém informações sobre o motivo pelo qual a imagem violou a política. Nesse caso, é possível usar a implantação forçada para ignorar a aplicação da política e implantar a imagem.

Ativar a autorização binária em um novo serviço

É possível ativar a autorização binária em um novo serviço usando o console do Google Cloud ou a Google Cloud CLI:

Console

  1. Acesse a página do Cloud Run:

    Acesse o Cloud Run

  2. Clique em Criar serviço.

  3. No formulário Criar serviço:

    1. Selecione o Cloud Run como a plataforma de desenvolvimento.
    2. Selecione a região em que você quer que o serviço esteja localizado.
    3. Digite o nome do serviço.
    4. Clique em Avançar para acessar a página Configurar a primeira revisão do serviço.
    5. Selecione Implantar uma revisão de uma imagem de contêiner atual.
    6. Digite ou selecione a imagem a ser implantada.
    7. Expanda a seção Configurações avançadas.
    8. Clique na guia Security.
    9. Marque a caixa de seleção Verificar a implantação do contêiner com autorização binária.

    10. Opcional: clique em Configurar política para configurar a política de autorização binária. Para saber mais sobre como configurar uma política, consulte Como configurar uma política

    11. Implante o serviço.

gcloud

Ative a autorização binária no serviço e implante-a:

  gcloud run deploy SERVICE_NAME --image=IMAGE_URL --binary-authorization=default --region=REGION

Substitua:

  • SERVICE_NAME: um nome para o serviço.
  • IMAGE_URL: a imagem que você quer implantar.
  • REGION: a região em que você quer implantar o serviço.

Ativar a autorização binária em um novo job

É possível ativar a autorização binária em um novo job usando a Google Cloud CLI:

gcloud

  1. Crie um novo job com a autorização binária ativada:

    gcloud run jobs create JOB_NAME \
      --image IMAGE_URL OPTIONS \
      --binary-authorization=POLICY \
      --region=REGION

    Substitua:

    • JOB_NAME: o nome do job que você quer criar. É possível omitir esse parâmetro, mas será solicitado o nome do job se você omiti-lo.
    • POLICY: a política que você quer aplicar. Use o valor default para usar a política padrão.
    • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
    • REGION: a região em que o job será executado.
    • OPTIONS: qualquer uma das opções disponíveis descritas na página de criação de jobs do Cloud Run.
  2. Aguarde a conclusão da criação do job. Após a conclusão, o console exibirá uma mensagem de êxito.

  3. Para executar o job, consulte Executar jobs ou executar jobs em uma programação.

Quando você cria um novo job, o agente de serviço do Cloud Run precisa ser capaz de acessar o contêiner, o que é o caso por padrão.

YAML

  1. Crie um novo arquivo service.yaml com este conteúdo:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/binary-authorization: POLICY
    spec:
      template:
        spec:
          containers:
          - image: IMAGE

    Substitua:

    • SERVICE: o nome do Cloud Run
    • IMAGE pelo URL da imagem de contêiner.
    • POLICY: defina como default
  2. Implante o novo serviço usando o seguinte comando:

gcloud run services replace service.yaml

A seguir