[英]Need help to deny S3 bucket creation without specific Tags
我想創建一個 IAM 策略,只允許“測試”用戶在創建時創建帶有“名稱”和“存儲桶”標簽的 S3 存儲桶。 但是做不到。
我已經嘗試過這個,但即使在指定的條件下,用戶也無法創建存儲桶。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Deny",
"Action": "s3:CreateBucket",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestTag/Name": "Bucket"
}
}
}
]
}
提前致謝。
Amazon S3的操作、資源和條件鍵 - 服務授權參考文檔頁面列出了可應用於CreateBucket
命令的條件。
標簽不包括在此列表中。 因此,無法根據使用命令指定的標簽來限制CreateBucket
命令。
正如 John Rotenstein 指出的那樣,這不可能(至少現在)明確否認這一點,但人們可以為此做一些選擇,因為這種類型的標記策略在許多組織中都很常見。
您可以使用AWS Config服務來檢測不合規的 S3 存儲桶資源。 您可以使用 Config rule 為 S3 存儲桶定義標記策略。
這不會阻止用戶創建存儲桶,但它會提供一種審核您的帳戶並主動通知的方法。
如果您希望自動刪除或標記存儲桶,您可以創建一個由 CloudTrail API在創建存儲桶時觸發的 lambda 函數。
可以實施 Lambda 來檢查標簽,如果存儲桶不合規,則嘗試刪除存儲桶或通過您定義的其他一些流程將其標記為刪除。
@pop 我相信您不能使用 IAM 策略或 SCP 來執行此操作,因為按照設計,S3 創建標簽 API 被配置為作為對 CreateBucket API 的后續調用觸發。 因此,即使您添加了此標簽,您的 IAM 策略也會阻止創建 S3 存儲桶本身。 與其他 AWS 服務相比,這是為 S3 服務設計的。
在我看來,唯一的選擇是部署后操作,即選擇一個事件驅動模型,您可以在其中使用 S3 事件根據存儲桶的創建方式采取行動(刪除存儲桶/添加訪問阻止存儲桶策略等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.