2017-07-31 5 views
0

アクセス権を持っている特定のバケット(アカウントからではありません)があります。バケットの作者はgithubサイトhereを持っており、データにアクセスできるようにしました。私は次のエラーを取得するaws s3 lsしようとすると、問題が来る:アカウント外のバケットへのアクセス

aws s3 \ 
--region eu-west-1 \ 
ls s3://ngi-igenomes/igenomes/Homo_sapiens/Ensembl/GRCh37/Annotation/Genes/ 

A client error (AccessDenied) occurred when calling the ListObjects operation: Access Denied

これは、バケットはアクセスのみ認証されたリクエストに制限されていることを意味Requester Paysポリシーを持っているため、やや奇妙である、と私アクセスキー、秘密のアクセスキー、アカウント/ s3バケットなどのユーザーがアクセスしようとしているバケットと同じ地域(ユーウェスト)にいる

私はなぜ私がアクセスできないのか分からないので、私は助けを求めています。 ご協力いただきありがとうございます!

+0

で明示的にヘッダを支払う含まれていない持っている場合に発生します。 { 「文」:[ { 「効果」:「許可」、 「アクション」:これは私が私のIAMポリシーを検討し、実際に私は、次のしているのGetObject – Deepak

+0

とは異なる権限である「S3:*」、 "Resource": "*" } ] ListObjects属性が含まれていると思いますが、私が間違っていれば私を修正してください:) – mrDanSoro

+0

IAMユーザーのListObjectsアクセス許可が不十分です。すべてのAWSアカウントにすべてのバケットをリストするには十分です)。ターゲットバケットには、バケットに対してListObjectsを呼び出せるポリシーも必要です。 – jarmod

答えて

0

あなたのエラーは言う:A client error (AccessDenied) occurred when calling the ListObjects operation: Access Denied

これはあなたがそのバケット(またはバケット内に少なくともそのパス)を一覧表示する権限を付与されていないことを意味します。

バケットは別のAWSアカウントにあるため、これらのアクセス許可を与える方法はAmazon S3バケットポリシーです。 バケットの所有者のみが、バケットポリシー(バケットポリシーの編集に必要な権限を持つアカウント内のすべてのユーザー)を構成できます。

(それは同じアカウントにあった場合、また、アクセス権を付与するIAMユーザーポリシーを使用することも可能である。)

また、バケットの所有者はそのIAM役割を作成することができます必要な権限を持ち、通常のIAMユーザーとの信頼関係を設定できます。役割を引き受け、バケットにアクセスします。しかし、これはリクエスタ・ペイの能力を犠牲にするだろう。

0

ウェザーバケットが要求者がポリシーを支払い、あなたが依頼者uはListObjects権限を持っていない可能性がありますあなたの要求