我無法從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體存取 Amazon Simple Storage Service (Amazon S3) 儲存貯體。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
建立授予對 Amazon S3 存取權的 IAM 執行個體設定檔
請完成下列步驟:
- 開啟 AWS Identity and Access Management (IAM) console (AWS Identity and Access Management (IAM) 主控台)。
- 在導覽窗格的 Access management (存取管理) 下,選擇 Roles (角色)。
- 選擇 Create role (建立角色)。
- 在 Trusted entity type (受信任實體的類型) 下,選擇 AWS service (AWS 服務)。在 Service or use case (服務或使用案例) 中,選擇 EC2。在 Use Case (使用案例) 中,選擇 EC2。
**注意:**當您使用 IAM 主控台建立 IAM 角色並選擇 EC2 作為受信任實體時,系統會自動建立 IAM 執行個體設定檔。新建立的 IAM 執行個體設定檔的名稱與角色相同。但是,如果您使用 AWS CLI 或 API 來建立角色,系統就不會自動建立執行個體設定檔。如需詳細資訊,請參閱我建立了 IAM 角色,但我啟動執行個體時,該角色沒有出現在下拉式清單中。我該怎麼辦?
- 選擇 Next (下一步)。
- 建立自訂政策,以提供存取 S3 儲存貯體必要的最低權限。
**注意:**建立具有最低必要權限的政策是安全性最佳做法。不過,若要讓 EC2 存取您所有的 S3 儲存貯體,請使用 AmazonS3ReadOnlyAccess 或 AmazonS3FullAccess 受管 IAM 政策。
- 選取所需政策,然後選擇 Next (下一步)。
- 輸入角色名稱,然後選擇 Create role (建立角色)。
將 IAM 執行個體設定檔連接至 EC2 執行個體
請完成下列步驟:
- 開啟 Amazon EC2 console (Amazon EC2 主控台)。
- 在導覽窗格中,選擇 Instances (執行個體)。
- 選取您想附加 IAM 角色的執行個體。
- 選擇 Actions (動作),然後選擇 Security (安全)。
- 選擇 Modify IAM role (修改 IAM 角色)。
- 選取您剛建立的 IAM 角色,然後選擇 Save (儲存)。將 IAM 角色指派給您的 EC2 執行個體。
確認 S3 儲存貯體的權限
請完成下列步驟:
- 開啟 Amazon S3 console (Amazon S3 主控台)。
- 選取您想確認政策的 S3 儲存貯體連結。
- 選擇 Permissions (權限) 索引標籤。
- 在 Bucket policy (儲存區政策) 區段中,搜尋包含 Effect: Deny 的陳述式。
- 編輯 IAM 政策以移除任何 Effect: Deny 陳述式,這些陳述式拒絕了 IAM 執行個體設定檔對您儲存貯體的存取權。
確認從 EC2 執行個體到 Amazon S3 的網路連線
先決條件
- 具有公有 IP 位址的 EC2 執行個體,並具有預設路由指向網際網路閘道的路由表項目。
- 具有透過 NAT 閘道 之預設路由的私有 EC2 執行個體。
- 具有透過閘道虛擬私有雲端 (VPC) 端點連線至 Amazon S3 的私有 EC2 執行個體。
若要對私有 EC2 執行個體和 S3 儲存貯體之間的連線問題進行疑難排解,請參閱如何對閘道 Amazon VPC 端點的連線問題進行疑難排解?
確認對 S3 儲存貯體的存取權
請完成下列步驟:
- 在您的 EC2 執行個體上安裝 AWS CLI。
- 執行下列命令,確認對 S3 儲存貯體的存取權:
aws s3 ls s3://DOC-EXAMPLE-BUCKET
注意: 將 DOC-EXAMPLE-BUCKET 替換為您 S3 儲存貯體的名稱。
對於使用 AWS Key Management Service (KMS) 金鑰加密的 S3 物件,請在 IAM 角色和 KMS 金鑰政策中授予 kms: Decrypt 權限。如果您未授予 kms:Decrypt 權限,則無法複製或下載 S3 物件。
相關資訊
Amazon S3 的身分和存取管理
如何對使用介面 VPC 端點連接到 Amazon S3 儲存貯體時出現的連線問題進行疑難排解?