1 - 從你的用戶,你需要操作你的SAAS什麼唯一的請求訪問。它降低了您被攻破和您的客戶受到影響的風險。例如,如果您只需要只讀訪問EC2,則只請求只讀訪問。
要運營您的客戶AWS賬戶,您不僅需要創建用戶和角色。要進行API調用,客戶必須生成一個訪問密鑰和密鑰供您使用。那就是你的網站將用它代表他們與AWS通信。這基本上只是一個私鑰,所以就安全最佳實踐而言,您需要像處理任何非常敏感的資源一樣對待它。在s3中存儲這樣的憑據是一個選項和/或DynamoDB。
2 - 爲聯邦
作用爲當有人登錄到使用從外部AWS(SAML/SSO)的外部身份提供憑證AWS。你不需要這個;客戶不會登錄到您的AWS賬戶,也不會登錄他們的賬戶。您需要的角色是可選的。您的客戶可以創建角色,爲其添加權限,然後將角色附加到用戶並將該用戶授予您。他們也可以直接創建用戶並將權限直接授予用戶,但角色方法是更好的做法。
您真正需要了解的是您需要訪問哪些AWS資源以及您想如何處理這些資源。從那裏,有一個該資源所需的權限列表。您必須向您的客戶發送關於如何
創建用戶的指示,
創建角色,附加所需的權限
,然後生成供您使用的API密鑰。
3 -
角色是沒有必要的,其可選的。您需要的是您的客戶創建一個角色,爲您需要訪問的每個AWS服務授予權限,然後爲您授予訪問權限,然後生成密鑰供您在API調用中使用。但總體而言,用戶體驗仍然相同。如果您的目標客戶是常規的AWS客戶,這對他們來說很容易,但我懷疑經常的AWS客戶需要其他人來管理他們的賬戶。
如果你採取最乾淨的方法,角色分配是不可避免的。
更新
見JamieStarke下面的評論。爲您的客戶提供更簡單的方法,更安全的做法是讓他們爲您的AWS賬戶分配角色,因此不需要密鑰交換。如果您不使用AWS作爲您的核心基礎架構,則可以打開一個帳戶,並讓他們將角色分配給該帳戶。無論採用哪種方法,都不需要與您和客戶交換憑證。
http://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html
我認爲這個問題是太多的東西,你應該聘請一個AWS SA您的問題。 –
這是一個解決的問題。瞭解其他SAAS提供商如何執行此操作,例如:https://support.cloudcheckr.com/cross-account-roles/。 – jarmod