![](/img/trans.png)
[英]Cross-account IAM roles giving Service: Amazon S3; Status Code: 403; Error Code: AccessDenied
[英]Cross-account IAM principal pointing to same account: no-op?
簡而言之:如果我創建了一個包含跨賬戶Principal
的 IAM 策略,但相關賬戶是我已經在其中操作的賬戶,這是否是空操作?
我的理解(來自這里)是像下面這樣的 IAM 語句可用於跨賬戶訪問,即委托給另一個賬戶,允許它允許訪問相關資源:
{
Action = "kms:*"
Effect = "Allow"
Principal = {
AWS = "arn:aws:iam::XYZXYZXYZXYZ:root"
}
Resource = "*"
}
(其中XYZXYZXYZXYZ
顯然是某個帳戶 ID)。
但是,如果帳戶 ID 不是另一個帳戶怎么辦? 我希望這什么都不做。 我擔心它會授予完全訪問權限。 后一種選擇似乎很瘋狂:任何人都可以確認嗎?
我假設這是在 KMS 密鑰策略中,否則指定主體將沒有意義/無論如何 IAM 都不允許。
因此我引用https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html :
以下默認密鑰策略聲明至關重要。
- 它為擁有 KMS 密鑰的 AWS 賬戶提供對 KMS 密鑰的完全訪問權限。
與其他 AWS 資源策略不同,AWS KMS 密鑰策略不會自動向賬戶或其任何用戶授予權限。 要向帳戶管理員授予權限,密鑰策略必須包含提供此權限的顯式聲明,如下所示。- 它允許賬戶使用 IAM 策略來允許訪問 KMS 密鑰,以及密鑰策略。
如果沒有此權限,則允許訪問密鑰的 IAM 策略無效,但拒絕訪問密鑰的 IAM 策略仍然有效。- 它通過向帳戶管理員(包括無法刪除的帳戶根用戶)授予訪問控制權限,降低了密鑰變得難以管理的風險。
帳戶內的委托人不會立即訪問密鑰,但只需向他們添加策略即可授予他們訪問權限。 KMS 是資源和身份策略都需要授予訪問權限的少數服務之一。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.