2017-09-14 2 views
0

우리는 S3 버킷이 개인용입니다. s3 버킷은 수동으로 생성되며 .net 서버 (파일도 개인용)에 업로드 된 파일입니다. 그리고 우리는 안드로이드 앱에서이 개인 파일에 안전하게 액세스하려고합니다. 우리는 앱에 login/sigup이 없었습니다.안드로이드 앱에서 Private S3 버킷에 액세스하는 데 권장되는 방법은 무엇입니까

나는 다음과 같은 방법을 사용하고하기에

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 

그리고 내가 접근

https://github.com/awslabs/aws-sdk-android-samples/tree/master/S3TransferUtilitySample을 테스트하기 위해 다음과 같은 AWS 샘플을 사용하고

내 질문

  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

모바일 aws android sdk -> http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/getting-started-store-retrieve-s3-transferutility.html을 사용하고 있습니다. –

답변

0

이 경우 알 수없는 ID를 사용하는 것이 가장 좋은 방법은 아닙니다. 미심쩍은 정체성은 누구든지 얻을 수 있기 때문에. 이 작업을 수행하려면 권한 부여자가 있어야합니다. API 게이트웨이 및 람다와 같은 여러 가지 방법으로 수행 할 수 있습니다. API 게이트웨이 및 람다는 S3 파일을 가져 오는 데 사용할 수있는 사전 서명 된 URL을 앱에 제공합니다.

감사합니다. 로한

관련 문제