En este documento, se muestra cómo integrar reCAPTCHA para Cloud Armor en sitios web.
Para completar la integración, debes implementar una o más funciones de reCAPTCHA para Cloud Armor y configurar las políticas de seguridad de Cloud Armor.
Antes de comenzar
Habilita la API de reCAPTCHA Enterprise.
Planifica cómo deseas implementar las funciones de reCAPTCHA para que Cloud Armor proteja tu sitio web.
- Elige una o más funciones del WAF que se ajusten mejor a tu caso de uso.
- Identifica las páginas que deseas proteger y el tipo de función de Cloud Armor que deseas implementar en ellas.
Implementa funciones de reCAPTCHA para Cloud Armor
Según tus requisitos, puedes usar una o más funciones de reCAPTCHA para Cloud Armor en una sola aplicación.
Si quieres 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 tener reCAPTCHA en ejecución en tus páginas web para generar tokens de acción.
Después de que reCAPTCHA genera un token de acción, lo adjuntas 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 venza el token para que Cloud Armor pueda evaluar los atributos del token.
Para implementar un token de acción de reCAPTCHA, haz lo siguiente:
Crea una clave de token de acción para tu sitio web.
Consola de Cloud
En la consola de Google Cloud , ve a la página reCAPTCHA.
Verifica que el nombre de tu proyecto aparezca en el selector de recursos 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.
- Haz clic en Crear clave.
- En el campo Nombre visible, ingresa un nombre visible para la clave.
- Según la plataforma para la que desees crear claves de reCAPTCHA para el WAF, realiza la acción correspondiente:
- En Tipo de aplicación, selecciona Web.
Aparecerá la sección Lista de dominios.
-
Para proteger la clave de reCAPTCHA de tu dominio y subdominios, asegúrate de que el botón de activación Inhabilitar verificación de dominio esté desactivado.
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.
-
Ingresa el nombre de dominio de tu sitio web:
- En la sección Lista de dominios, haz clic en Agregar un dominio.
- En el campo Dominio, ingresa el nombre de tu dominio.
Opcional: Para agregar un dominio adicional, haz clic en Agregar un dominio e ingresa el nombre de otro dominio en el campo Dominio. Puedes agregar hasta un máximo de 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 publicas 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
).
- En Configuración adicional, activa el botón de activación ¿Implementarás esta clave en un firewall de aplicación web (WAF)?.
En las opciones de Feature, selecciona Action.
-
Opcional: Activa el botón de activación ¿Usarás desafíos?.
- Haz clic en Crear clave.
La clave recién creada aparece en la página 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, realiza los siguientes reemplazos:
- INTEGRATION_TYPE: Tipo de integración.
Especifica
score
ocheckbox
. - DISPLAY_NAME: Nombre de la clave. Por lo general, es el nombre del sitio.
- DOMAIN_NAME: Son los dominios o subdominios de los sitios web que pueden usar la clave.
Especifica varios dominios como 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: Es el nombre de la función del WAF.
Especifica
action-token
. - WAF_SERVICE: Nombre del proveedor de servicios del WAF.
Especifica
CA
para 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 los tipos de claves y los tipos de integración, consulta Key y Integration type.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- INTEGRATION_TYPE: Tipo de integración.
Especifica
score
ocheckbox
. - DISPLAY_NAME: Nombre de la clave. Por lo general, es el nombre del sitio.
- DOMAIN_NAME: Son los dominios o subdominios de los sitios web que pueden usar la clave.
Especifica varios dominios como 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: Es el nombre de la función del WAF.
Especifica
action-token
. - WAF_SERVICE: Nombre del proveedor de servicios del WAF.
Especifica
CA
para Cloud Armor. - DEFAULT_SCORE_THRESHOLD: Para las claves de desafío basadas en políticas, este parámetro define el umbral de desafío universal para la clave cuando no se define un umbral de puntuación personalizado. Esta función está en vista previa.
- ACTION_SCORE_THRESHOLDS: Para las claves de desafío basadas en políticas, se especifica la acción y la puntuación de umbral correspondiente entre 0.0 y 1.0. Por ejemplo,
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'
Esta función está en vista previa.
Método HTTP y 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": "INTEGRATION_TYPE" } }
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 ContentDeberí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" } }
Integra el JavaScript de reCAPTCHA en tus páginas web con la clave del token de acción que creaste. Para obtener instrucciones, consulta el documento que corresponde al tipo de integración de tu clave de token de acción.
- Para el tipo de integración
SCORE
, consulta Cómo integrar claves basadas en la puntuación con el frontend. - Para el tipo de integración
CHECKBOX
, consulta Cómo renderizar el widget de reCAPTCHA en el frontend.
- Para el tipo de integración
Después de recibir el token de reCAPTCHA, adjúntalo a un encabezado de solicitud predefinido con 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.
La siguiente secuencia de comandos de ejemplo muestra cómo proteger la acción
execute
y adjuntar el token a un encabezado de solicitud predefinido con 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
El JavaScript de reCAPTCHA 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 mientras 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 el usuario final explore antes de la página que se debe proteger. Por ejemplo, si quieres proteger la página de confirmación de compra, instala una clave de token de sesión en la página principal o en la página del producto.
Para obtener información sobre cómo instalar claves de token de sesión en tus páginas web, consulta Integra claves basadas en puntuaciones con el frontend.
Puedes usar esta cookie para proteger las solicitudes posteriores y las cargas de página 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 en la que implementaste el token de sesión, reCAPTCHA actualiza el token de sesión periódicamente para evitar que venza.
Instala tokens de sesión en cada página que necesite protección de reCAPTCHA. Te recomendamos que protejas cada página con reCAPTCHA y que uses reglas de Cloud Armor para aplicar el acceso en todas las páginas, excepto la primera que exploran los usuarios finales.
A continuación, se muestra un ejemplo de un token de sesión de reCAPTCHA: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:
Crea una clave de token de sesión para tu sitio web.
Consola de Cloud
En la consola de Google Cloud , ve a la página reCAPTCHA.
Verifica que el nombre de tu proyecto aparezca en el selector de recursos 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.
- Haz clic en Crear clave.
- En el campo Nombre visible, ingresa un nombre visible para la clave.
- Según la plataforma para la que desees crear claves de reCAPTCHA para el WAF, realiza la acción correspondiente:
- En Tipo de aplicación, selecciona Web.
Aparecerá la sección Lista de dominios.
-
Para proteger la clave de reCAPTCHA de tu dominio y subdominios, asegúrate de que el botón de activación Inhabilitar verificación de dominio esté desactivado.
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.
-
Ingresa el nombre de dominio de tu sitio web:
- En la sección Lista de dominios, haz clic en Agregar un dominio.
- En el campo Dominio, ingresa el nombre de tu dominio.
Opcional: Para agregar un dominio adicional, haz clic en Agregar un dominio e ingresa el nombre de otro dominio en el campo Dominio. Puedes agregar hasta un máximo de 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 publicas 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
).
- En Configuración adicional, activa el botón de activación ¿Implementarás esta clave en un firewall de aplicación web (WAF)?.
En las opciones de Feature, selecciona Session.
- 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.
- Haz clic en Crear clave.
La clave recién creada aparece en la página 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, realiza los siguientes reemplazos:
- INTEGRATION_TYPE: Tipo de integración.
Especifica
score
. - DISPLAY_NAME: Nombre de la clave. Por lo general, es el nombre del sitio.
- DOMAIN_NAME: Son los dominios o subdominios de los sitios web que pueden usar la clave.
Especifica varios dominios como 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: Es el nombre de la función del WAF.
Especifica
session-token
. - WAF_SERVICE: Nombre del proveedor de servicios del WAF.
Especifica
CA
para 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 los tipos de claves y los tipos de integración, consulta Key y Integration type.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- INTEGRATION_TYPE: Tipo de integración.
Especifica
score
. - DISPLAY_NAME: Nombre de la clave. Por lo general, es el nombre del sitio.
- DOMAIN_NAME: Son los dominios o subdominios de los sitios web que pueden usar la clave.
Especifica varios dominios como 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: Es el nombre de la función del WAF.
Especifica
session-token
. - WAF_SERVICE: Nombre del proveedor de servicios del WAF.
Especifica
CA
para Cloud Armor. - DEFAULT_SCORE_THRESHOLD: Para las claves de desafío basadas en políticas, este parámetro define el umbral de desafío universal para la clave cuando no se define un umbral de puntuación personalizado. Esta función está en vista previa.
- ACTION_SCORE_THRESHOLDS: Para las claves de desafío basadas en políticas, se especifica la acción y la puntuación de umbral correspondiente entre 0.0 y 1.0. Por ejemplo,
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'
Esta función está en vista previa.
Método HTTP y 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": "INTEGRATION_TYPE" } }
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 ContentDeberí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" } }
Agrega la clave del 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 redirecciona a una página intersticial en la que determina si es necesario mostrarle un desafío CAPTCHA a un usuario. Por lo tanto, es posible que los desafíos de CAPTCHA no sean visibles para todos los usuarios.
Para implementar una página de desafío de reCAPTCHA, crea una clave de página de desafío para tu sitio web.
Consola de Cloud
En la consola de Google Cloud , ve a la página reCAPTCHA.
Verifica que el nombre de tu proyecto aparezca en el selector de recursos 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.
- Haz clic en Crear clave.
- En el campo Nombre visible, ingresa un nombre visible para la clave.
- Según la plataforma para la que desees crear claves de reCAPTCHA para el WAF, realiza la acción correspondiente:
- En Tipo de aplicación, selecciona Web.
- En Configuración adicional, activa el botón de activación ¿Implementarás esta clave en un firewall de aplicación web (WAF)?.
En las opciones de Feature, selecciona Challenge.
- Activa Inhabilitar la verificación del dominio.
Cuando inhabilitas la verificación del dominio para las claves de la página de desafío, Cloud Armor verifica el dominio.
- Haz clic en Crear clave.
La clave recién creada aparece en la página 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, realiza los siguientes reemplazos:
- INTEGRATION_TYPE: Tipo de integración.
Especifica
invisible
. - DISPLAY_NAME: Nombre de la clave. Por lo general, es el nombre del sitio.
- DOMAIN_NAME: Son los dominios o subdominios de los sitios web que pueden usar la clave.
Especifica
--allow-all-domains
. - WAF_FEATURE: Es el nombre de la función del WAF.
Especifica
challenge-page
. - WAF_SERVICE: Nombre del proveedor de servicios del WAF.
Especifica
CA
para 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 los tipos de claves y los tipos de integración, consulta Key y Integration type.Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- INTEGRATION_TYPE: Tipo de integración.
Especifica
invisible
. - DISPLAY_NAME: Nombre de la clave. Por lo general, es el nombre del sitio.
- DOMAIN_NAME: Son los dominios o subdominios de los sitios web que pueden usar la clave.
Especifica
--allow-all-domains
. - WAF_FEATURE: Es el nombre de la función del WAF.
Especifica
challenge-page
. - WAF_SERVICE: Nombre del proveedor de servicios del WAF.
Especifica
CA
para Cloud Armor. - DEFAULT_SCORE_THRESHOLD: Para las claves de desafío basadas en políticas, este parámetro define el umbral de desafío universal para la clave cuando no se define un umbral de puntuación personalizado. Esta función está en vista previa.
- ACTION_SCORE_THRESHOLDS: Para las claves de desafío basadas en políticas, se especifica la acción y la puntuación de umbral correspondiente entre 0.0 y 1.0. Por ejemplo,
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'
Esta función está en vista previa.
Método HTTP y 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": "INTEGRATION_TYPE" } }
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 Cloud Armor
Después de implementar las funciones de reCAPTCHA para Cloud Armor, debes configurar las políticas de seguridad de Cloud Armor para la administración de bots.
Si implementaste una página de desafío de reCAPTCHA, debes hacer lo siguiente:
- Asocia la clave de la página de desafío a tu política de seguridad.
- Configura una regla de política de seguridad para redireccionar una solicitud de evaluación de reCAPTCHA.
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.
Antes de configurar las políticas de seguridad de Cloud Armor, comprende los atributos del token de reCAPTCHA para Cloud Armor.
Si deseas obtener información para configurar políticas de seguridad de Cloud Armor y usar las claves de reCAPTCHA para WAF con tus políticas de seguridad, consulta Configura reglas para la administración de bots.
Obtén las puntuaciones de reCAPTCHA
En el caso de los tokens de acción y de sesión de reCAPTCHA, puedes obtener las puntuaciones de reCAPTCHA desde el encabezado X-Recaptcha-Wafdata
.
En función de estas puntuaciones, puedes configurar cualquier acción personalizada que deba realizarse para las solicitudes de los usuarios.
En el siguiente ejemplo, se muestra un encabezado X-Recaptcha-Wafdata
de muestra:
X-Recaptcha-Wafdata: waf_service="Google Cloud Armor", action_token;score=0.9, session_token;score=0.8\r\n
También puedes ver las puntuaciones de reCAPTCHA en los registros de Google Cloud Armor.
¿Qué sigue?
- Ejemplos de integración con Google Cloud Armor
- Aprende a implementar reCAPTCHA para las funciones de Cloud Armor.