Configure uma política de autorização binária com o Cloud Run

Este início rápido mostra como configurar e testar uma regra básica numa política de autorização binária com o Cloud Run.

Neste guia de início rápido, vai usar a autorização binária para controlar a implementação de um serviço do Cloud Run.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Install the Google Cloud CLI.

  6. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  7. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  8. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  13. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  14. Crie um serviço com a Autorização binária ativada

    Para criar um serviço do Cloud Run com a autorização binária ativada, faça o seguinte:

    1. Aceda ao Cloud Run

    2. Clique em Criar serviço para apresentar o formulário Criar serviço:

      imagem

      No formulário apresentado, faça o seguinte:

      1. Selecione o Cloud Run como plataforma de desenvolvimento.
      2. Selecione a região onde quer que o seu serviço esteja localizado.
      3. Especifique o nome que quer dar ao seu serviço, por exemplo, test-service.
      4. Clique em Seguinte para continuar para a página Configure a primeira revisão do serviço.

        No formulário, faça o seguinte:

        1. Selecione Implementar uma revisão a partir de uma imagem de contentor existente.
        2. Use us-docker.pkg.dev/cloudrun/container/hello como imagem do contentor.

        3. Expanda a secção Definições avançadas.

        4. Clique no separador Segurança.

        5. Selecione a caixa de verificação Validar implementação do contentor com a autorização binária:

          imagem

          Por predefinição, a política de autorização binária permite a implementação de todas as imagens.

        6. Clique em Seguinte para continuar para a página Configure como este serviço é acionado:

          imagem

        7. Selecione Permitir acesso público para poder abrir o resultado no seu navegador de Internet

        8. Clique em Criar para implementar a imagem no Cloud Run e aguarde que a implementação termine.

        O seu serviço está implementado. As revisões estão sujeitas à aplicação da política de autorização binária.

    Atualize a política de autorização binária para não permitir todas as imagens

    A política de autorização binária contém uma regra predefinida. Esta regra rege a implementação do serviço do Cloud Run que acabou de criar.

    Por predefinição, a regra permite a implementação de todas as imagens de contentores.

    Para ver a política predefinida, faça o seguinte:

    1. Aceda à Autorização binária

      Captura de ecrã do separador Política que mostra a regra predefinida

    2. Clique em Editar política.

    3. Em Regra predefinida do projeto, repare que a opção Permitir todas as imagens está selecionada.

      Captura de ecrã da opção para escolher um tipo de regra predefinido

    Agora, modifique a política para bloquear a implementação de todas as imagens, fazendo o seguinte:

    1. Aceda à página Autorização binária na Google Cloud consola.

      Aceda à Autorização binária

    2. Clique em Editar política.

    3. Em Regra predefinida, selecione Não permitir todas as imagens.

      Captura de ecrã da opção para escolher um tipo de regra predefinido

    4. Clique em Guardar política.

    Volte a implementar o serviço

    Teste a política atualizada implementando uma nova revisão.

    Para implementar a imagem, faça o seguinte:

    1. Aceda ao Cloud Run

    2. Clique no nome do serviço que implementou anteriormente neste guia.

    3. Clique em Editar e implemente a nova revisão.

    4. Clique em Implementar.

    É apresentada uma mensagem de erro semelhante à seguinte:

    Service update rejected by Binary Authorization policy: Revision
    REVISION uses unauthorized container image. Container image 'us-docker.pkg.dev/cloudrun/container/hello@SHA' is not authorized by policy. Denied by an ALWAYS_DENY admission rule
    

    Reponha a política para permitir todas as imagens

    Para repor a política de modo a permitir todas as imagens, faça o seguinte:

    1. Aceda à página Autorização binária na Google Cloud consola.

      Aceda à Autorização binária

    2. Clique em Editar política.

    3. Selecione Permitir todas as imagens.

    4. Para guardar a política, clique em Guardar política.

    Já pode implementar imagens.

    Limpar

    Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

    Para eliminar o serviço que criou no Cloud Run, faça o seguinte:

    1. Aceda ao Cloud Run

    2. Localize o serviço que quer eliminar na lista de serviços e clique na caixa de verificação para o selecionar.

    3. Clique em Eliminar. Esta ação elimina todas as revisões do serviço.

    Para desativar a Autorização binária, consulte o artigo Desativar a Autorização binária.

    O que se segue?