2011-11-09 13 views
7

Chúng tôi muốn bắt đầu sử dụng Google Cloud Storage làm cửa hàng liên tục cho các tệp do người dùng tải lên. Rất tiếc, tôi không thể thêm App Identity (application-id @ appspot.gserviceaccount.com) vào "Nhóm" của chúng tôi bởi vì nhóm của chúng tôi dựa trên Google Apps cho tên miền và không cho phép bất kỳ địa chỉ email nào không trên miền của chúng tôi để tham gia vào nhóm.Xác thực Google Cloud Storage cho App Engine

Có cách nào được khuyến nghị để xác thực cá thể App Engine trong trường hợp này không?

+0

Ngoài sự tò mò, bạn sẽ lấy những tính năng nào từ Bộ nhớ đám mây mà không thể truy cập được thông qua App Engine + Blobstore? – kamens

+1

Chúng tôi muốn hiển thị dữ liệu để người dùng tải xuống và Cloud Storage nhanh hơn và rẻ hơn nhiều so với việc phân phát dữ liệu thông qua appengine. Về cơ bản, chúng tôi đang sử dụng nó như một CDN dễ làm mất hiệu lực. – tghw

+0

. Chúng tôi đã có một số may mắn (hiệu suất khôn ngoan) w/gửi lại tiêu đề bộ nhớ cache w/phản ứng blobstore của chúng tôi (máy chủ frontend của Google dường như nhanh chóng xử lý hầu hết các yêu cầu sau đó). Phần dễ bị mất hiệu lực là một câu chuyện khác. – kamens

Trả lời

3

Tạo nhóm mới bằng tài khoản gmail. Thêm tất cả các thành viên trong nhóm của bạn (bao gồm cả ứng dụng) và xóa tài khoản gmail khỏi nhóm.

Vâng, đó là một sự cố khủng khiếp. Xin lỗi vì điều đó.

4

Bạn cũng có thể giải quyết vấn đề này bằng cách sử dụng GSUtil để cấp quyền truy cập ghi rõ ràng vào nhóm bạn đã tạo để tài khoản dịch vụ của bạn "[email protected]" có đủ quyền truy cập vào nhóm. Theo mặc định, người khác không thể truy cập nhóm của bạn.

  • Lấy ACL của xô:: gsutil getacl gs: // mybucket> acl.txt
  • Thực hiện thay đổi

    Những gì bạn sẽ cần phải làm với GSUtil để sửa đổi ACL của bạn trên xô này là để acl.txt chẳng hạn như thêm trợ cấp bổ sung cho người dùng "[email protected]" để có quyền ghi vào nhóm, hãy xem tài liệu ACL. làm thế nào để làm điều này: http://code.google.com/apis/storage/docs/accesscontrol.html#applyacls Cụ thể, nó có thể giống như thế này để thêm vào acl.txt bạn đã tải về:

    <Entry> 
        <Scope type="UserByEmail"> 
        <EmailAddress>[email protected]</EmailAddress> 
        <Name>Service Account</Name> 
        </Scope> 
        <Permission>FULL_CONTROL</Permission> 
    </Entry> 
    
  • Cập nhật ACL trên xô: gsutil setacl acl.txt gs: // yourbucket

Hy vọng điều này sẽ hữu ích!

+0

Bạn đã thực sự thử nó, nó có hoạt động không? Hướng dẫn cụ thể yêu cầu thêm quyền vào dự án không phải là nhóm: 'Thêm tài khoản dịch vụ làm trình chỉnh sửa dự án vào dự án Bảng điều khiển API Google mà nhóm thuộc về' – Yasser

+0

Tôi có thể xác nhận rằng điều này (sử dụng gsutil) cũng đã hoạt động cho chúng tôi – tosh

+0

Điều này làm việc cho tôi. Tôi đã nhận tên tài khoản dịch vụ từ bảng điều khiển App Engine trong "Cài đặt ứng dụng". –

-1

Để sử dụng Google Cloud Storage, bạn có thể đi qua liên kết này https://developers.google.com/storage/ và sau đó tạo tài khoản mới, sau đó sử dụng.

+0

Đó không phải là những gì đã được hỏi ở đây –