2016-04-13 5 views
2

Ich möchte eine clientseitige (serverlose) Anwendung mit dem AWS SDK für JavaScript im Browser erstellen. Alle beabsichtigten Benutzer des Tools haben individuelle IAM-Benutzer und Zugriff auf die AWS-Webkonsole.So imitieren Sie einzelne IAM-Benutzer mit AWS SDK im Browser

Ich möchte, dass alle API-Aufrufe im Kontext einzelner IAM-Benutzer ausgeführt werden. Daher unterliegen sie den individuellen Berechtigungen jedes Benutzers und damit kann ich sehen, wer in CloudTrail was getan hat.

Da keine Art von lokalem Browserspeicher mit persistenten Anmeldeinformationen vertraut werden soll, kann ich den Benutzer nicht einfach seinen geheimen Zugriffsschlüssel einmal eingeben und behalten lassen.

Allerdings könnte ich die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel des Benutzers am Anfang jeder Sitzung anfordern, dann STS GetSessionToken damit aufrufen und die resultierenden temporären Sicherheitsberechtigungsnachweise nur im Sitzungsspeicher speichern und für alle verwenden folgende SDK-Nutzung.

Natürlich wäre es viel angenehmer für Benutzer, sich mit ihrem IAM-Benutzer und Passwort anstelle ihres langen und kryptischen Zugangsschlüssels einzuloggen (denken Sie an mobile Geräte ...).

Gibt es eine föderierte Anmeldeoption für IAM-Benutzer (umleiten sie auf die AWS IAM-Anmeldeseite) oder eine Möglichkeit, die STS-API mit Benutzername und Passwort aufzurufen?

Antwort

1

Idealerweise ist die Anmeldung über eine IAM-Benutzer/Passwort-Kombination erwünscht. Soweit mir bekannt ist (und also see this), gibt es keinen Standard Weg dies zu tun.

In einem der my projects, habe ich Online-Login mit HTTP-Client simuliert. Wenn Sie damit das Sitzungstoken bekommen können, könnte das für Sie funktionieren. Es unterstützt jedoch nicht MFA und verlässt sich auf die Interna der AWS-Authentifizierungsimplementierung, die sich ohne Warnungen ändern können.

Verwandte Themen