このトピックでは、JindoSDK を使用してオブジェクトストレージサービス (OSS) にアクセスする際に AccessDenied エラーが発生する原因と、エラーの修正方法について説明します。
問題
接続テストに失敗しました。操作: getFileStatus、エラーメッセージ: [RequestId]: 635B6DDE9A1F093434AC6A7C [HostId]: oss-cn-beijing-internal.aliyuncs.com [ErrorMessage]: [E1010]HTTP/1.1 403 Forbidden: <?xml version="1.0" encoding="UTF-8"?><Error> <Code>AccessDenied</Code> <Message>アクセスしようとしているバケットは、お客様のものではありません。</Message> <RequestId>635B6DDE9A1F093434AC6A7C</RequestId> <HostId>xxx.oss-cn-beijing-internal.aliyuncs.com</HostId></Error> [ErrorCode]: 1010 [RequestId]: 635B6DDE9A1F093434AC6A7C
原因
RAM ユーザーに OSS にアクセスするために必要な権限がありません。
解決策
RAM ユーザーに必要な権限を付与します。詳細については、RAM を使用して OSS 権限を管理するをご参照ください。
OSS リソースをきめ細かく制御する場合は、次のアクションを参照してください。
- JindoSDK を使用して OSS からデータを読み書きする
# バケット関連のアクション oss:ListObjects oss:GetBucketInfo # オブジェクト関連のアクション oss:PutObject oss:GetObject oss:DeleteObject oss:AbortMultipartUpload oss:ListParts oss:RestoreObject oss:PutObjectTagging oss:GetObjectTagging oss:DeleteObjectTagging # バージョニング関連のアクション oss:ListObjectVersions oss:GetObjectVersion oss:DeleteObjectVersion oss:RestoreObjectVersion oss:PutObjectVersionTagging oss:GetObjectVersionTagging oss:DeleteObjectVersionTagging - JindoSDK を使用して OSS からデータを読み取る
# バケット関連のアクション oss:ListObjects oss:GetBucketInfo # オブジェクト関連のアクション oss:GetObject oss:ListParts oss:RestoreObject oss:GetObjectTagging # バージョニング関連のアクション oss:ListObjectVersions oss:GetObjectVersion oss:RestoreObjectVersion oss:GetObjectVersionTagging