Backup S3 não funciona com EC2 IAM

Acho que pesquisei e trabalhei em todos os tópicos e tutoriais sobre este assunto.

Estou sempre recebendo este erro ao tentar abrir a página de Backups:

Erro ao tentar carregar /admin/backups.json

Quando abro /admin/backups.json, recebo apenas um erro genérico de Acesso Negado.

O que não entendo é que usar os seguintes comandos na minha Instância EC2 está funcionando corretamente:

aws s3 ls s3://my-bucket-name

E ao entrar no contêiner do Discourse com ./launcher enter app, também consigo executar isso com sucesso após instalar o s3cmd:

s3cmd ls s3://my-bucket-name

Também consigo fazer upload de coisas para o meu bucket usando esses comandos, portanto a política IAM deve estar boa e não consigo entender por que o Discourse não consegue acessar o bucket. Também tentei adicionar “AdministratorAccess” à função IAM para descartar quaisquer problemas de permissão muito restritos.

Configuração no Discourse:

local de backup: S3
bucket de backup s3: my-bucket-name
s3 usar perfil iam: true
região s3: a correta. verificado triplamente.

As opções s3 restantes são deixadas intocadas → Portanto, na maioria vazias/desativadas.

Alguma ideia do que pode estar dando errado?

Obrigado!

Não tenho certeza se isso teria algo a ver com suas configurações de S3, parece uma mensagem interna de permissões do Discourse. Você consegue carregar /admin/backups como uma página (em vez de anexar .json no final)?

1 curtida

A maneira mais fácil de depurar problemas como este é verificar os logs do Cloudtrail.

Esta foi uma dica incrível. Consegui rastrear o erro de permissão e vi que o Discourse estava usando um usuário diferente. Agora, para o grande porquê e por que ninguém teve esse erro antes.

Temos um plugin personalizado para enviar notificações push através do AWS SNS, que estava definindo credenciais globalmente através de Aws.config.update e, portanto, o S3 Backup também parecia estar usando as credenciais erradas que obviamente não tinham as permissões necessárias.

Agora corrigiremos nosso plugin para fornecer localmente as credenciais/região e suportar funções EC2 IAM, que é o que prefiro neste momento :slight_smile:

Obrigado pelo empurrão na direção certa!

paresy

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.