Sauvegarde S3 ne fonctionne pas avec EC2 IAM

Je pense avoir recherché et parcouru tous les sujets et tutoriels sur ce sujet.

J’obtiens toujours cette erreur lorsque j’essaie d’ouvrir la page Sauvegardes :

Erreur lors de la tentative de chargement de /admin/backups.json

Lorsque j’ouvre /admin/backups.json, j’obtiens uniquement une erreur générique Accès refusé.

Ce que je ne comprends pas, c’est que l’utilisation des commandes suivantes sur mon instance EC2 fonctionne correctement :

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

Et lorsque j’entre dans le conteneur discourse avec ./launcher enter app, je peux également exécuter ceci avec succès après avoir installé s3cmd :

s3cmd ls s3://my-bucket-name

Je peux également télécharger des éléments dans mon bucket en utilisant ces commandes, donc la politique IAM devrait être correcte et je ne comprends pas pourquoi Discourse ne peut pas accéder au bucket. J’ai également essayé d’ajouter “AdministratorAccess” au rôle IAM pour exclure tout problème d’autorisation trop restrictif.

Configuration dans Discourse :

emplacement de sauvegarde : S3
bucket de sauvegarde S3 : my-bucket-name
utiliser le profil IAM S3 : true
région S3 : la bonne. vérifié trois fois.

Les options S3 restantes sont inchangées → Par conséquent, la plupart sont vides/désactivées.

Une idée de ce qui pourrait mal se passer ?

Merci !

Je ne suis pas sûr que cela ait quoi que ce soit à voir avec vos paramètres S3, cela ressemble à un message de permissions interne de Discourse. Êtes-vous en mesure de charger /admin/backups en tant que page (plutôt qu’en ajoutant .json à la fin) ?

1 « J'aime »

La façon la plus simple de déboguer ce type de problèmes est de consulter les journaux Cloudtrail.

C’était une excellente indication. J’ai pu retracer l’erreur de permission et constater que Discourse utilisait un utilisateur différent. Passons maintenant au grand pourquoi et pourquoi personne n’a eu cette erreur auparavant.

Nous avons un plugin personnalisé pour envoyer des notifications push via AWS SNS qui configurait les informations d’identification via Aws.config.update globalement et par conséquent, S3 Backup semblait également utiliser les mauvaises informations d’identification qui n’avaient évidemment pas les autorisations requises.

Nous allons maintenant corriger notre plugin pour fournir localement les informations d’identification/la région et prendre en charge les rôles IAM EC2, ce que je préfère à ce stade :slight_smile:

Merci pour la piste !

paresy

2 « J'aime »

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