Wir möchten, dass unsere Benutzer eine Reihe von temporären CLI-Anmeldeinformationen für eine bestimmte AWS-Rolle abrufen können, indem sie sich bei OneLogin mit Passwort und MFA anmelden. Wir haben eine funktionierende Lösung, aber der Benutzer muss sich alle 60 Minuten erneut bei OneLogin (einschließlich MFA) authentifizieren, da die temporären AWS-Anmeldeinformationen ablaufen. Ich denke, dass das nicht fliegen wird - unsere Benutzer sind daran gewöhnt, permanente API-Anmeldeinformationen an einen echten IAM-Benutzer zu binden.AWS-API-Anmeldeinformationen mit OneLogin SAML und MFA
Im Idealfall möchten wir Benutzern erlauben, sich einmal pro Tag zu authentifizieren, die resultierende SAML-Assertion sicher zwischenzuspeichern und die AWS-API-Anmeldeinformationen bei Bedarf transparent zu aktualisieren. Ich denke an etwas wie aws-keychain, das den lokalen OS Credential Store verwenden würde, um sich an die SAML-Assertion zu erinnern, und den Benutzer nur zur Eingabe auffordert, wenn seine OneLogin-Sitzung abgelaufen ist.
Das funktioniert fast wie es ist. Der Haken dabei ist, dass die SAML-Assertion, die von OneLogins saml_assertion
und verify_factor
Endpunkten zurückgegeben wird, einen dreiminütigen Termin für die Felder Subject
und Conditions
festlegt.
Gibt es eine Möglichkeit zu tun, was wir wollen, oder versuchen wir, ein Kern-SAML-Prinzip zu umgehen?
Haben Sie es geschafft, sortiere das aus? –
@PavelNikolov Nein, haben wir nicht. Der Ansatz, den ich oben dargelegt habe, ist wohl falsch. Wir möchten, dass die MFA-Validierung mit dem Einrichten einer Benutzersitzung und nicht mit dem Ausstellen einer SAML-Zusicherung verknüpft wird. Solange meine Benutzersitzung gültig ist, konnte ich automatisch eine übereinstimmende SAML-Assertion generieren und diese in ein Sitzungstoken in AWS übersetzen. Ich denke nicht, dass wir dies mit dem gegenwärtigen OneLogin API Design erreichen können. –
Ich weiß nicht, ob es Ihrem Anwendungsfall hilft, aber STS-Sitzungen können jetzt für bis zu 36 Stunden gültig gemacht werden. – Evan