Realiza la integración con Google Cloud Armor para sitios web

En este documento, se muestra cómo integrar reCAPTCHA Enterprise para WAF con Google Cloud Armor en sitios web.

A fin de completar la integración, debes implementar una o más funciones de reCAPTCHA Enterprise para WAF y configurar las políticas de seguridad de Google Cloud Armor.

Antes de comenzar

  1. Habilita la API de reCAPTCHA Enterprise.

    Habilita la API

  2. Planifica cómo deseas implementar las funciones de reCAPTCHA Enterprise para WAF y proteger tu sitio web.

    1. Elige una o más funciones de WAF que mejor se adapten a tu caso de uso.
    2. Identifica las páginas que deseas proteger y el tipo de función de WAF que quieres implementar en ellas.

Implementa funciones de reCAPTCHA Enterprise para WAF

Según tus requisitos, puedes usar una o más funciones de reCAPTCHA Enterprise para WAF en una sola aplicación.

Si deseas usar más de una función, debes crear una clave de reCAPTCHA para cada una de ellas y usarlas en tu aplicación. Por ejemplo, si deseas usar tokens de acción de reCAPTCHA y la página de desafío de reCAPTCHA, debes crear una clave de token de acción y una clave de página de desafío, y usarlas en tu aplicación.

Implementa tokens de acción de reCAPTCHA

Debes ejecutar reCAPTCHA Enterprise en tus páginas web para generar tokens de acción. Después de que reCAPTCHA Enterprise genere un token de acción, debes adjuntarlo a un encabezado de solicitud predefinido donde necesites proteger cualquier acción del usuario, como checkout. De forma predeterminada, los tokens de acción son válidos durante 30 minutos, pero pueden variar según el tráfico. Debes adjuntar el token de acción a un encabezado de solicitud predefinido antes de que el token venza, de modo que Google Cloud Armor pueda evaluar los atributos del token.

Para implementar un token de acción de reCAPTCHA, haz lo siguiente:

  1. Crea una clave de token de acción para tu sitio web.

    Console

    1. En la consola de Google Cloud, ve a la página reCAPTCHA Enterprise.

      Ir a reCAPTCHA Enterprise

    2. Verifica que el nombre de tu proyecto aparezca en el selector de recursos que se encuentra en la parte superior de la página.

      Si no ves el nombre de tu proyecto, haz clic en el selector de recursos y, luego, selecciona tu proyecto.

    3. Haz clic en Crear clave.

    4. En el campo Nombre visible (Display name), ingresa el nombre visible de la clave.
    5. Según la plataforma para la que quieras crear claves de reCAPTCHA para WAF, realiza la acción correspondiente:
      1. En el menú Choose platform type, selecciona Website.

        Aparecerá la sección Lista de dominios.

      2. Ingresa el nombre de dominio de tu sitio web:

        1. En la sección Lista de dominios, haz clic en Agregar un dominio.

        2. En el campo Dominio, ingresa el nombre de tu dominio.
        3. Opcional: Para agregar un dominio adicional, haz clic en Agregar un dominio y, luego, ingresa el nombre de otro dominio en el campo Dominio. Puedes agregar hasta 250 dominios.

          En el caso de los sitios web, la clave de reCAPTCHA es única para los dominios y subdominios que especifiques. Puedes especificar más de un dominio si entregas tu sitio web desde varios dominios. Si especificas un dominio (por ejemplo, examplepetstore.com), no es necesario que especifiques sus subdominios (por ejemplo, subdomain.examplepetstore.com).

      3. Expande la sección Firewall de aplicación web (WAF), verificación de dominio, páginas de AMP y desafío.
      4. Activa el botón de activación Firewall de aplicación web (WAF).
      5. En el menú Feature, selecciona Action token.

      6. Opcional: Activa Usar el desafío de la casilla de verificación.

      7. Haz clic en Crear clave.
      8. La nueva clave aparecerá en la página de claves de reCAPTCHA.

    gcloud

    Para crear claves de reCAPTCHA, usa el comando gcloud recaptcha keys create.

    Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

    • DISPLAY_NAME: Es el nombre de la clave. Por lo general, es un nombre de sitio.
    • INTEGRATION_TYPE: Tipo de integración. Especifica score o checkbox.
    • DOMAIN_NAME: Son dominios o subdominios de sitios web que pueden usar la clave.

      Especifica varios dominios en una lista separada por comas. Opcional: Especifica --allow-all-domains para inhabilitar la verificación del dominio.

      Inhabilitar la verificación del dominio es un riesgo de seguridad porque no hay restricciones en el sitio, por lo que cualquier persona puede acceder a tu clave de reCAPTCHA y usarla.

    • WAF_FEATURE: Nombre de la función de WAF. Especifica action-token.
    • WAF_SERVICE: Nombre del proveedor de servicios de WAF. Especifica CA para Google Cloud Armor.

    Ejecuta el comando gcloud recaptcha keys create:

    Linux, macOS o 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
    
    

    La respuesta contiene la clave de reCAPTCHA recién creada.

    REST

    Para obtener información de referencia de la API sobre tipos de claves y tipos de integración, consulta Clave y Tipo de integración.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • DISPLAY_NAME: Es el nombre de la clave. Por lo general, es un nombre de sitio.
    • INTEGRATION_TYPE: Tipo de integración. Especifica score o checkbox.
    • DOMAIN_NAME: Son dominios o subdominios de sitios web que pueden usar la clave.

      Especifica varios dominios en una lista separada por comas. Opcional: Especifica --allow-all-domains para inhabilitar la verificación del dominio.

      Inhabilitar la verificación del dominio es un riesgo de seguridad porque no hay restricciones en el sitio, por lo que cualquier persona puede acceder a tu clave de reCAPTCHA y usarla.

    • WAF_FEATURE: Nombre de la función de WAF. Especifica action-token.
    • WAF_SERVICE: Nombre del proveedor de servicios de WAF. Especifica CA para Google Cloud Armor.

    HTTP method and URL:

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

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    {
      "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. Integra reCAPTCHA JavaScript en tus páginas web con la clave de token de acción que creaste. Para obtener instrucciones, consulta el documento correspondiente al tipo de integración de tu clave de token de acción.

  3. Después de recibir el token de reCAPTCHA Enterprise, adjunta el token a un encabezado de solicitud predefinido en el siguiente formato:

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

    Puedes usar lenguajes como XHR, Ajax o la API de Fetch para adjuntar el token a un encabezado de solicitud predefinido.

    En la siguiente secuencia de comandos de ejemplo, se muestra cómo proteger la acción execute y adjuntar el token a un encabezado de solicitud predefinido mediante JavaScript y XHR:

    
      <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>
    
      

Implementa tokens de sesión de reCAPTCHA

reCAPTCHA JavaScript establece un token de sesión de reCAPTCHA como una cookie en el navegador del usuario final después de la evaluación. El navegador del usuario final adjunta la cookie y la actualiza, siempre y cuando el JavaScript de reCAPTCHA permanezca activo.

Para proporcionar un token de sesión como cookie, instala una clave de token de sesión en al menos una de tus páginas web que cumpla con los siguientes requisitos:

  • La página web debe ser la página que el usuario final explora antes de la que se necesita proteger. Por ejemplo, si deseas proteger la página de confirmación de compras, instala una clave de token de sesión en la página principal o en la del producto.
  • La página web está protegida por una política de seguridad de Google Cloud Armor.

Puedes usar esta cookie para proteger las solicitudes y cargas de página posteriores del usuario final en un dominio específico. De forma predeterminada, los tokens de sesión son válidos durante 30 minutos. Sin embargo, si el usuario final permanece en la página donde implementaste el token de sesión, reCAPTCHA Enterprise actualiza el token de sesión de forma periódica para evitar que venza.

Instala tokens de sesión en cada página que deba protegerse con reCAPTCHA Enterprise. Te recomendamos proteger todas las páginas con reCAPTCHA Enterprise y usar las reglas de Google Cloud Armor para aplicar el acceso a todas las páginas, excepto a la primera que exploran los usuarios finales.

El siguiente es un token de sesión de reCAPTCHA de muestra:
   recaptcha-ca-t=value-of-your-session-token;domain=domain;expires=expiration_time

Para implementar un token de sesión de reCAPTCHA, haz lo siguiente:

  1. Crea una clave de token de sesión para tu sitio web.

    Console

    1. En la consola de Google Cloud, ve a la página reCAPTCHA Enterprise.

      Ir a reCAPTCHA Enterprise

    2. Verifica que el nombre de tu proyecto aparezca en el selector de recursos que se encuentra en la parte superior de la página.

      Si no ves el nombre de tu proyecto, haz clic en el selector de recursos y, luego, selecciona tu proyecto.

    3. Haz clic en Crear clave.

    4. En el campo Nombre visible (Display name), ingresa el nombre visible de la clave.
    5. Según la plataforma para la que quieras crear claves de reCAPTCHA para WAF, realiza la acción correspondiente:
      1. En el menú Choose platform type, selecciona Website.

        Aparecerá la sección Lista de dominios.

      2. Ingresa el nombre de dominio de tu sitio web:

        1. En la sección Lista de dominios, haz clic en Agregar un dominio.

        2. En el campo Dominio, ingresa el nombre de tu dominio.
        3. Opcional: Para agregar un dominio adicional, haz clic en Agregar un dominio y, luego, ingresa el nombre de otro dominio en el campo Dominio. Puedes agregar hasta 250 dominios.

          En el caso de los sitios web, la clave de reCAPTCHA es única para los dominios y subdominios que especifiques. Puedes especificar más de un dominio si entregas tu sitio web desde varios dominios. Si especificas un dominio (por ejemplo, examplepetstore.com), no es necesario que especifiques sus subdominios (por ejemplo, subdomain.examplepetstore.com).

      3. Expande la sección Firewall de aplicación web (WAF), verificación de dominio, páginas de AMP y desafío.
      4. Activa el botón de activación Firewall de aplicación web (WAF).
      5. En el menú Feature, selecciona Session token.

      6. Opcional:Activa Inhabilitar la verificación del dominio.

        Inhabilitar la verificación del dominio es un riesgo de seguridad porque no hay restricciones en el sitio, por lo que cualquier persona puede acceder a tu clave de reCAPTCHA y usarla.

      7. Haz clic en Crear clave.
      8. La nueva clave aparecerá en la página de claves de reCAPTCHA.

    gcloud

    Para crear claves de reCAPTCHA, usa el comando gcloud recaptcha keys create.

    Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

    • DISPLAY_NAME: Es el nombre de la clave. Por lo general, es un nombre de sitio.
    • INTEGRATION_TYPE: Tipo de integración. Especifica score.
    • DOMAIN_NAME: Son dominios o subdominios de sitios web que pueden usar la clave.

      Especifica varios dominios en una lista separada por comas. Opcional: Especifica --allow-all-domains para inhabilitar la verificación del dominio.

      Inhabilitar la verificación del dominio es un riesgo de seguridad porque no hay restricciones en el sitio, por lo que cualquier persona puede acceder a tu clave de reCAPTCHA y usarla.

    • WAF_FEATURE: Nombre de la función de WAF. Especifica session-token.
    • WAF_SERVICE: Nombre del proveedor de servicios de WAF. Especifica CA para Google Cloud Armor.

    Ejecuta el comando gcloud recaptcha keys create:

    Linux, macOS o 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
    
    

    La respuesta contiene la clave de reCAPTCHA recién creada.

    REST

    Para obtener información de referencia de la API sobre tipos de claves y tipos de integración, consulta Clave y Tipo de integración.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • DISPLAY_NAME: Es el nombre de la clave. Por lo general, es un nombre de sitio.
    • INTEGRATION_TYPE: Tipo de integración. Especifica score.
    • DOMAIN_NAME: Son dominios o subdominios de sitios web que pueden usar la clave.

      Especifica varios dominios en una lista separada por comas. Opcional: Especifica --allow-all-domains para inhabilitar la verificación del dominio.

      Inhabilitar la verificación del dominio es un riesgo de seguridad porque no hay restricciones en el sitio, por lo que cualquier persona puede acceder a tu clave de reCAPTCHA y usarla.

    • WAF_FEATURE: Nombre de la función de WAF. Especifica session-token.
    • WAF_SERVICE: Nombre del proveedor de servicios de WAF. Especifica CA para Google Cloud Armor.

    HTTP method and URL:

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

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, elige una de estas opciones:

    curl

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

    Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    
    {
      "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. Agrega la clave de token de sesión y waf=session al código JavaScript de reCAPTCHA.

    En la siguiente secuencia de comandos de ejemplo, se muestra cómo implementar un token de sesión en una 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>
    
    

Implementa una página de desafío de reCAPTCHA

Cuando implementas una página de desafío de reCAPTCHA, reCAPTCHA Enterprise se redirecciona a una página intersticial, en la que determina si es necesario mostrar un desafío de CAPTCHA a un usuario. Por lo tanto, es posible que los desafíos de CAPTCHA no sean visibles para todos los usuarios.

Si quieres implementar una página de desafío de reCAPTCHA, crea una clave de página de desafío para tu sitio web.

Console

  1. En la consola de Google Cloud, ve a la página reCAPTCHA Enterprise.

    Ir a reCAPTCHA Enterprise

  2. Verifica que el nombre de tu proyecto aparezca en el selector de recursos que se encuentra en la parte superior de la página.

    Si no ves el nombre de tu proyecto, haz clic en el selector de recursos y, luego, selecciona tu proyecto.

  3. Haz clic en Crear clave.

  4. En el campo Nombre visible (Display name), ingresa el nombre visible de la clave.
  5. Según la plataforma para la que quieras crear claves de reCAPTCHA para WAF, realiza la acción correspondiente:
    1. En el menú Choose platform type, selecciona Website.

    2. Expande la sección Firewall de aplicación web (WAF), verificación de dominio, páginas de AMP y desafío.
    3. Activa el botón de activación Firewall de aplicación web (WAF).
    4. En el menú Feature (Característica), selecciona Challenge page (Página de desafío).

    5. Activa Inhabilitar la verificación del dominio.

      Cuando inhabilitas la verificación del dominio para las claves de página de desafío, Google Cloud Armor verifica el dominio.

    6. Haz clic en Crear clave.
    7. La nueva clave aparecerá en la página de claves de reCAPTCHA.

gcloud

Para crear claves de reCAPTCHA, usa el comando gcloud recaptcha keys create.

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • DISPLAY_NAME: Es el nombre de la clave. Por lo general, es un nombre de sitio.
  • INTEGRATION_TYPE: Tipo de integración. Especifica invisible.
  • DOMAIN_NAME: Son dominios o subdominios de sitios web que pueden usar la clave. Especifica --allow-all-domains.
  • WAF_FEATURE: Nombre de la función de WAF. Especifica challenge-page.
  • WAF_SERVICE: Nombre del proveedor de servicios de WAF. Especifica CA para Google Cloud Armor.

Ejecuta el comando gcloud recaptcha keys create:

Linux, macOS o 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

La respuesta contiene la clave de reCAPTCHA recién creada.

REST

Para obtener información de referencia de la API sobre tipos de claves y tipos de integración, consulta Clave y Tipo de integración.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • DISPLAY_NAME: Es el nombre de la clave. Por lo general, es un nombre de sitio.
  • INTEGRATION_TYPE: Tipo de integración. Especifica invisible.
  • DOMAIN_NAME: Son dominios o subdominios de sitios web que pueden usar la clave. Especifica --allow-all-domains.
  • WAF_FEATURE: Nombre de la función de WAF. Especifica challenge-page.
  • WAF_SERVICE: Nombre del proveedor de servicios de WAF. Especifica CA para Google Cloud Armor.

HTTP method and URL:

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

Cuerpo JSON de la solicitud:


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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente 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

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:


{
  "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
"displayName": "DISPLAY_NAME,
"webSettings": {
  "allowAllDomains": true,
  "allowedDomains": [
    "localhost"
  ],

  "integrationType": "INVISIBLE",

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

}
}

Configura las políticas de seguridad de Google Cloud Armor

Después de implementar las funciones de reCAPTCHA Enterprise para WAF, debes configurar las políticas de seguridad de Google Cloud Armor para la administración de bots.

Si implementaste una página de desafío de reCAPTCHA, debes hacer lo siguiente:

  1. Asocia la clave de la página de desafío a tu política de seguridad.
  2. Configurar una regla de política de seguridad para redireccionar una solicitud de evaluación de reCAPTCHA Enterprise

Si implementaste tokens de acción o de sesión de reCAPTCHA, debes configurar una regla de política de seguridad que evalúe los tokens de reCAPTCHA Enterprise.

Antes de configurar las políticas de seguridad de Google Cloud Armor, debes comprender los atributos del token de reCAPTCHA para Google Cloud Armor.

Si quieres aprender a configurar las políticas de seguridad de Google Cloud Armor y a usar las claves de reCAPTCHA para WAF con tus políticas de seguridad, consulta Configura las reglas de administración de bots.

¿Qué sigue?