Open alirizakeles opened 8 years ago
Private dosyaların sunumunu Riak CS tarafından da desteklenen S3'ün "pre-signed url" işlevselliği ile çözebiliriz sanırım.
http://docs.basho.com/riakcs/latest/cookbooks/Authentication/
http://boto3.readthedocs.org/en/latest/reference/services/s3.html#S3.Client.generate_presigned_url
RiakCS file type field icin kullanmaya basladik. Yetkilendirme icin karar verip uygulayacagiz.
Riak-cs (3s) servisimizi hem public hem de private dosyalarin sunumu icin kullanacagiz.
Public olarak erisilebilir dosyalarin sunumu Haproxy dolayimi ile 3s uzerinden olacak. Kimlik dogrulamasi ve yetkilendirme gereken dosyalari da app uzerinden 3s'ten okuyup sunacagiz.
Private dosyalarin sunumu sirasinda olusabilecek performans problemlerinin onune gecmek icin sadece dosya isleriyle ilgilenecek containerlar deploy edilecek. Bir subdomain bu containerlara yonlendirilecek. Bu subdomain ile oturum paylasimi yapacagiz.
Model seviyesinde binary field tipimiz olacak. Bu field ozelliklerinden birisi, bu dosyaya erisimin nasil yapilacagini belirleyecek. Private veya public. Yetki ise genel yetkilendirme sistemiyle belirlenecek.
Raporlar gibi model degilde view / servis / zamanlanmis gorev vb sekilde uretilen dosyalara nasil erisilecegi ilgili surecler tarafindan belirlenecek.
3s uzerinde duran her bir dosyanin public veya private ozelligi mutlaka set edilecek. Kullandigimiz bucketlar publicly_read olmayacak. Bucketlar icindeki tek tek ogelerin ozellikleri belirlenecek.