2015-01-27 115 views
1

AWS具有一項稱爲跨賬戶訪問的功能,您可以在其中創建IAM角色,並在其中設置您爲策略提供信任的實體。然後該實體可以將對該角色的訪問權委託給自己的實體。 AWS通常建議使用代表客戶訪問AWS賬戶的第三方服務。爲什麼AWS的交叉賬戶訪問更安全?

這樣可以避免必須在第三方來源保存客戶的訪問密鑰憑證,但第三方來源可能會被盜用並使用跨賬戶角色。也可以爲用例創建特定的IAM用戶,爲其分配適當的策略,併爲其分配訪問密鑰。

看起來風險是一樣的。我知道交叉賬戶將使用STS並生成臨時憑證,但如果第三方受到威脅,這並不會使事情變得更安全。信任實體必須禁用角色或禁用API密鑰。

+0

您是否想了解這兩個選項之間的區別以及哪個更安全(以及爲什麼)?或者你是否試圖將這些跨賬戶訪問方法與其他方法進行比較(即:發放根憑證)? – Krease 2015-01-27 01:15:41

+0

我想了解兩者在安全性和原因方面的差異。一個是具有某些權限的IAM第三方跨賬戶角色,另一個將是具有相同權限的IAM用戶,並且您將憑據提供給該用戶。 – edaniels 2015-01-27 01:17:46

回答

2

差異的一個基本類比是向他人遞交訪問徽章(任何人都可以使用),並向他人遞交需要該人員指紋才能成功使用的訪問徽章。

使用的IAM用戶控制第三方接入涉及移交的關鍵/祕密密鑰 - 這是簡單的「訪問徽章」

使用AssumeRole控制第三方接入使用相同的信息以及安全令牌。爲承擔角色,您的AWS賬戶必須由角色信任。在創建角色時,信任關係在角色的信任策略中定義。這是「帶指紋驗證的通行證」。

(此外,爲了提高安全性,爲AssumeRole鍵/祕密密鑰可以是特定的時間段後到期的臨時憑證。)

AWS AssumeRole API Documentation是有用的,良好的基礎,開始學習更多。

+0

從信任方的角度來看,它如何更安全?可信實體可能會像訪問密鑰一樣容易受到攻擊(不管指紋如何)。我已經閱讀並實現了跨賬戶和訪問密鑰身份驗證,但我還沒有能夠就一個信任實體爲什麼希望在第三方場景中使用跨賬戶的問題做出有用的論證。 – edaniels 2015-01-27 01:55:50

+0

任何人都可以使用IAM密鑰 - 它們只是一個密鑰對。我可以拿走它們並在以後使用它們,而且我將無法與他們所信任的一方區分開來。要使用AssumeRole,必須首先將其認證爲可信實體,對於臨時憑證,請在尚未過期時使用它們。這些額外的安全功能使它更安全。沒有安全是完美的(當然,賬戶可能會受到損害,特別是如果用戶不小心使用賬戶密鑰的話)。 – Krease 2015-01-27 06:04:49