2011-01-12 31 views
6

Tôi muốn thực hiện cuộc gọi đến API phần còn lại của Amazon S3 thông qua ứng dụng iPhone. Nó có nghĩa là tôi sẽ phải viết trong ứng dụng iPhone của tôi bí mậtAccessKey và accessKey của dịch vụ Amazon S3.Làm thế nào an toàn để gọi dịch vụ Amazon S3 từ iPhone?

Nếu ứng dụng của tôi xuất hiện trên appstore, điều đó có nguy hiểm với tôi không? Có lẽ một số người sẽ trích xuất secretKey của tôi và chìa khóa của tôi để sử dụng nó cho các mục đích khác? Có cách nào để bảo vệ ứng dụng của tôi khỏi loại tấn công này không?

Cảm ơn!

Martin

Trả lời

3

Nếu có thể bạn không nên lưu khóa trong ứng dụng của mình.

Bạn có thể xem cuộc thảo luận dài về chủ đề tại đây: Architectural and design question about uploading photos from iPhone app and S3 (xem câu trả lời của Adrian Petrescu).

Có một vài tùy chọn ở đây. Đầu tiên, tải dữ liệu của bạn lên một máy chủ trung tâm và sau đó lên S3. Các khóa của bạn vẫn ở chế độ riêng tư trên máy chủ của bạn. Hoặc bạn có thể xem presigning URL của mình.

+0

RE liên kết đặt trước của bạn liên kết đến phương thức S3GetPreSignedURLRequest, bạn được phép điền thông tin Bí mật bằng cách lưu trữ trên máy khách như thế nào? Cập nhật: Tôi đã xem lại tài liệu tham khảo và nó cho biết AccessKey, chứ không phải SecretKey. Ý tưởng ở đây là bạn chỉ lưu trữ một trong các khóa và nó được sử dụng như một khóa công khai của các loại? – Skyler

Các vấn đề liên quan