Ich stelle ein Serverprogramm in einer ec2-Instanz bereit, die zuvor signierte URLs für s3 erstellen muss. Bisher habe ich meine AWS-Anmeldeinformationen in Umgebungsvariablen zum Testen gespeichert, möchte aber jetzt zur IAM-Rollenstrategie wechseln. Ich bin mir jedoch nicht sicher, auf welche Richtlinien die Rolle zugreifen sollte. Meine erste Vermutung ist AmazonS3FullAccess, aber die Beschreibung sagt "Bietet vollen Zugriff auf alle Buckets über die AWS Management Console", aber die ec2-Instanz verwendet die C++ SDK, nicht die Management-Konsole. Oder ist die Richtlinie nicht wichtig, nur dass sie eine Richtlinie hat, so dass sie irgendwie Anmeldeinformationen erhält?AWS Welche IAM-Rolle für S3 Presigned URL
Antwort
Sie verwechseln Richtlinien und Rollen.
Eine Richtlinie gewährt einem Benutzer oder einer Rolle oder einer Gruppe Berechtigungen.
Der Unterschied zwischen einem Benutzer und einer Rolle ist subtil, aber im Grunde wird eine Rolle von anderen Diensten in AWS übernommen, z. B. einer EC2-Instanz, während ein Benutzer im Allgemeinen nur eine von Ihnen für die Verwendung in AWS erstellte Identität ist .
Die Richtlinienbeschreibung für den vollständigen Zugriff kann die Managementkonsole erwähnen, aber es gewährt vollen Zugriff auf alle Buckets, ob über die Konsole, die API oder ein SDK, sie sind alle wirklich die gleiche Sache unter der Haube.
Sie sollten die fullaccess-Richtlinie nicht verwenden. Sie können es als Basis verwenden, um Ihre echte Richtlinie zu erstellen, aber IAM sollte immer den Princip mit der geringsten Berechtigung verwenden, wobei Sie nur die absolut erforderlichen Berechtigungen angeben. In diesem Fall benötigt die Rolle nur Lese- und möglicherweise Listenberechtigungen für den bestimmten Bucket in Frage, wenn URLs zum Lesen generiert werden, oder Berechtigungen beim Hochladen zulassen.
Zu Entwicklungszwecken können Sie die AmazonS3FullAccess-Richtlinie an die von Ihnen erstellte Rolle anhängen. Sobald Sie die IAM-Rolle an Ihre EC2-Instanz angehängt haben, müssen Sie die Anmeldeinformationen nicht exportieren.
Sobald die Entwicklungsarbeit abgeschlossen ist, sollten Sie die Richtlinie erneut überprüfen, um sie restriktiver zu gestalten. Sie können entweder eine neue verwaltete Richtlinie erstellen (AmazonS3FullAccess wird von AWS verwaltet und Sie können die Berechtigungen nicht aktualisieren) oder eine neue Inline-Richtlinie mit den spezifischen Berechtigungen erstellen, die Ihre Anwendung benötigt.
Dies ist verlockendes Schicksal. Wenn Sie keine Zeit haben, um die Richtlinien * jetzt * korrekt zu machen, haben Sie keine Zeit, zurückzukommen und den vollen Zugriff * später * zu entfernen, aus Angst, etwas zu kaputt zu machen. –
- 1. AWS S3 Presigned-Anforderungscache
- 2. AWS S3 Presigned URL mit anderen Abfrageparametern
- 3. erhalten JSON Antwort AWS presigned URL
- 4. S3 Presigned Post erfordert spezifischen Content-Type
- 5. SignatureDoesNotMatch in aws s3 C# während url
- 6. Erstellen von Amazon S3 presigned URL für den Zugang der Öffentlichkeit von Ruby on Rails
- 7. C# AWS SDK Presigned Download-URL ist immer abgelaufen
- 8. Errr: net :: ERR_INSECURE_RESPONSE auf AWS S3 pre unterzeichnet Upload url
- 9. Nodejs AWS SDK S3 Vordefinierte URL generieren
- 10. Verwenden von S3 Presigned-URL zum Hochladen einer Datei mit öffentlichem Lesezugriff
- 11. Erstellen von amazon aws s3 pre unterzeichnet url PHP
- 12. AWS S3-Zugriffskontrollstrategien für NodeJS
- 13. AWS S3 Pre-signed URL content-length
- 14. URL/PATH richtig für AWS S3 mit Büroklammer/Schienen einstellen
- 15. BasicNetwork.performRequest: unerwartete Antwortcode 400 für <AWS S3 url>
- 16. AWS CDN signierte URL für spezifische S3-Objektversion erstellen
- 17. AWS vordefinierte URL für Assets in S3-Bucket
- 18. AWS SDK v2 für s3
- 19. Überprüfung lokaler Dateien für aws s3 Namenskompatibilität
- 20. AWS s3 r studio
- 21. AWS S3-Alternativen für private Cloud
- 22. gzip funktioniert nicht für aws s3 Assets
- 23. Einstellung CORS für AWS S3 Config
- 24. AWS Cognito und S3
- 25. AWS s3 "öffentlicher Zugang"
- 26. undichten Speicher, wenn aws/s3 Juwel für AWS :: S3 :: Logging :: Anmelden
- 27. generieren S3 URL in "Pfad-style" Format
- 28. AWS S3 Bucket Endpunkt
- 29. Benutzerdefinierte URL der statischen Website gehostet auf aws S3 Eimer
- 30. Android und AWS S3
Danke! Meine Verwirrung begann, weil es keine Richtlinie oder Aktion gab, nur URLs zu signieren, aber am Ende testete ich mit einer Richtlinie, die nur s3 ausführen konnte: GetObject und s3: PutObject und das funktionierte. Ich denke, wenn Sie eine signierte URL zum Hochladen bereitstellen, sollten Sie zumindest in der Lage sein, sich selbst hochzuladen – aspirino67