Faça a integração com o Google Cloud Armor para Websites

Este documento mostra como integrar o reCAPTCHA para o Cloud Armor em Websites.

Para concluir a integração, tem de implementar uma ou mais funcionalidades do reCAPTCHA para o Cloud Armor e configurar as políticas de segurança do Cloud Armor.

Antes de começar

  1. Ative a API reCAPTCHA Enterprise.

    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 API

  2. Planeie como quer implementar as funcionalidades do reCAPTCHA para o Cloud Armor para proteger o seu Website.

    1. Escolha uma ou mais funcionalidades da WAF que melhor se adequam ao seu exemplo de utilização.
    2. Identifique as páginas que quer proteger e o tipo de funcionalidade do Cloud Armor que quer implementar nessas páginas.

Implemente funcionalidades do reCAPTCHA para o Cloud Armor

Consoante os seus requisitos, pode usar uma ou mais funcionalidades do reCAPTCHA for Cloud Armor numa única aplicação.

Se quiser usar mais do que uma funcionalidade, tem de criar uma chave do reCAPTCHA para cada uma dessas funcionalidades e usá-las na sua aplicação. Por exemplo, se quiser usar tokens de ação do reCAPTCHA e a página de desafio do reCAPTCHA, tem de criar uma chave de token de ação e uma chave de página de desafio, e usá-las na sua aplicação.

Implemente tokens de ação do reCAPTCHA

Tem de ter o reCAPTCHA em execução nas suas páginas Web para gerar tokens de ação. Depois de o reCAPTCHA gerar um token de ação, anexa o token de ação a um cabeçalho de pedido predefinido sempre que precisar de proteger uma ação do utilizador, como checkout. Por predefinição, os tokens de ação são válidos durante 30 minutos, mas podem variar consoante o tráfego. Tem de anexar o token de ação a um cabeçalho de pedido predefinido antes de o token expirar, para que o Cloud Armor possa avaliar os atributos do token.

Para implementar um token de ação do reCAPTCHA, faça o seguinte:

  1. Crie uma chave de token de ação para o seu Website.

    Cloud Console

    1. Na Google Cloud consola, aceda à página reCAPTCHA.

      Aceder ao reCAPTCHA

    2. Verifique se o nome do seu projeto é apresentado no seletor de recursos na parte superior da página.

      Se não vir o nome do seu projeto, clique no seletor de recursos e, de seguida, selecione o seu projeto.

    3. Clique em Criar chave.
    4. No campo Nome a apresentar, introduza um nome a apresentar para a chave.
    5. Consoante a plataforma para a qual quer criar chaves do reCAPTCHA para o WAF, execute a ação adequada:
      1. Para o Tipo de aplicação, selecione Web.

        É apresentada a secção Lista de domínios.

      2. Para proteger a chave do reCAPTCHA para o seu domínio e subdomínios, certifique-se de que o botão Desativar validação de domínio está desativado.

        A desativação da validação de domínio é um risco de segurança porque não existem restrições no site, pelo que qualquer pessoa pode aceder e usar a sua chave do reCAPTCHA.

      3. Introduza o nome do domínio do seu Website:

        1. Na secção Lista de domínios, clique em Adicionar um domínio.
        2. No campo Domínio, introduza o nome do seu domínio.
        3. Opcional: para adicionar um domínio adicional, clique em Adicionar um domínio e introduza o nome de outro domínio no campo Domínio. Pode adicionar um máximo de 250 domínios.

          Para Websites, a chave do reCAPTCHA é exclusiva dos domínios e subdomínios que especificar. Pode especificar mais do que um domínio se publicar o seu Website a partir de vários domínios. Se especificar um domínio (por exemplo, examplepetstore.com), não precisa de especificar os respetivos subdomínios (por exemplo, subdomain.examplepetstore.com).

      4. Em Definições adicionais, ative o botão Vai implementar esta chave numa firewall de aplicações Web (WAF)?.
      5. Nas opções de Funcionalidade, selecione Ação.

      6. Opcional: ative o botão Vai usar desafios?.

      7. Clique em Criar chave.
      8. A chave criada recentemente é apresentada na página Chaves do reCAPTCHA.

    gcloud

    Para criar chaves do reCAPTCHA, use o comando gcloud recaptcha keys create.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • INTEGRATION_TYPE: tipo de integração. Especifique score ou checkbox.
    • DISPLAY_NAME: nome da chave. Normalmente, um nome do site.
    • DOMAIN_NAME: domínios ou subdomínios de Websites autorizados a usar a chave.

      Especifique vários domínios como uma lista separada por vírgulas. Opcional: especifique --allow-all-domains para desativar a validação do domínio.

      A desativação da validação de domínio é um risco de segurança porque não existem restrições no site, pelo que qualquer pessoa pode aceder e usar a sua chave do reCAPTCHA.

    • WAF_FEATURE: nome da funcionalidade da WAF. Especifique action-token.
    • WAF_SERVICE: nome do fornecedor de serviços do WAF. Especifique CA para o Cloud Armor.

    Execute o comando gcloud recaptcha keys create:

    Linux, macOS ou Cloud Shell

    gcloud recaptcha keys create \
    --web \
    --display-name=DISPLAY_NAME  \
    --integration-type=INTEGRATION_TYPE \
    --domains=DOMAIN_NAME \
    --waf-feature=WAF_FEATURE \
    --waf-service=WAF_SERVICE

    Windows (PowerShell)

    gcloud recaptcha keys create `
    --web `
    --display-name=DISPLAY_NAME  `
    --integration-type=INTEGRATION_TYPE `
    --domains=DOMAIN_NAME `
    --waf-feature=WAF_FEATURE `
    --waf-service=WAF_SERVICE

    Windows (cmd.exe)

    gcloud recaptcha keys create ^
    --web ^
    --display-name=DISPLAY_NAME  ^
    --integration-type=INTEGRATION_TYPE ^
    --domains=DOMAIN_NAME ^
    --waf-feature=WAF_FEATURE ^
    --waf-service=WAF_SERVICE

    A resposta contém a chave reCAPTCHA recém-criada.

    REST

    Para ver informações de referência da API sobre tipos de chaves e tipos de integração, consulte Chave e Tipo de integração.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • INTEGRATION_TYPE: tipo de integração. Especifique score ou checkbox.
    • DISPLAY_NAME: nome da chave. Normalmente, um nome do site.
    • DOMAIN_NAME: domínios ou subdomínios de Websites autorizados a usar a chave.

      Especifique vários domínios como uma lista separada por vírgulas. Opcional: especifique --allow-all-domains para desativar a validação do domínio.

      A desativação da validação de domínio é um risco de segurança porque não existem restrições no site, pelo que qualquer pessoa pode aceder e usar a sua chave do reCAPTCHA.

    • WAF_FEATURE: nome da funcionalidade da WAF. Especifique action-token.
    • WAF_SERVICE: nome do fornecedor de serviços do WAF. Especifique CA para o Cloud Armor.
    • DEFAULT_SCORE_THRESHOLD: para chaves de desafio baseadas em políticas, isto define o limite de desafio universal para a chave quando não é definido um limite de pontuação personalizado. Esta funcionalidade está em pré-visualização.
    • ACTION_SCORE_THRESHOLDS: para chaves de desafio baseadas em políticas, isto especifica a ação e a pontuação de limite correspondente entre 0,0 e 1,0. Por exemplo, login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Esta funcionalidade está em pré-visualização.

    Método HTTP e URL:

    POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

    Corpo JSON do pedido:

    
    {
      "displayName": "DISPLAY_NAME",
       'wafSettings': "  {
           "wafService": "WAF_SERVICE",
      
    "wafFeature": "WAF_FEATURE"
      }
      "webSettings": {
        "allowedDomains": "DOMAINS",
        "integrationType": "INTEGRATION_TYPE"
       }
       
    }
    

    Para enviar o seu pedido, escolha uma destas opções:

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

    
    {
      "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
    "displayName": "DISPLAY_NAME,
    
    "webSettings": {
      "allowAllDomains": true,
      "allowedDomains": [
        "localhost"
      ],
    
     "integrationType": "SCORE",
    
    
    },
    "wafSettings": {
      "wafService": "CA",
    
      "wafFeature": "ACTION_TOKEN"
      
    
    }
    }
    
    

  2. Integre o JavaScript do reCAPTCHA nas suas páginas Web com a chave do token de ação que criou. Para ver instruções, consulte o documento que corresponde ao tipo de integração da sua chave do token de ação.

  3. Depois de receber o token do reCAPTCHA, anexe-o a um cabeçalho de pedido predefinido no seguinte formato:

     X-Recaptcha-Token: value-of-your-action-token
    

    Pode usar linguagens como XHR, Ajax ou Fetch API para anexar o token a um cabeçalho de pedido predefinido.

    O script de exemplo seguinte mostra como proteger a ação e anexar o token a um cabeçalho de pedido predefinido através de JavaScript + XHR:execute

      
      <script>
        src="https://www.google.com/recaptcha/enterprise.js?render=ACTION_TOKEN_KEY"></script>
    
        <script>
        function onSuccess(action_token) {
             const xhr = new XMLHttpRequest();
             xhr.open('GET','YOUR_URL', false);
             // Attach the action-token to the predefined request header
             xhr.setRequestHeader("X-Recaptcha-Token", action_token);
             xhr.send(null);
           }
           function onError(reason) {
             alert('Response promise rejected: ' + reason);
           grecaptcha.enterprise.ready(function () {
             document.getElementById("execute-button").onclick = () => {
               grecaptcha.enterprise.execute('ACTION_TOKEN_KEY', {
               }).then(onSuccess, onError);
             };
           });
          }
        </script>
      
      

Implemente tokens de sessão do reCAPTCHA

O JavaScript do reCAPTCHA define um token de sessão do reCAPTCHA como um cookie no navegador do utilizador final após a avaliação. O navegador do utilizador final anexa o cookie e atualiza-o enquanto o JavaScript do reCAPTCHA permanecer ativo.

Para fornecer um token de sessão como um cookie, instale uma chave de token de sessão em, pelo menos, uma das suas páginas Web que o utilizador final navega antes da página que precisa de ser protegida. Por exemplo, se quiser proteger a página de pagamento, instale uma chave de token de sessão na página inicial ou na página do produto.

Para saber como instalar chaves de token de sessão nas suas páginas Web, consulte o artigo Integre chaves baseadas em pontuação com o frontend.

Pode usar este cookie para proteger os pedidos subsequentes e os carregamentos de páginas do utilizador final num domínio específico. Por predefinição, os tokens de sessão são válidos durante 30 minutos. No entanto, se o utilizador final permanecer na página onde implementou o session-token, o reCAPTCHA atualiza o session-token periodicamente para evitar que expire.

Instale session-tokens em cada página que precise de ser protegida pelo reCAPTCHA. Recomendamos que proteja todas as páginas com o reCAPTCHA e use regras do Cloud Armor para aplicar o acesso em todas as páginas, exceto na primeira página que os utilizadores finais exploram.

Segue-se um exemplo de um token de sessão do reCAPTCHA:
   recaptcha-ca-t=value-of-your-session-token;domain=domain;expires=expiration_time

Para implementar um token de sessão do reCAPTCHA, faça o seguinte:

  1. Crie uma chave de token de sessão para o seu Website.

    Cloud Console

    1. Na Google Cloud consola, aceda à página reCAPTCHA.

      Aceder ao reCAPTCHA

    2. Verifique se o nome do seu projeto é apresentado no seletor de recursos na parte superior da página.

      Se não vir o nome do seu projeto, clique no seletor de recursos e, de seguida, selecione o seu projeto.

    3. Clique em Criar chave.
    4. No campo Nome a apresentar, introduza um nome a apresentar para a chave.
    5. Consoante a plataforma para a qual quer criar chaves do reCAPTCHA para o WAF, execute a ação adequada:
      1. Para o Tipo de aplicação, selecione Web.

        É apresentada a secção Lista de domínios.

      2. Para proteger a chave do reCAPTCHA para o seu domínio e subdomínios, certifique-se de que o botão Desativar validação de domínio está desativado.

        A desativação da validação de domínio é um risco de segurança porque não existem restrições no site, pelo que qualquer pessoa pode aceder e usar a sua chave do reCAPTCHA.

      3. Introduza o nome do domínio do seu Website:

        1. Na secção Lista de domínios, clique em Adicionar um domínio.
        2. No campo Domínio, introduza o nome do seu domínio.
        3. Opcional: para adicionar um domínio adicional, clique em Adicionar um domínio e introduza o nome de outro domínio no campo Domínio. Pode adicionar um máximo de 250 domínios.

          Para Websites, a chave do reCAPTCHA é exclusiva dos domínios e subdomínios que especificar. Pode especificar mais do que um domínio se publicar o seu Website a partir de vários domínios. Se especificar um domínio (por exemplo, examplepetstore.com), não precisa de especificar os respetivos subdomínios (por exemplo, subdomain.examplepetstore.com).

      4. Em Definições adicionais, ative o botão Vai implementar esta chave numa firewall de aplicações Web (WAF)?.
      5. Nas opções de Funcionalidade, selecione Sessão.

      6. Opcional:ative a opção Desativar validação de domínio.

        A desativação da validação de domínio é um risco de segurança porque não existem restrições no site, pelo que qualquer pessoa pode aceder e usar a sua chave do reCAPTCHA.

      7. Clique em Criar chave.
      8. A chave criada recentemente é apresentada na página Chaves do reCAPTCHA.

    gcloud

    Para criar chaves do reCAPTCHA, use o comando gcloud recaptcha keys create.

    Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

    • INTEGRATION_TYPE: tipo de integração. Especifique score.
    • DISPLAY_NAME: nome da chave. Normalmente, um nome do site.
    • DOMAIN_NAME: domínios ou subdomínios de Websites autorizados a usar a chave.

      Especifique vários domínios como uma lista separada por vírgulas. Opcional: especifique --allow-all-domains para desativar a validação do domínio.

      A desativação da validação de domínio é um risco de segurança porque não existem restrições no site, pelo que qualquer pessoa pode aceder e usar a sua chave do reCAPTCHA.

    • WAF_FEATURE: nome da funcionalidade da WAF. Especifique session-token.
    • WAF_SERVICE: nome do fornecedor de serviços do WAF. Especifique CA para o Cloud Armor.

    Execute o comando gcloud recaptcha keys create:

    Linux, macOS ou Cloud Shell

    gcloud recaptcha keys create \
    --web \
    --display-name=DISPLAY_NAME  \
    --integration-type=INTEGRATION_TYPE \
    --domains=DOMAIN_NAME \
    --waf-feature=WAF_FEATURE \
    --waf-service=WAF_SERVICE

    Windows (PowerShell)

    gcloud recaptcha keys create `
    --web `
    --display-name=DISPLAY_NAME  `
    --integration-type=INTEGRATION_TYPE `
    --domains=DOMAIN_NAME `
    --waf-feature=WAF_FEATURE `
    --waf-service=WAF_SERVICE

    Windows (cmd.exe)

    gcloud recaptcha keys create ^
    --web ^
    --display-name=DISPLAY_NAME  ^
    --integration-type=INTEGRATION_TYPE ^
    --domains=DOMAIN_NAME ^
    --waf-feature=WAF_FEATURE ^
    --waf-service=WAF_SERVICE

    A resposta contém a chave reCAPTCHA recém-criada.

    REST

    Para ver informações de referência da API sobre tipos de chaves e tipos de integração, consulte Chave e Tipo de integração.

    Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

    • INTEGRATION_TYPE: tipo de integração. Especifique score.
    • DISPLAY_NAME: nome da chave. Normalmente, um nome do site.
    • DOMAIN_NAME: domínios ou subdomínios de Websites autorizados a usar a chave.

      Especifique vários domínios como uma lista separada por vírgulas. Opcional: especifique --allow-all-domains para desativar a validação do domínio.

      A desativação da validação de domínio é um risco de segurança porque não existem restrições no site, pelo que qualquer pessoa pode aceder e usar a sua chave do reCAPTCHA.

    • WAF_FEATURE: nome da funcionalidade da WAF. Especifique session-token.
    • WAF_SERVICE: nome do fornecedor de serviços do WAF. Especifique CA para o Cloud Armor.
    • DEFAULT_SCORE_THRESHOLD: para chaves de desafio baseadas em políticas, isto define o limite de desafio universal para a chave quando não é definido um limite de pontuação personalizado. Esta funcionalidade está em pré-visualização.
    • ACTION_SCORE_THRESHOLDS: para chaves de desafio baseadas em políticas, isto especifica a ação e a pontuação de limite correspondente entre 0,0 e 1,0. Por exemplo, login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Esta funcionalidade está em pré-visualização.

    Método HTTP e URL:

    POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

    Corpo JSON do pedido:

    
    {
      "displayName": "DISPLAY_NAME",
       'wafSettings': "  {
           "wafService": "WAF_SERVICE",
      
    "wafFeature": "WAF_FEATURE"
      }
      "webSettings": {
        "allowedDomains": "DOMAINS",
        "integrationType": "INTEGRATION_TYPE"
       }
       
    }
    

    Para enviar o seu pedido, escolha uma destas opções:

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

    
    {
      "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
    "displayName": "DISPLAY_NAME,
    
    "webSettings": {
      "allowAllDomains": true,
      "allowedDomains": [
        "localhost"
      ],
    
     "integrationType": "SCORE",
    
    
    },
    "wafSettings": {
      "wafService": "CA",
    
      "wafFeature": "SESSION_TOKEN"
    
    
    }
    }
    
    

  2. Adicione a chave session-token e waf=session ao JavaScript do reCAPTCHA.

    O script de exemplo seguinte mostra como implementar um token de sessão numa página Web:

    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <title>reCAPTCHA WAF Session Token</title>
     <script src="https://www.google.com/recaptcha/enterprise.js?render=SESSION_TOKEN_KEY&waf=session" async defer></script>
     <body></body>
    </head>
    </html>

Implemente uma página de desafio reCAPTCHA

Quando implementa uma página de desafio do reCAPTCHA, o reCAPTCHA redireciona para uma página intersticial onde determina se é necessário apresentar um desafio CAPTCHA a um utilizador. Por conseguinte, os desafios CAPTCHA podem não estar visíveis para todos os utilizadores.

Para implementar uma página de desafio do reCAPTCHA, crie uma chave de página de desafio para o seu Website.

Cloud Console

  1. Na Google Cloud consola, aceda à página reCAPTCHA.

    Aceder ao reCAPTCHA

  2. Verifique se o nome do seu projeto é apresentado no seletor de recursos na parte superior da página.

    Se não vir o nome do seu projeto, clique no seletor de recursos e, de seguida, selecione o seu projeto.

  3. Clique em Criar chave.
  4. No campo Nome a apresentar, introduza um nome a apresentar para a chave.
  5. Consoante a plataforma para a qual quer criar chaves do reCAPTCHA para o WAF, execute a ação adequada:
    1. Para o Tipo de aplicação, selecione Web.
    2. Em Definições adicionais, ative o botão Vai implementar esta chave numa firewall de aplicações Web (WAF)?.
    3. Nas opções de Funcionalidade, selecione Desafio.

    4. Ative a opção Desativar validação de domínio.

      Quando desativa a validação de domínio para chaves de página de desafio, o Cloud Armor valida o domínio.

    5. Clique em Criar chave.
    6. A chave criada recentemente é apresentada na página Chaves do reCAPTCHA.

gcloud

Para criar chaves do reCAPTCHA, use o comando gcloud recaptcha keys create.

Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

  • INTEGRATION_TYPE: tipo de integração. Especifique invisible.
  • DISPLAY_NAME: nome da chave. Normalmente, um nome do site.
  • DOMAIN_NAME: domínios ou subdomínios de Websites autorizados a usar a chave. Especifique --allow-all-domains.
  • WAF_FEATURE: nome da funcionalidade da WAF. Especifique challenge-page.
  • WAF_SERVICE: nome do fornecedor de serviços do WAF. Especifique CA para o Cloud Armor.

Execute o comando gcloud recaptcha keys create:

Linux, macOS ou Cloud Shell

gcloud recaptcha keys create \
--web \
--display-name=DISPLAY_NAME  \
--integration-type=INTEGRATION_TYPE \
--domains=DOMAIN_NAME \
--waf-feature=WAF_FEATURE \
--waf-service=WAF_SERVICE

Windows (PowerShell)

gcloud recaptcha keys create `
--web `
--display-name=DISPLAY_NAME  `
--integration-type=INTEGRATION_TYPE `
--domains=DOMAIN_NAME `
--waf-feature=WAF_FEATURE `
--waf-service=WAF_SERVICE

Windows (cmd.exe)

gcloud recaptcha keys create ^
--web ^
--display-name=DISPLAY_NAME  ^
--integration-type=INTEGRATION_TYPE ^
--domains=DOMAIN_NAME ^
--waf-feature=WAF_FEATURE ^
--waf-service=WAF_SERVICE

A resposta contém a chave reCAPTCHA recém-criada.

REST

Para ver informações de referência da API sobre tipos de chaves e tipos de integração, consulte Chave e Tipo de integração.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • INTEGRATION_TYPE: tipo de integração. Especifique invisible.
  • DISPLAY_NAME: nome da chave. Normalmente, um nome do site.
  • DOMAIN_NAME: domínios ou subdomínios de Websites autorizados a usar a chave. Especifique --allow-all-domains.
  • WAF_FEATURE: nome da funcionalidade da WAF. Especifique challenge-page.
  • WAF_SERVICE: nome do fornecedor de serviços do WAF. Especifique CA para o Cloud Armor.
  • DEFAULT_SCORE_THRESHOLD: para chaves de desafio baseadas em políticas, isto define o limite de desafio universal para a chave quando não é definido um limite de pontuação personalizado. Esta funcionalidade está em pré-visualização.
  • ACTION_SCORE_THRESHOLDS: para chaves de desafio baseadas em políticas, isto especifica a ação e a pontuação de limite correspondente entre 0,0 e 1,0. Por exemplo, login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. Esta funcionalidade está em pré-visualização.

Método HTTP e URL:

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

Corpo JSON do pedido:


{
  "displayName": "DISPLAY_NAME",
   'wafSettings': "  {
       "wafService": "WAF_SERVICE",
  
"wafFeature": "WAF_FEATURE"
  }
  "webSettings": {
    "allowedDomains": "DOMAINS",
    "integrationType": "INTEGRATION_TYPE"
   }
   
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

PowerShell

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:


{
  "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
"displayName": "DISPLAY_NAME,

"webSettings": {
  "allowAllDomains": true,
  "allowedDomains": [
    "localhost"
  ],

  "integrationType": "INVISIBLE",
 

},
"wafSettings": {
  "wafService": "CA",

  "wafFeature": "CHALLENGE_PAGE"
  

}
}

Configure políticas de segurança do Cloud Armor

Depois de implementar as funcionalidades do reCAPTCHA para o Cloud Armor, tem de configurar as políticas de segurança do Cloud Armor para a gestão de bots.

Se implementou uma página de desafio do reCAPTCHA, tem de fazer o seguinte:

  1. Associe a chave da página de desafio à sua política de segurança.
  2. Configure uma regra de política de segurança para redirecionar um pedido de avaliação do reCAPTCHA.

Se implementou tokens de ação ou tokens de sessão do reCAPTCHA, tem de configurar uma regra de política de segurança que avalie os tokens do reCAPTCHA.

Antes de configurar as políticas de segurança do Cloud Armor, compreenda os atributos do token do reCAPTCHA para o Cloud Armor.

Para saber como configurar as políticas de segurança do Cloud Armor e usar as chaves do reCAPTCHA para WAF com as suas políticas de segurança, consulte o artigo Configure regras para a gestão de bots.

Obtenha pontuações do reCAPTCHA

Para tokens de ação e tokens de sessão do reCAPTCHA, pode obter pontuações do reCAPTCHA a partir do cabeçalho X-Recaptcha-Wafdata. Com base nestas classificações, pode configurar qualquer ação personalizada que tenha de ser tomada para pedidos de utilizadores.

O exemplo seguinte mostra um cabeçalho X-Recaptcha-Wafdata de exemplo:

X-Recaptcha-Wafdata: waf_service="Google Cloud Armor", action_token;score=0.9, session_token;score=0.8\r\n

Também pode ver as pontuações do reCAPTCHA nos registos do Google Cloud Armor.

O que se segue?