7

저는 이미지 파일을 저장하고 검색하기 위해 데이터 저장소와 blobstore에 관해서 stackoverflow 전체를 읽었습니다. 모든 것이 블로거 스토어를 향하고 있습니다 : 프라이버시와 보안.ndb.BlobProperty 대 BlobStore : 더 개인적이고 보안 성이 더 우수합니다

데이터 저장소에서 내 사용자의 사진은 비공개입니다. 누가 blob을 가져올 지 완전히 제어 할 수 있습니다. 그러나 Blobstore에서 URL을 알고있는 사용자는 내 사용자의 사진에 액세스 할 수 있습니까? 그게 사실이야?

다음은 나에게 안심할 것으로 예상되는 견적이지만, 아직 명확하지 않습니다. blob 키를 가진 사람은 여전히 ​​사진에 액세스 할 수 있습니까?

(Store Photos in Blobstore or as Blobs in Datastore - Which is better/more efficient /cheaper?에서) 당신이 Blob 저장소에서 값을 봉사하는 방법은 다음 응용 프로그램에 대한 요청 을 수락 키를 사용하여 X-AppEngine에-BlobKey 헤더로 응답하는 것입니다. App Engine은 발신 응답을 가로 채고 본문을 서비스에서 직접 스트리밍 된 Blobstore 값으로 바꿉니다. 앱 로직이 먼저 헤더를 설정하기 때문에 앱은 원하는 액세스 제어를 구현할 수 있습니다. 앱 개입없이 Blobstore에서 직접 값을 제공하는 기본 URL은 없습니다 ( ).

이 모든 내용에 대한 질문입니다. 이미지를 트래 피킹하는 데보다 개인적이고 안전한 이유는 무엇입니까? 왜 데이터 저장소 또는 BLOB 저장소입니까? 또는 안녕하세요, google-cloud-storage (현재 알고있는 내용이 없습니다)

+0

나는 또한 이것을보고 있는데, blobstore가 사용자 액세스 제어를 할 수있는 핸들러 나 서비스를 통해 액세스를 제어하는 ​​데 가장 적합하다고 생각합니다. –

+0

그리고 blobstore는 내가 읽은 것의 클라우드 저장소와 비슷합니다 –

답변

2

google.appengine.api.images.get_serving_url을 사용하는 경우 the url returned is public입니다. 그러나 반환 된 url은 blob의 키에서 추측 할 수 없으며 get_serving_url을 호출하기 전에 url도 존재하지 않습니다. (또는 delete_serving_url을 호출 한 후).

블롭 스토어 you can write your own handlers의 데이터 위에 액세스 제어가 필요하고 거기에 액세스 제어를 추가해야하는 경우.

0

BlobProperty은 개인 정보 보호를 위해 BlobStore과 마찬가지로 개인 정보 보호 정책을 준수하며 모두 요청을 처리하는 애플리케이션에 따라 다릅니다. 응용 프로그램은 사용자에게 내용을 보내기 전에 모든 권한 검사를 구현할 수 있으므로 모든 이미지를 직접 제공하고 공개적으로 사용 가능한 URL을 의도적으로 만들지 않는 한 어떤 차이도 보이지 않습니다. 이 방법은 데이터가 대신 BlobStore의 데이터베이스에서 종료하고 데이터베이스에 데이터를 저장하는 데 훨씬 더 많은 비용 때문에

사실, 심지어는 BlobProperty에 사진을 저장에 대한 thinlk하지 않을 것입니다. 반면에 BlobStore은 저렴하고 편리합니다.