2016-10-31 50 views
6

我們希望允許我們的用戶通過使用密碼和MFA登錄到OneLogin來檢索給定AWS角色的一組臨時CLI憑證。我們有一個工作解決方案,但它要求用戶在AWS臨時憑證過期時每60分鐘對OneLogin(包括MFA)進行完全重新驗證。我認爲這不會飛 - 我們的用戶習慣於與真正的IAM用戶綁定的永久API憑證。OneLogin SAML和MFA的AWS API憑證

理想情況下,我們希望允許用戶每天進行一次身份驗證,安全地緩存生成的SAML斷言,並根據需要透明地刷新AWS API憑據。我正在考慮類似aws-keychain這樣的東西,它會使用本地操作系統憑證存儲來記住SAML斷言,並且只在OneLogin會話超時時提示用戶輸入。

這幾乎按原樣工作。值得注意的是,OneLogin的saml_assertionverify_factor端點返回的SAML斷言在SubjectConditions字段上設置了三分鐘截止日期。

有沒有辦法做到我們想要的,還是我們試圖繞開核心SAML原則?

+0

有你設法解決這個問題? –

+0

@PavelNikolov不,我們沒有。我上面闡述的方法可能是錯誤的;我們希望MFA驗證與建立用戶會話相關聯,而不是與發佈SAML斷言相關聯。然後,只要我的用戶會話有效,我就可以自動生成匹配的SAML斷言並將其轉換爲AWS中的會話令牌。我認爲我們不能用現在的OneLogin API設計來實現這一點。 –

+0

我不知道它是否有助於您的使用案例,但STS會話現在可以有效使用長達36小時。 – Evan

回答

1

我們正在正式添加一個選項到我們的官方CLI工具中,以重用與您所描述的相似的用戶憑證。

本質上,我們的CLI工具有一個選項,可以在後臺重新使用用戶/密碼來持續刷新用戶配置文件中的訪問信息,因此,當用戶提供憑證一次時,訪問信息將在其過期前得到更新。

但不幸的是,至少在這個時候,如果應用程序策略需要MFA,那麼就無法繞過MFA部分。它需要該MFA刷新憑證。

如果有MFA,你可以隨時使用OneLogin MFA的API在MFA流入工具烤...

看看這裏:https://github.com/onelogin/onelogin-aws-cli-assume-role/pull/5