本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon S3 存儲桶的許可 AWS Config 交付通道
重要
這個頁面是關於設置 Amazon S3 存儲桶的 AWS Config 交付渠道。這個頁面不是關於AWS::S3::Bucket
資源類型 AWS Config 配置記錄器可以記錄。如需有關的更多資訊 AWS Config 交付管道,請參閱管理交付管道。
根據預設,所有 Amazon S3 儲存貯體和物件皆為私有。只有資源擁有者是 AWS 帳戶 創建存儲桶可以訪問該存儲桶。然而,資源擁有者可以選擇將存取許可授予其他使用者和資源。執行此作業的其中一種方式便是撰寫存取政策。
If AWS Config 自動為您建立 Amazon S3 儲存貯體 (例如,如果您使用 AWS Config 用於設定交付通道的主控台),這些許可會自動新增至 Amazon S3 儲存貯體。但是,若您指定現有的 Amazon S3 儲存貯體,您必須確認該 S3 儲存貯體具有正確的許可。
注意
物件不會繼承其儲存貯體的許可。例如,若您建立儲存貯體,並將寫入存取授予使用者,除非使用者明確授予存取權給您,否則您無法存取該使用者的物件。
使用IAM角色時 Amazon S3 儲存貯體所需的許可
當 AWS Config 將組態資訊 (歷程檔案和快照) 傳送到帳戶中的 Amazon S3 儲存貯體,並擔任您在設定時指派的IAM角色 AWS Config。 何時 AWS Config
將組態資訊傳送到另一個帳戶中的 Amazon S3 儲存貯體,它會首先嘗試使用該IAM角色,但如果儲存貯體的存取政策未授予IAM角色的WRITE
存取權,則此嘗試會失敗。在這次活動中, AWS Config 再次發送信息,這次作為 AWS Config 服務主體。在傳遞成功之前,存取原則必須授與config.amazonaws.com
主體名稱的WRITE
存取權。 AWS Config 那麼是它交付給 S3 存儲桶的對象的所有者。您必須將下面步驟 6 中提到的存取政策附加到另一個帳戶中的 Amazon S3 儲存貯體,以授予 AWS Config
訪問 Amazon S3 存儲桶。
之前 AWS Config 可以將日誌交付到您的 Amazon S3 存儲桶 AWS Config 檢查存儲桶是否存在以及其中 AWS 區域存儲桶所在。 AWS Config 嘗試呼叫 Amazon S3 HeadBucketAPI以檢查儲存貯體是否存在並取得儲存貯體區域。如果在執行位置檢查時未提供尋找值區的權限,您會AccessDenied
在 AWS CloudTrail 日誌。不過,如果您並未提供儲存貯體位置許可,日誌仍會成功傳遞至您的 Amazon S3 儲存貯體。
注意
若要允許 Amazon S3 的權限 HeadBucket
API,請提供以 Sid 身分執行s3:ListBucket
動作的權限AWSConfigBucketExistenceCheck
,如下面的步驟 6 所述。
使用服務連結角色時的 Amazon S3 儲存貯體必要許可
所以此 AWS Config 服務連結角色沒有將物件放入 Amazon S3 儲存貯體的權限。所以,如果你設置 AWS Config 使用服務連結角色 AWS Config 將傳送組態項目為 AWS Config 服務主體而不是。您需要將下面步驟 6 中提到的存取政策附加到您自己帳戶中的 Amazon S3 儲存貯體或其他帳戶以授予 AWS Config 訪問 Amazon S3 存儲桶。
授予 AWS Config 訪問 Amazon S3 存儲桶
請遵循下列步驟,將存取政策新增至您自己帳戶或另一個帳戶中的 Amazon S3 儲存貯體。存取原則允許 AWS Config 將組態資訊傳送到 Amazon S3 儲存貯體。
-
登入到 AWS Management Console 使用具有 S3 存儲桶的帳戶。
在開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/
。 -
選取您想要的儲存貯體 AWS Config 以用來傳送組態項目,然後選擇 [內容]。
-
選擇許可。
-
選擇 Edit Bucket Policy (編輯儲存貯體政策)。
-
將下列政策複製到 Bucket Policy Editor (儲存貯體政策編輯器) 視窗:
重要
作為允許時的安全最佳實踐 AWS Config 存取 Amazon S3 儲存貯體,強烈建議您使用
AWS:SourceAccount
條件限制儲存貯體政策中的存取。如果您現有的儲存貯體政策未遵循此安全最佳作法,強烈建議您編輯該儲存貯體政策以納入此保護。這可以確保 AWS Config 僅代表預期的使用者授予存取權。{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID
" } } }, { "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID
" } } }, { "Sid": "AWSConfigBucketDelivery", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
/[optional] prefix
/AWSLogs/sourceAccountID
/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "AWS:SourceAccount": "sourceAccountID
" } } } ] }注意
授予權限給您的IAM角色而不是 AWS Config 服務主體名稱 (SPN),請確定您的IAM角色具有跨帳戶值區的
PutObjectACL
權限,以避免權限不足錯誤。請參閱〈IAM角色政策〉的範例 IAMS3 儲存貯體的角色政策。 -
取代儲存貯體政策中的下列數值:
-
amzn-s3-demo-bucket
— Amazon S3 存儲桶的名稱 AWS Config 將會傳送組態項目。 -
[optional] prefix
— Amazon S3 物件金鑰的選用新增項目,可協助在儲存貯體中建立類似資料夾的組織。 -
sourceAccountID
— 該帳戶的 ID,該帳戶的 ID AWS Config 會將組態項目傳送至目標值區。
-
-
選擇 Save (儲存) 然後 Close (關閉)。
您可以使用上述 Amazon S3 儲存貯體政策中的 AWS:SourceAccount
條件,限制 Config 服務主體在代表特定帳戶執行操作時,僅能與 Amazon S3 儲存貯體互動。如果您打算設置 AWS Config 在來自同一組織的許多帳戶中,要將組態項目交付到單一 Amazon S3 儲存貯體,我們建議您使用IAM角色而非服務連結角色,以便您可以使用 AWS Organizations 條件鍵,例如AWS:PrincipalOrgID
。如需有關管理IAM角色存取權限的詳細資訊 AWS Config,請參閱指派給的IAM角色的權限 AWS Config。 如需管理的存取權限的詳細資訊 AWS Organizations,請參閱管理您的存取權限 AWS 組織。
AWS Config 也支援限制 AWS:SourceArn
Config 服務主體在代表特定執行操作時僅與 Amazon S3 儲存貯體互動的條件 AWS Config 交付渠道。使用時 AWS Config 服務主體,AWS:SourceArn
屬性一律會設arn:aws:config:sourceRegion:sourceAccountID:*
定sourceRegion
為傳送通道的區域,而且sourceAccountID
是包含傳送通道之帳戶的 ID。有關更多信息 AWS Config 交付管道,請參閱管理交付管道。例如,新增下列條件以限制 Config 服務主體在代表帳戶 123456789012
在 us-east-1
區域中的交付通道 "ArnLike": {"AWS:SourceArn":
"arn:aws:config:us-east-1:123456789012:*"}
時,僅能與 Amazon S3 儲存貯體互動。