本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
流量日誌的 Amazon S3 儲存貯體許可
根據預設,Amazon S3 儲存貯體及其所包含的物件皆為私有。只有儲存貯體擁有者可存取儲存貯體及存放於其中的物件。但是,儲存貯體擁有者可藉由編寫存取政策,將存取權授予其他資源和使用者。
如果建立流量日誌的使用者擁有儲存貯體且具有該儲存貯體的 PutBucketPolicy
和 GetBucketPolicy
許可,我們就會自動將以下政策連接至該儲存貯體。此政策會覆寫附加至儲存貯體的任何現有政策。
否則,儲存貯體擁有者必須將此政策新增至儲存貯體、指定流量日誌建立者的 AWS 帳戶 ID,否則流量日誌會建立失敗。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的「使用儲存貯體政策」。
您為 my-s3-arn
指定的 ARN 取決於您是否使用與 Hive 相容的 S3 字首。
-
預設字首
arn:aws:s3:::
bucket_name
/optional_folder
/AWSLogs/account_id
/* -
與 Hive 相容的 S3 字首
arn:aws:s3:::
bucket_name
/optional_folder
/AWSLogs/aws-account-id=account_id
/*
最佳實務是將這些許可授予日誌交付服務委託人,而不是個別 AWS 帳戶 ARNs。這也是使用 aws:SourceAccount
和 aws:SourceArn
條件金鑰來保護自己免受混淆代理人問題的困擾之最佳實務。來源帳戶是流量日誌的擁有者,且來源 ARN 是日誌服務的萬用字元 (*) ARN。
請注意,日誌交付服務會呼叫 HeadBucket
Amazon S3 API 動作,以驗證 S3 儲存貯體的存在和位置。您不需要授予日誌交付服務呼叫此動作的許可;即使無法確認 S3 儲存貯體是否存在及其位置,它仍會交付 VPC 流程日誌。不過,您的 CloudTrail 日誌HeadBucket
中的 呼叫將會AccessDenied
發生錯誤。