2017-09-14 20 views
0

S3バケットはプライベートです。 s3バケットは手動で作成され、.netサーバー(ファイルもプライベートです)によってアップロードされたファイルです。そして、これらのプライベートファイルにアンドロイドアプリで安全にアクセスしたいと考えています。私たちはアプリにログイン/サインアップをしていませんでした。アンドロイドアプリからPrivate S3バケットにアクセスするにはどうすればいいですか

私は私の質問は

  1. がそれであるということですテストアプローチに

    1. Created identity pool and enabled access to unauthenticated identities as there is no any login in our app 
    2. Configured IAM role. for unAuth role, added inline policy to have full aceess to s3 bucket 
    

    と私は、次のAWSのサンプルを使用していますため

    https://github.com/awslabs/aws-sdk-android-samples/tree/master/S3TransferUtilitySample

    を次のアプローチを使用していますファイルとしての正しいアプローチは著作権で保護された情報であり、1つはbuckeをハックすることができないはずですすべてのファイルを支払うことなくすべてのファイルを受け取ります..

  2. 上記のサンプルGitHubの例ではアクセスが拒否されているためエラーが発生していますが、バケツを公開するとプライベートファイルではなく公開ファイルのみにアクセスできます。では、このアプローチはプライベートバケット用ではありませんか?

ありがとうございます。

+0

あなたがpresigned URLを使用したおかげで、。これは所定の時間内に失効する。詳細については、このクラスを参照してください。 [GeneratePresignedUrlRequest。 http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/index.html?com/amazonaws/services/s3/model/GeneratePresignedUrlRequest.html – mcd

+0

次の例を使用しています - https://github.com/ awslabs/aws-sdk-android-samples/tree/master/S3TransferUtilitySampleダウンロード方法があります。 transferUtility.download(Constants.BUCKET_NAME、key、file); –

+0

私はmobile aws android sdkを使用しています - > http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/getting-started-store-retrieve-s3-transferutility.html –

答えて

0

この場合、未認証のアイデンティティを使用するのは最適ではないかもしれません。未認証のアイデンティティは誰でも得ることができるからです。これを行うには、理想的には独自の承認者が必要です。これは、API GatewayやLambdaのように、S3ファイルを取得するために使用できるアプリで事前に署名されたURLを与える複数の方法で行うことができます。

ロハン

関連する問題