2016-09-06 2 views
-4

Ich habe eine Frage, ich habe eine App und eine der Dienstprogramm dieser App ist das Hochladen und Herunterladen von Dokumenten in s3. Meine Frage, was ist die beste Praxis, um s3 Zugriffsschlüssel zu speichern. Ich habe in einer config.ini-Datei gespeichert und von meinem PHP-Skript aufgerufen. Ich weiß auch, dass ich es auf ~/.aws/credentials in Linux setzen kann.wie Zugriff auf aws Zugangsschlüssel außerhalb des Codes auch außerhalb des Servers

Aber ich möchte es außerhalb des Servers und Zugriff darauf von ihr, so dass selbst wenn mein Server gehackt wurde (Ja, mein Server wurde einmal von einigen Chinesen gehackt) Ich sollte keine Angst haben.

Vorgeschlagene Idee:

1: Ich denke einen Schlüssel-Server zu machen (ich will es zentralisiert machen, so dass ich es in meinem anderen Projekt verwenden kann) und Schlüssel, die von HTTP-Anfrage mit Verschlüsselung bekommen, IP-Blockierung, Autorisierungsmechanismus.

2: Speichern Sie es in einer Datenbank mit der richtigen Verschlüsselung.

Bitte schlagen Sie es mit Ihren Ideen vor.

+1

Ist Ihr Server eine EC2-Instanz? –

Antwort

1

Die beste Lösung für Ihren Anwendungsfall ist die Verwendung von AWS IAM Roles. Erstellen Sie eine IAM-Rolle für den Zugriff auf den S3-Bucket und hängen Sie diese Rolle beim Erstellen der Instanz an die EC2-Instanz an. Dadurch wird die Verwendung von S3-Zugriffsschlüsseln überflüssig, sodass Sie sich keine Sorgen über die Kompromittierung der Schlüssel machen müssen.

diese um weitere Informationen lesen

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html

Verwandte Themen