Grant S3 Zugriff auf Elastic Beanstalk-Instanzen
Ich versuche zu Bestimmung meiner EC2-Instanzen in Elastic Beanstalk mit einigen ssh-Schlüssel von einem privaten S3-bucket. Hier ist ein Ausschnitt meiner .ebextensions/.config:
files:
"/root/.ssh/id_rsa" :
mode: "000400"
ownder: root
group: root
source: https://s3-us-west-2.amazonaws.com/<bucket>/<app>_id_rsa
Leider erhalte ich eine 403-Antwort von S3. Gibt es eine Möglichkeit Zugriff auf die EC2-Instanzen mit einer Sicherheitsgruppe? Ich kann nicht gewähren jede Instanz einzeln zugreifen, wie kann ich nicht wissen, Ihre IP-Adressen, bevor Sie skaliert werden. Gibt es eine andere Möglichkeit zu gewähren, nur dieses eine Elastic Beanstalk-app zugreifen? Ich habe Probleme, kommen mit einem guten S3-Bucket-Richtlinien...
- Haben Sie versuchen, hinzufügen
aws-elasticbeanstalk-ec2-role
S3? - Dieser arbeitete für mich: stackoverflow.com/questions/26394673/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie setup eine IAM-Rolle für S3 zugreifen, und weisen Sie die IAM-Rollen für EC2.
IAM-Rollen für Amazon EC2
aws-elasticbeanstalk-ec2-role
zu, die können Sie fügen Sie eine neue Richtlinie für Ihren s3-bucket zugreifen innerhalb Ihres IAM-Rolle, web-Konsole. That being said, ich habe festgestellt, dass es vernünftiger, zu erstellen Sie neue Rollen für unterschiedliche Umgebungen.AmazonS3FullAccess
Politik deraws-elasticbeanstalk-ec2-role
Laut Amazon-Dokumentation, die Sie benötigen, um ein Ressource-Schlüssel (mit dem hinzufügen einer Authentifizierung, um die download-privaten-Datei aus einem s3-bucket. Hier ist ein Beispiel aus Ihrer website:
Den gesamten text in Fett, muss ersetzt werden durch kundenspezifische Inhalte einzigartig auf Ihre eigene Umgebung außer aws-elasticbeanstalk-ec2-Rolle die IAM-Rolle für die Umwelt standardmäßig erstellt, Sie können ersetzen es mit einem anderen IAM-Rolle. Wenn die Ressource identifiziert wurde, können Sie erneut die Wiederverwendung von auf so viele Dateien wie möglich. Weitere Informationen erhalten Sie hier http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-files
klicken Sie zunächst auf die Registerkarte unten
dann klicken Sie auf die hinzugefügte Rolle
hinzufügen und AmazonS3FullAccess-access-policy
In meinem Fall habe ich versucht die Schaffung einer neuen EC2 Rolle, die umfassen würde, die den Zugriff der Politik auf S3, aber konnte es nicht funktioniert, wie es scheint standardmäßig ist diese Rolle nicht befestigt bekommen ec2-instances? Spielte mit VPC-S3-bucket-Rollen, aber das nur Durcheinander Eimer und mich gesperrt. Die richtige Lösung war, fügen die S3-access-policy zu bereits bestehenden ElasticBeanstalk Rolle:
aws-elasticbeanstalk-ec2-role
dass @chaseadamsio und @tom erwähnt, vielen Dank dafür.