所以我創建了一個 IAM 用戶并添加了訪問 S3 的權限,然后我創建了一個 EC2 實體并通過 SSH 連接到其中。
給出“aws s3 ls”命令后,回復為“無法找到憑據。您可以通過運行“aws configure”來配置憑據。
那么使用“aws configure”提供 IAM 憑證(密鑰和密鑰 ID)與編輯存盤桶策略以允許 s3 訪問我的實體的公共 IP之間有什么區別。
即使在編輯存盤桶策略 (JSON) 以允許 S3 訪問我的實體的公共 IP 之后,為什么我無法訪問 s3 存盤桶,除非我使用“aws configure”(密鑰和密鑰 ID)?
請幫忙!謝謝。
uj5u.com熱心網友回復:
由于您使用的是 EC2,因此您應該真正使用EC2 實體組態檔,而不是在檔案系統中運行aws configure和硬編碼憑證。
至于您關于 S3 存盤桶策略與 IAM 角色的問題,這里是官方檔案。它們是您將用于保護您的 AWS 賬戶的兩個獨立工具。
至于您失敗的特定命令,請注意 AWS CLI 工具將始終嘗試在默認情況下查找憑證。如果您希望它跳過查找憑據,您可以傳遞--no-sign-request引數。
但是,如果您只是在運行,aws s3 ls那么這就是試圖列出您賬戶中的所有存盤桶,您必須擁有 IAM 憑證。在這種情況下,不會考慮單個存盤桶策略。
如果您正在跑步aws s3 ls s3://bucketname,那么它可能會起到aws s3 ls s3://bucketname --no-sign-request.
uj5u.com熱心網友回復:
當您創建 iam 用戶時,有兩個部分
- 政策
- 角色
策略附加到用戶,例如用戶可以訪問的所有服務不能訪問角色附加到應用程式,該應用程式可以擁有的所有訪問權限
所以你必須允許 ec2 訪問 S3 有兩種方法
- aws 配置
- 將角色附加到 ec2 實體
雖然 1 很棘手,但 2 很簡單轉到 ec2-instance-> Actions -> Security -> Modify IAM role -> 然后選擇角色(ec2 s3 訪問角色)
就是這樣,您可以簡單地從 ec2 實體執行 aws s3 ls
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/466186.html
