使用標籤式存取控制 (TBAC) 搭配 S3 的惡意程式碼防護 - Amazon GuardDuty

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用標籤式存取控制 (TBAC) 搭配 S3 的惡意程式碼防護

為儲存貯體啟用 S3 的惡意軟體防護時,您可以選擇性地選擇啟用標記。嘗試掃描所選儲存貯體中新上傳的 S3 物件後, GuardDuty 將標籤新增至掃描的物件以提供惡意軟體掃描狀態。啟用標記時會產生相關的直接使用費用。如需詳細資訊,請參閱 S3 的惡意軟體防護定價

GuardDuty 使用預先定義的標籤,GuardDutyMalwareScanStatus並將金鑰作為值作為惡意程式碼掃描狀態之一。如需有關這些值的資訊,請參閱S3 object potential scan result value

將標籤新增 GuardDuty 至 S3 物件的考量事項:

  • 依預設,您最多可以將 10 個標籤與物件相關聯。如需詳細資訊,請參閱 Amazon S3 使用者指南的使用標籤對儲存進行分類

    如果所有 10 個標籤都在使用中,則 GuardDuty 無法將預先定義的標籤新增至掃描的物件。 GuardDuty 也會將掃描結果發佈到預設 EventBridge 事件匯流排。如需詳細資訊,請參閱 使用 Amazon EventBridge

  • 當選取的 IAM 角色未包含標記 S3 物件的 GuardDuty 權限時,即使已為受保護儲存貯體啟用標記,也無法 GuardDuty 將標籤新增至此掃描的 S3 物件。如需標記所需 IAM 角色權限的詳細資訊,請參閱先決條件-建立或更新 IAM PassRole 政策

    GuardDuty 也會將掃描結果發佈到預設 EventBridge 事件匯流排。如需詳細資訊,請參閱 使用 Amazon EventBridge

在 S3 儲存貯體資源上新增 TBAC

您可以使用 S3 儲存貯體資源政策來管理 S3 物件的標籤式存取控制 (TBAC)。您可以提供特定使用者存取和讀取 S3 物件的存取權。如果您有使用建立的組織 AWS Organizations,您必須強制執行任何人無法修改新增的標籤 GuardDuty。如需詳細資訊,請參閱《使用指南》中的「防止標籤」遭到修改,但已授權的主參與AWS Organizations 者除外。鏈接主題中使用的示例提到ec2。使用此示例時,請將 ec2 替換為s3.

下列清單說明您可以使用 TBAC 執行的動作:

  • 防止除 S3 服務主體的惡意程式碼保護以外的所有使用者讀取尚未使用下列標籤索引鍵值組標記的 S3 物件:

    GuardDutyMalwareScanStatus:Potential key value

  • 僅允許 GuardDuty 將GuardDutyMalwareScanStatus具有值的標籤鍵作為掃描結果新增至掃描的 S3 物件。下列原則範本可允許具有存取權的特定使用者可能覆寫標籤索引鍵值配對。

S3 儲存貯體資源政策範例:

IAM 角色名稱取代為儲存貯體中用於為 S3 設定惡意軟體保護的 IAM PassRole 。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "NoReadExceptForClean", "Effect": "Deny", "NotPrincipal": { "AWS": [ "arn:aws:iam::555555555555:root", "arn:aws:iam::555555555555:role/IAM-role-name", "arn:aws:iam::555555555555:assumed-role/IAM-role-name/GuardDutyMalwareProtection" ] }, "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": { "StringNotEquals": { "s3:ExistingObjectTag/GuardDutyMalwareScanStatus": "NO_THREATS_FOUND" } } }, { "Sid": "OnlyGuardDutyCanTag", "Effect": "Deny", "NotPrincipal": { "AWS": [ "arn:aws:iam::555555555555:root", "arn:aws:iam::555555555555:role/IAM-role-name", "arn:aws:iam::555555555555:assumed-role/IAM-role-name/GuardDutyMalwareProtection" ] }, "Action": "s3:PutObjectTagging", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }

如需有關標記 S3 資源、標記和存取控制政策的詳細資訊。