簡體   English   中英

AWS IAM角色與存儲桶策略

[英]Aws IAM Roles vs Bucket Policies

我一直在閱讀許多文檔並觀看了許多視頻,但對於IAM角色和存儲桶策略,我仍然很困惑。 這是令我困惑的地方:

1)我創建一個存儲桶。 那時,我可以將其公開或私有。 如果將其公開,則任何人或任何Application都可以“看到”存儲桶中的對象。 我認為可以將權限設置為在存儲桶中添加/刪除/獲取/列出對象。 如果是這種情況,那么為什么我需要為S3存儲桶添加任何IAM角色,或者添加任何存儲桶策略(???)

2)在創建存儲桶時,是否可以僅對某些用戶/應用程序/ EC2實例等授予全部或部分存儲桶非常特定的權限? 例如EC2-X上的App1可以訪問存儲桶B1中的子文件夾A。

3)成為IAM角色,這是一個提供完全S3訪問權限的EC2角色-這是什么意思? 完全可以訪問任何存儲桶? 如何將在EC2上運行的應用程序限制為僅具有特定限制權限的某些存儲桶(請參見上面的#2)? EC2上的所有應用程序都具有對所有存儲桶的完全訪問權限嗎? 在創建存儲桶時,可以將權限設置為可以否決IAM角色嗎?

4)最后,除了上述IAM角色之外,存儲桶策略還做什么? 例如,“ AllowS3FullAccess”是“存儲桶策略”還是“ IAM策略”? 為什么要區分策略的類型-策略僅僅是-他們在某些對象/資源上定義了一些權限/規則,如我所見。

感謝您的任何澄清。 -AWS的新手

我認為您正在混淆IAM實體對資源的權限。

i)AWS賬戶擁有某些資源(S3存儲桶,EC2實例等),IAM用戶,IAM角色或其他AWS服務(可以來自相同或不同的賬戶)可以訪問這些資源

ii)我們通過政策管理誰可以訪問及其權限級別

iii)策略可以基於身份(附加到IAM用戶/組/角色)或基於資源(附加到S3存儲桶,SNS主題)

iv)基於資源的策略將具有Principal元素,但基於身份的策略將不具有Principal元素(因為所附的IAM實體是Principal)

v) 權限從默認拒絕開始,允許覆蓋默認拒絕,顯式拒絕覆蓋任何允許

vi)最終訪問權將由所有政策的組合決定

要回答您的問題:

1>我們無法使用S3存儲桶添加(或附加)IAM角色。 如果您希望存儲桶是公開的(不建議這樣做,但是如果它用於靜態網站則需要做到一定程度 ),那么可以將其保持公開狀態

2>創建存儲桶時無法執行。 通過IAM和/或S3存儲桶策略創建存儲桶后,您必須執行此操作

3>如果IAM角色具有AmazonS3FullAccess,則該角色可以(Effect:Allow) 您帳戶中的任何S3資源(資源 :)調用任何S3 API(s3: (前提是他們沒有交叉帳戶訪問權限 )。 如果多個應用程序在具有IAM角色的實例上運行並且正在使用該角色提供的憑據,則它們的權限將相同。

4>我不知道您在哪里獲得參考AllowS3FullAccess,但是除非我們知道確切的JSON,否則我們無法確認。 如果它附加到存儲桶或具有Principal元素,則它是存儲桶策略。 您可以根據需要使用IAM和存儲桶策略。 通常,存儲桶策略用於跨帳戶訪問,或者如果您想在一個地方管理S3權限策略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM