Wie sicher sind die Amazon AWS-Zugriffsschlüssel?
Möchte ich presigned urls zu meiner s3-buckets mit einem Ablaufdatum.
Die .net sdk gut generiert diese urls, aber die Suche nach Ihnen macht mir sorgen ein wenig:
https://s3.amazonaws.com/upload_youtipit/myfile?AWSAccessKeyId=**MYACCESSKEY**&Expires=1317924047&response-content-disposition=attachment;filename=feedback.jpg&response-content-type=image/jpeg&Signature=podKJSrNeFel6%2B0aOneb342H5GA%3D
Warum braucht es, um meine (öffentlichen) AWSAccessKey in der Url? Sollte dies nicht gehalten werden, ein bisschen mehr vertraulich? Ich weiß, das ist nicht das Geheimnis, aber ich weiß immer noch nicht wohl fühlen setzen Sie es in der öffentlichkeit..
Wie wahrscheinlich ist es, dass jemand, der hat meinen öffentlichen Schlüssel, der erraten kann/bruteforce meinen private key?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Zugriffsschlüssel-ID ist nicht geheim und nicht Schutz brauchen.
In der Tat, Sie können geben Sie abläuft, URLs, um zufällige fremde, wenn Sie wollen, dass Sie Zugriff auf ein S3-Objekt. Sie können sehen, die access key in der URL, kann aber nicht alles tun, dass Sie nicht autorisiert haben.
Referenz: http://docs.amazonwebservices.com/AWSSecurityCredentials/1.0/AboutAWSCredentials.html#AccessKeys
Ich einverstanden mit der Antwort akzeptiert, aber es gibt einen einfachen Weg, das zu tun, was Sie wollen.
Müssen Sie für die Nutzung von Amazon IAM-um einen Benutzer anzulegen, der nur das Lesen von Dateien (es ist nicht wirklich wichtig, aber Sie sollten zumindest Lesen sich nur auf den Eimer, dass Sie sich mit). Verwenden Sie dann die Benutzer AWS-ID und secret zu generieren, die den download-link.
Diese nicht öffnen, Ihre ganzen Eimer, zu sehen, den ganzen Eimer der Mensch braucht die AWSID dieser IAM - "reader" - Benutzer, plus Ihre geheimen Schlüssel. Sie müssen noch zu konstruieren ist zeitlich begrenzt URLs.
Können Sie die IAM-Konsole erstellen Sie eine Benutzer-wie, dass in ein paar Minuten. Sie bekommen nur eine chance, um den Schlüssel - an der Zeit, die Sie die Benutzer (oder, wenn Sie drehen seine Schlüssel).
Das sollte es tun. Diese AWSID hat keinen Zugriff auf irgendetwas, und ist nicht an Sie gebunden.
Im Allgemeinen Amazon empfiehlt jetzt, dass Ihre primäre AWSID wird nicht verwendet 'für alles'. Erstellen Sie Benutzer mit Berechtigungen in IAM, dann verwenden Sie die codes. Dies ermöglicht eine Reihe von Sicherheits-Flexibilität. Sie können schalten Sie den nur-Lesen-Benutzer mit einer einfachen Aktion in die IAM-Konsole.
Ihren privaten Schlüssel ist ein one-way Berechnung einige unbekannte Parameter, kann es auch nicht verwenden den öffentlichen Schlüssel selbst, der als Teil des Algorithmus. zu wissen, Ihre AWSAccessKeyId sollte keine Auswirkungen auf die Komplexität der brute-zwingen Sie Ihren privaten Schlüssel zu löschen.
https gewährleistet, das einzige, was jemand sagen kann über Ihre Verbindung (wenn Sie sniffing Netzwerkverkehr) ist, dass es zwischen Ihrer IP und die IP des s3.amazonaws.com auf port 443. auch die Tatsache, dass Sie die Verbindung zu amazon hätte hergeleitet werden aus einem bekannten ip-Adressbereiche zugewiesen (ist wohl bekannt jedenfalls)
der einzige Weg, um auf Ihre AWSAccessKeyId in der Adressleiste ist physisch zu sehen, es auf Ihrem Bildschirm, installieren Sie einige key-logger oder Trojaner auf Ihrem computer oder MIM (man in the middle-ing.) von amazon, das SSL-Zertifikat, das ist extrem hart, selbst wenn jemand Zugriff auf die benötigte upstream-Netzwerk-Knoten.
leon
Können Sie mithilfe von AWS
Security Token Service
(AWS STS) wenn Sie Interesse an mehr Sicherheit.Temporäre Sicherheits-Anmeldeinformationen funktionieren fast genauso wie der langfristige Zugriff auf die Schlüssel der Anmeldeinformationen, die Ihre IAM-Benutzer verwenden können, mit den folgenden unterschieden:
Temporäre Sicherheits-Anmeldeinformationen sind kurzfristig, wie der name schon sagt. Sie kann konfiguriert werden, um für die letzten überall von ein paar Minuten bis zu mehreren Stunden. Nachdem die Anmeldeinformationen abgelaufen sind, die AWS nicht mehr erkennt, oder Sie können jede Art von Zugriff von API-Anforderungen mit Ihnen gemacht.
Temporäre Sicherheits-Anmeldeinformationen nicht gespeichert werden mit dem Anwender, sondern werden dynamisch generiert und dem Nutzer zur Verfügung gestellt, wenn angefordert. Bei (oder sogar vor) dem temporären Sicherheits-Anmeldeinformationen abgelaufen sind, kann der Benutzer die Anfrage neue Zugangsdaten, solange der Benutzer der Aufforderung, noch hat Berechtigungen zu tun.
Ref: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html