![](/img/trans.png)
[英]PutObjectRequest.putObject() method of com.amazonaws.services.s3.model.PutObjectRequest throws com.amazonaws.services.s3.model.AmazonS3Exception
[英]com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied
這是我的Java代碼:
AmazonS3 conn = new AmazonS3Client();
AmazonS3URI uri = new AmazonS3URI(s3uri);
ObjectListing objects = conn.listObjects(uri.getBucket(), uri.getKey());
一個非常簡單的任務,我嘗試使用 AmazonS3 Java 客戶端訪問 S3,但是這一行conn.listObjects
一直失敗並給了我以下異常:
Exception in thread "main" com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: XXXXXXXX), S3 Extended Request ID: xxxxxxxxx
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1389)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:902)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:607)
at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:376)
at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:338)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:287)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3826)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3778)
at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:610)
at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:588)
一個非常明顯的錯誤代碼:403 表示我的 aws 憑據錯誤,但是,這與我的同事用來訪問同一個 s3 存儲桶的憑據完全相同,以排除我在某處輸入錯誤的可能性,我從字面上刪除我以前的一個,使用的是我同事發給我的同一個,並將它們放在 ~/.aws/ 下
我還研究了其他可能的原因,一個可能是這個 S3 存儲桶沒有向我的 IAM 角色授予權限,顯然這也不是我的情況。
請問有什么幫助嗎? 罪魁禍首可能是什么?
適用於 Java 的 AWS 開發工具包有一個DefaultAWSCredentialsProviderChain
,它按以下順序檢查憑證:
~/.aws/credentials
) 中的憑證配置文件AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
環境變量並且安全管理員有權訪問該變量,則通過Amazon EC2 容器服務交付的憑證有可能在查閱所需的配置文件之前設置了您的憑據。
檢查正在使用哪些憑據的一種方法是使用aws iam get-user
命令顯示當前用戶。 您也可以使用GetUser()
調用在 Java 中嘗試。
如果它對任何人有幫助 - 我收到此錯誤是因為在嘗試上傳到存儲桶時未指定服務器端加密時存儲桶策略設置為拒絕s3:x-amz-server-side-encryption
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.