5

Google Cloud Storage에 Android 앱 링크를 만듭니다. 내 안드로이드 앱에만 GCS에 대한 액세스를 허용하고 싶습니다.Google Cloud Storage 인증

구글은 안전하게 GCS에 연결하는 세 가지 솔루션을 제공합니다

  • 의 Oauth 2.0
  • 서비스 계정 인증 (너무 Google 계정)
  • 쿠키 기본 계정 (그래서 구글 계정) (개인으로 키,하지만 로컬 안드로이드 앱에 설치 : 아주 나쁜 사람이

소스) 내 .apk 파일을 컴파일하는 경우 : https://developers.google.com/storage/docs/authentication?hl=FR

GCS를 통해 안전하게 연결할 수있는 다른 솔루션이 있습니까? 다음과 같이 GCS에 연결하고 싶습니다. (안드로이드 클라이언트 ID로 제한 : .apk에 SHA1) : https://developers.google.com/appengine/docs/java/endpoints/auth

GCS로 가능합니까? Blobstore를 사용해야합니까?

미리 감사드립니다.

+0

새 질문을 올렸습니다. 그것은 관련이 있습니다. http://stackoverflow.com/q/28001476/3216207 – Oru

답변

4

이것은 컴퓨팅에서 근본적인 문제입니다. 알 수없는 제 3 자의 통제하에있는 하드웨어에서 실행되는 응용 프로그램이 어떻게 든 조작되지 않았다고 완전히 믿을 수는 없습니다. 변조를 훨씬 더 어렵게 만드는 많은 기법이 있지만 원격 시스템은 절대 완벽하게 보호되지 않습니다. 사용자가 특정 Google 계정을 가지고 있는지 확인하는 방법에는 여러 가지가 있지만 특정 앱이 앱과 정확히 일치한다는 것을 쉽게 믿을 수는 없습니다.

즉, 클라이언트를 신뢰하지 않고 보안 애플리케이션을 설계하는 방법은 많습니다. 앱에 권한이 부여되어야하는 것은 무엇입니까? 개체 업로드? 보안 객체를 다운로드 하시겠습니까? 사용자가 응용 프로그램으로 가장 할 수있는 나쁜 점이 있습니까?

+0

앱 엔진 앱의 경우 서비스 계정을 사용하는 것이 좋습니다. 설치된 앱의 경우, 내장 된 비밀은 사실 비밀이 아닙니다. Oru의 [링크 된 질문] (https://stackoverflow.com/questions/23756570/google-cloud-storage-authentication/23767657#comment44394349_23756570)처럼 내 앱을 설치 한 사용자 만 파일 다운로드를 제한하고 싶다고 가정합니다. . 그 답은 타협의 잠재적 영향에 달려 있지만 자격 증명 (또는 새로 고침 토큰 또는 기타)을 제안 하시겠습니까? 아니면 GCS가 설치할 때 해당 사용자에게 GCS 액세스 권한을 부여 하시겠습니까? – BioeJD

0

나는 정보를 인증하기 위해 1)을 사용할 수 있다고 생각합니다. 앱은 사용자의 응용 프로그램 로그인 토큰을 사용하여 서버에 인증 요청을 전달하고 사용자가 자신의 서비스로 유효성을 검사하면 oauth 토큰을 수신하여 gcloud에 보내고 원하는 파일을 수신합니다.

관련 문제