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
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 theserviceusage.services.enablepermission. Learn how to grant roles.Planeie como quer implementar as funcionalidades do reCAPTCHA para o Cloud Armor para proteger o seu Website.
- Escolha uma ou mais funcionalidades da WAF que melhor se adequam ao seu exemplo de utilização.
- 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:
Crie uma chave action-token para o seu Website.
Cloud Console
Na Google Cloud consola, aceda à página reCAPTCHA.
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.
- Clique em Criar chave.
- No campo Nome a apresentar, introduza um nome a apresentar para a chave.
- Consoante a plataforma para a qual quer criar chaves do reCAPTCHA para o WAF, execute a ação adequada:
- Para o Tipo de aplicação, selecione Web.
É apresentada a secção Lista de domínios.
-
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 representa um risco de segurança, uma vez que não existem restrições no site, pelo que a sua chave do reCAPTCHA pode ser acedida e usada por qualquer pessoa.
-
Introduza o nome do domínio do seu Website:
- Na secção Lista de domínios, clique em Adicionar um domínio.
- No campo Domínio, introduza o nome do seu domínio.
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).
- Em Definições adicionais, ative o botão Vai implementar esta chave numa firewall de aplicações Web (WAF)?.
Nas opções de Funcionalidade, selecione Ação.
-
Opcional: ative o botão Vai usar desafios?.
- Clique em Criar chave.
A chave recém-criada é 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
scoreoucheckbox. - 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-domainspara desativar a validação do domínio.A desativação da validação de domínio representa um risco de segurança, uma vez que 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
CApara 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=