[英]Kinesis Firehose writes to S3 cloud watch subscription filter but the files are not readable
[英]Kinesis firehose writes to S3 but access denied
這一切都很好。 我可以下載它寫入 S3 的數據,我可以查詢它。
出於某種原因,如果我嘗試下載或查詢他們寫入 S3 的任何內容,我會收到“訪問被拒絕”。
我從我自己的 firehose(在第三個不同的帳戶中)將數據發送到 S3 存儲桶,我可以看到很好。 只有來自他們的 Firehose 的 Parquet 格式數據才會被拒絕訪問。
故障排除
我比較了我的 firehose 的 object 和他們的 firehose 的 object 之間的對象級權限:(每個都來自不同的賬戶,進入我的 S3 存儲桶所在的賬戶)。
這些是我可以正常閱讀的 S3 對象。
受贈人:Object 所有者(外部帳戶)規范 ID:4aXXXXXXedc8fd
Object :讀
Object ACL :讀、寫
受贈人:您的 AWS 賬戶規范 ID:c43XXXXXXXX97958
Object :讀
Object ACL :讀、寫
這些是我被拒絕訪問的對象。
它們具有完全相同的權限,顯然 object 所有者帳戶 ID 是不同的,因為它是從不同帳戶的 firehose 中寫入的。
受贈人:Object 所有者(外部帳戶)規范 ID:2efXXXXXXd5e2d
Object :讀
Object ACL :讀、寫
受贈人:您的 AWS 賬戶規范 ID:c43XXXXXXXX97958
Object :讀
Object ACL :讀、寫
問題:
為什么我在其他團隊的 Firehose 創建的 S3 對象上收到“訪問被拒絕”?
對象級權限看起來是一樣的。
我們應用了兩個修復程序,並且有效
Firehose 使用的目標帳戶中的角色需要授予 S3:PutObjectAcl。 這是早期檢查過的,但在重新檢查后它已經消失了,所以它被添加回來了。
我們在發送帳戶中關閉了 KMS 加密。 這是使用目標帳戶無法訪問的密鑰。 這可以通過向寫入數據的角色添加權限來解決,但為了調試,我們剝離了所有內容以使其作為基線工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.