Se você precisa conectar um backup, o WordPress ou o rclone ao Cloudflare R2, o primeiro passo é gerar um par de chaves compatível com S3. Esse par é formado por um ID da chave de acesso e uma chave de acesso secreta. O processo leva cerca de cinco minutos e você faz tudo no painel da Cloudflare.
Antes de começar
Você precisa de uma conta Cloudflare com o R2 ativado e de um usuário com permissão para gerenciar tokens. Tenha à mão um gerenciador de senhas, porque a chave secreta só aparece uma vez.
1. Abra o painel do R2
Entre no dashboard da Cloudflare. No menu lateral esquerdo, clique em Armazenamento e bancos de dados e depois em R2. Você vai cair na página de Visão Geral, com a lista de buckets e, à direita, a seção Detalhes da conta.
2. Abra o gerenciador de tokens
Em Detalhes da conta, clique em Gerenciar tokens de API. Aproveite para anotar o ID da conta que aparece ali: ele faz parte do endereço S3 que o seu sistema vai pedir depois.
3. Escolha o tipo de token
A tela de tokens tem dois botões azuis: Criar token de API Account e Criar token de API User. Para sistemas em produção, como backup, WordPress ou servidores, use o Account. Ele continua ativo mesmo que o seu usuário saia da organização. O User serve para acesso pessoal ou desenvolvimento e deixa de funcionar se você sair da organização.
4. Configure nome, permissões e escopo
Nome do token. Use um nome que diga para que a chave serve, por exemplo Chave-Backup-S3. Daqui a seis meses você vai saber o que cada token faz sem precisar investigar.
Permissões. Para a maioria das integrações, escolha Leitura/gravação para objeto. As quatro opções do painel são:
- Administrador com Leitura/gravação: cria, lista e exclui buckets, além de ler e gravar objetos.
- Administrador com somente leitura: lista buckets, vê a configuração e lê objetos.
- Leitura/gravação para objeto: lê, grava e lista objetos em buckets específicos.
- Somente leitura para objeto: só lê e lista objetos.
Escopo. Em Especificar bucket(s), você escolhe entre aplicar a todos os buckets da conta ou somente a buckets específicos. Se a chave só precisa de um bucket, restrinja. Se ela vazar, o estrago fica limitado.
Validade (TTL). O campo vem como Sempre, ou seja, o token não expira. Para acessos temporários, defina um prazo. Existe ainda a filtragem por endereço IP, que limita de onde o token pode ser usado.
5. Crie o token e copie as chaves
Role até o final da página e confirme a criação. A tela seguinte mostra as credenciais. Copie agora o ID da chave de acesso e a Chave de acesso secreta, e guarde as duas em um gerenciador de senhas. A secreta só é exibida uma vez. Se você fechar a página sem copiar, não há como recuperar: será preciso apagar o token e criar outro.
Junto com as chaves, você usa o endereço S3 da conta, neste formato: https://ID_DA_CONTA.r2.cloudflarestorage.com
Como usar as chaves
No rclone, o bloco de configuração fica assim:
[r2]
type = s3
provider = Cloudflare
access_key_id = SEU_ACCESS_KEY_ID
secret_access_key = SUA_SECRET_ACCESS_KEY
endpoint = https://ID_DA_CONTA.r2.cloudflarestorage.com
acl = private
Na AWS CLI, aponte o endpoint e use a região auto:
aws s3 ls --endpoint-url https://ID_DA_CONTA.r2.cloudflarestorage.com --region auto
Cuidados com a chave secreta
Trate a chave secreta como uma senha. Não coloque em código versionado, em prints, em e-mails ou em mensagens de chat. Use variáveis de ambiente ou um gerenciador de segredos. Crie um token por sistema, para poder revogar um sem derrubar os outros, e use sempre a permissão mínima necessária. Se suspeitar de vazamento, apague o token na mesma tela de tokens e crie outro.
Problemas comuns
Fechei a página sem copiar a chave secreta. Não há recuperação. Apague o token e crie um novo.
O sistema responde Access Denied ou 403. Confira se o token tem permissão de escrita e se o escopo inclui o bucket que o sistema usa.
Erro de endpoint ou bucket não encontrado. Verifique o ID da conta no endereço, sem barra no final, e se a região está como auto. Buckets criados com jurisdição específica usam um endpoint próprio, exibido na página do bucket.
Não encontro o botão Gerenciar tokens de API. Ele fica na Visão Geral do R2, em Detalhes da conta. Se não aparecer, confirme que o R2 está ativado e que o seu usuário tem permissão de administrador.