我正在嘗試創建一個云形成模板,以在賬戶 A 中配置一個執行角色為 Role1 的 lambda 以讀取賬戶 B 中的 S3 存盤桶。
lambda 的執行角色已經存在。
我似乎無法理解要創建什么角色或要添加哪些策略。這個用例的最佳方法是什么?
uj5u.com熱心網友回復:
首先將角色視為“用戶具有這些權限”是有用的。但是,您只能在自己的帳戶中授予/拒絕權限 - 但您可以說另一個帳戶可以“承擔”您的角色。
我知道可能會令人困惑。
在 AccountLambda 中,您需要一個 lambda 角色。您可以使用行內策略(即它在其中,不推薦這樣做),也可以制定新策略并將其附加到角色(策略是可重復使用的權限塊,可以附加到多個角色以提供多個用戶/資源的相同權限)。
這些策略之一必須允許您希望此 lambda 具有的任何 s3 操作,以及 s3 存盤桶 uri 的 Resource 欄位。這是在說“嘿,我可以在這個存盤桶上使用這些操作”
在 AccountBucket 中,您有存盤桶。
它需要一個資源策略,這是一個直接附加到存盤桶而不是角色的單個策略- 并且對于某些資源是唯一的。此資源政策必須給允許訪問你想有任何的行動和原則起碼的阿爾恩起來的通AccountLambda的帳戶#與* S的區域和資源。最好更具體,使用更少的通配符。
請注意,資源策略的結構和作業方式類似,但與身份策略不同- 資源策略直接針對資源。身份策略直接附加到用戶,或者按照最佳實踐,附加到附加到用戶或服務資源(例如 lambda)的可重用角色
您應該將這些許可限制為您所需要的,但也不是如果您有一個身份策略來訪問資源,而資源策略提供所述身份權限,則合并策略的總和是允許的,除外任何明確的否認。
還要注意!這對于 s3來說是獨一無二的,因為 s3 是全域資源。所有其他資源僅在您的賬戶/區域中可用,為了使用它們,您必須擁有assume該特定賬戶/區域內有權訪問它們的角色。
請參閱有關它的 AWS 博客文章
uj5u.com熱心網友回復:
要創建的角色
Acc B 需要有一個可承擔的角色,允許訪問principal作為 Acc A 的S3 。
添加政策
Acc A 中的 Lambda 執行角色必須具有sts:AssumeRole 權限才能代入 Acc B 中的角色。這樣您就可以明確代入 Acc A 中的 lambda 函式中的角色以訪問 Acc B 中的存盤桶。
另一種方法是在 Acc B 中設定存盤桶策略,以允許從 Acc A 中的 Lambda 執行角色進行訪問。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/318841.html
