2016-07-14 15 views
0

要求にトークンが添付されている場合は、S3バケットへの読み取りアクセス権を許可します。マイAWSポリシーは、次のようになります。S3:ダンプされた認証トークンとしてヘッダーのトークンを使用する

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "PublicReadGetObject", 
      "Effect": "Allow", 
      "Principal": "*", 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::some_bucket/*", 
      "Condition": { 
       "StringEquals": { 
        "aws:principaltype": "authorized_user" 
       } 
      } 
     } 
    ] 
} 

そして私はそうのように、それへのリンク(それはJavaでです)の書き込みをしようとしている:

fileInfo.add('https://s3.amazonaws.com/some_bucket/' + file + '?aws:principaltype=authorized_user'); 

をしかし、私はちょうど標準のアクセス拒否メッセージを取得しています:

<Code>AccessDenied</Code> 

私は間違っていますか?または、擬似パブリックアクセスの設定を行うためのより良い方法がありますか?

+0

バケットへのMFAトークンアクセスを実装できるという別のオプションのように機能すると思います。しかし、わからない – error2007s

答えて

1

condition keysを構成することはできません。

これらはヘッダーに相当しません。ヘッダーに対応するものもありますが、必要ではなく便宜のためです。

このような質問が表示されたら、動機は主に何らかの理由で慣習的なやり方を学ぶことを避けたいという疑いがあります。要求ヘッダーを挿入するのが簡単な環境にいる場合は、一致する署名付きでAuthorizationヘッダーを生成するだけではどうですか?

S3で想像しているような機能はありません。

あなたが原点アクセスアイデンティティと、バケットの前でCloudFrontのを設定した場合、ワイルドカードで事前に署名したURL を生成することが可能であるので、1事前に署名したURLは、いずれか、またはすべてを表すことができバケットの、例えばhttps://example.com/cats/*.jpgを許可すると、S3オブジェクトのキープレフィックスcats/でJPEGファイルにアクセスできます。 CloudFrontはワイルドカードで署名されたURLを検証し、S3から元のアクセスIDを使用してオブジェクトを取得します。 (S3署名されたURLはワイルドカードをサポートしていません; CloudFront signed URLs do)。

これは簡単な解決策のようです。

アプリケーションにWebサーバーがある場合は、そのサーバーに要求を送信し、目的の「トークン」が一致する場合はURLに署名して302リダイレクトを返し、ブラウザーを送信してS3からオブジェクトを取得します。私はこれを行ういくつかのシステムを持っています。そのうちの1つは、ユーザーのセッションCookieの内容を検索し、オブジェクトのメタデータと比較し、一致するものがあれば署名されたリダイレクトが生成されるようにします(ユーザーは、オブジェクトに格納されているものと一致するセッション内のID、ユーザークラスID、またはアクセス権セットID、アクセスが拒否された場合は403、オブジェクトが存在しない場合は403が返され、バケットはセキュリティ上の理由からスキャンする必要があります)。これは、セッション検証の有無にかかわらず、単にトークンの存在をAPIゲートウェイの背後にあるラムダ関数で実装することもできます。トークンはネイティブでもサポートされます(「APIキー」)。

+0

偉大な答え、ありがとう。私はもちろん、このユースケースでは十分であったため、最も速いソリューションに進んでいましたが、それが正しく行われてはならないということを意味するのは簡単です。乾杯。 –

+0

また、CloudFrontの説明に+1します。私はあなたが私の質問から気付くかもしれないようにAWSにまったく新しく、何を設定するのか、どこでどこを本当に知っているのかわかりません。再度、感謝します。 –

関連する問題