Neste documento, você vai entender os recursos do reCAPTCHA para o Google Cloud Armor e determinar qual deles é mais adequado ao seu caso de uso.
O reCAPTCHA oferece os seguintes recursos que podem ser usados para integrar ao Google Cloud Armor:
Visão geral dos recursos
As integrações do reCAPTCHA para o Google Cloud Armor oferecem suporte a tokens de ação, tokens de sessão, página de teste e reCAPTCHA Express.
É possível usar um ou mais recursos do reCAPTCHA para Google Cloud Armor em um único aplicativo. Por exemplo, é possível aplicar um token de sessão a todas as páginas e, com base na pontuação do token de sessão, redirecionar solicitações suspeitas para a página de teste do reCAPTCHA. Além disso, é possível usar um token de ação para ações importantes, como a finalização de compra. Para mais informações, consulte os exemplos.
A tabela a seguir mostra uma breve comparação dos recursos disponíveis do reCAPTCHA para o Google Cloud Armor:
| Categoria de comparação | Tokens de ação reCAPTCHA | Tokens de sessão reCAPTCHA | Página de teste do reCAPTCHA | reCAPTCHA express | 
|---|---|---|---|---|
| Caso de uso | Usado para proteger ações do usuário, como fazer login ou comentar postagens. | Usado para proteger toda a sessão do usuário no domínio do site. | Use quando você suspeitar de atividade de spam direcionada ao site e precisar filtrar bots.
         Esse método interrompe a atividade do usuário porque ele precisa verificar um teste de CAPTCHA.  | 
    Use o reCAPTCHA Express quando seu ambiente não for compatível com a integração do JavaScript do reCAPTCHA ou dos SDKs para dispositivos móveis. | 
| Plataformas compatíveis | Sites e aplicativos para dispositivos móveis | Sites | Sites | Todas as solicitações HTTP.  Incluindo: APIs, sites, aplicativos para dispositivos móveis e dispositivos IoT, como TVs e consoles de jogos  | 
  
| Esforço de integração do cliente | Média
       Integração manual do lado do cliente.  | 
    Média
       Instale o JavaScript do reCAPTCHA manualmente ou por injeção no WAF.  | 
    Baixa
     Interstitial acionado por políticas de segurança.  | 
    Baixa
       Sem integração de cliente.  | 
  
| Precisão da detecção | Maior
       Há indicadores específicos de cliente, servidor e ação disponíveis.  | 
    Alta
       Há indicadores específicos do cliente e do servidor disponíveis.  | 
    Média
       Há indicadores específicos do cliente e do servidor disponíveis. Os indicadores do cliente só estão disponíveis em uma página intersticial.  | 
    Baixa
     Somente indicadores do lado do servidor estão disponíveis.  | 
  
| Versão compatível do reCAPTCHA | Chaves reCAPTCHA baseadas em pontuação e com caixa de seleção | Chaves reCAPTCHA baseadas em pontuação | Chaves baseadas em desafio do reCAPTCHA incorporadas em uma página intersticial | Chaves expressas do reCAPTCHA | 
Tokens de ação reCAPTCHA
É possível usar tokens de ação reCAPTCHA para proteger interações importantes do usuário, como a finalização da compra em páginas da Web e apps para dispositivos móveis.
O fluxo de trabalho de tokens de ação do reCAPTCHA consiste nas seguintes etapas:
- Quando um usuário final aciona uma ação protegida pelo reCAPTCHA, a página da Web ou o aplicativo móvel envia sinais que são coletados no navegador para análise pelo reCAPTCHA.
 - O reCAPTCHA envia um token de ação para a página da Web ou o aplicativo para dispositivos móveis.
 - Anexe esse token de ação ao cabeçalho da solicitação que você quer proteger.
 - Quando o usuário final solicita acesso com o token de ação, o Google Cloud Armor decodifica e valida os atributos do token de ação em vez do aplicativo de back-end.
 - O Google Cloud Armor aplica ações com base nas regras de política de segurança configuradas.
 
O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de ação reCAPTCHA para sites:
O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de ação reCAPTCHA para aplicativos móveis:
   
Tokens de sessão reCAPTCHA
Use tokens de sessão reCAPTCHA quando quiser proteger toda a sessão do usuário no domínio do site. Um token de sessão permite reutilizar uma teste reCAPTCHA por um período especificado. Assim, nenhuma outra avaliação é necessária para um usuário específico, o que reduz o atrito do usuário e o total de chamadas do reCAPTCHA necessárias.
Para permitir que o reCAPTCHA aprenda sobre o padrão de navegação dos usuários finais, recomendamos usar um token de sessão reCAPTCHA em todas as páginas da Web do site.
O fluxo de trabalho de tokens de sessão reCAPTCHA consiste nas seguintes etapas:
- O navegador carrega o JavaScript reCAPTCHA do reCAPTCHA.
 - O reCAPTCHA JavaScript define um token de sessão como um cookie no navegador do usuário final após a avaliação.
 - O navegador do usuário final armazena o cookie, e o JavaScript reCAPTCHA o atualiza a cada 30 minutos, desde que o JavaScript do reCAPTCHA permaneça ativo.
 - Quando o usuário solicita acesso com o cookie, o Google Cloud Armor valida esse cookie e aplica ações com base nas regras da política de segurança.
 
O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de sessão reCAPTCHA:
Página de teste do reCAPTCHA
Use o recurso página de teste do reCAPTCHA para redirecionar solicitações recebidas no reCAPTCHA e determinar se cada solicitação é potencialmente fraudulenta ou legítima.
Essa aplicação de um redirecionamento e um possível teste de CAPTCHA interrompem a atividade do usuário. Recomendamos usar isso para filtrar bots quando suspeitar de atividade de spam direcionada ao site.
Quando um usuário final (usuário) acessa o site pela primeira vez, os seguintes eventos acontecem:
- Na camada do Google Cloud Armor, a solicitação do usuário é redirecionada para a página de teste do reCAPTCHA.
 - O reCAPTCHA responde com uma página HTML incorporada ao reCAPTCHA JavaScript.
 - Quando a página de teste é renderizada, o reCAPTCHA avalia a interação do usuário. Se necessário, o reCAPTCHA veicula um teste de CAPTCHA para o usuário.
 Dependendo do resultado da avaliação, o reCAPTCHA realizará as seguintes ações:
- Se a interação do usuário for aprovada na avaliação, o reCAPTCHA emitirá um cookie de isenção. O navegador anexa esse cookie de isenção às solicitações subsequentes do usuário no site até que o cookie expire. Por padrão, o cookie de isenção expira após três horas.
 - Se a interação do usuário não for aprovada na avaliação, o reCAPTCHA não emitirá um cookie de isenção.
 
O reCAPTCHA atualiza a página da Web com o cookie de isenção se o usuário acessar a página da Web usando uma chamada GET/HEAD. Se o usuário acessar a página da Web usando uma chamada POST/PUT, o usuário precisará clicar no link de atualização da página.
O Google Cloud Armor isenta as solicitações que têm um cookie de isenção válido de serem redirecionadas novamente e concede acesso ao site.
O diagrama de sequência a seguir mostra o fluxo de trabalho da página de teste do reCAPTCHA:
A seguir
- Saiba mais sobre os atributos de token do Cloud Armor.
 - Integre o reCAPTCHA com o Cloud Armor em sites.
 - Integre o reCAPTCHA ao Cloud Armor em aplicativos para dispositivos móveis.