Non sono sicuro al 100% di django-storages, poiché utilizzo cuddly-buddly che si basa sulla porzione S3 di django-storages. Ho appena trovato più semplice da usare e lavorato meglio, più il nome è fantastico!
Comunque, ho un progetto che utilizza Django + S3 ed ho trovato la seguente politica di AWS come il minimo necessario per il mio progetto:
{
"Version": "2008-10-17",
"Id": "Policy123",
"Statement": [
{
"Sid": "Stmt123",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::some-aws-user"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::bucket-name"
},
{
"Sid": "Stmt234",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::some-aws-user"
},
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::bucket-name/*"
}
]
}
ho vista Django che hanno bisogno di caricare, recuperare ed eliminare così quelli le azioni corrispondenti possono essere usate/omesse in base alle proprie esigenze. Ovviamente, chiunque dovrà modificare il nome dell'utente e del bucket.
Inoltre, proprio per completezza in quanto non era ovvio per me, notare le seguenti limitazioni per quanto riguarda AWS policies:
La dimensione massima di una politica è di 20 KB
Il valore per Risorsa deve essere il prefisso con il nome del bucket o il nome del bucket e un percorso sotto di esso (bucket/). Se solo il nome del bucket è specificato, senza il trailing/, il criterio si applica al bucket.
Ogni criterio deve avere un ID politica univoco (Id)
Ogni istruzione in una politica deve avere un ID dichiarazione unica (SID)
Ogni politica deve coprire un solo secchio e risorse all'interno di tale secchio (durante la scrittura di una politica, non includere dichiarazioni che si riferiscono ad altre secchi o risorse in altri secchi)
Infine, a chiunque sia tentato di farlo, non modificare il valore della data nella chiave Version
, Amazon utilizza questo valore per analizzare il formato della politica.
Spero che questo aiuti!
Una cosa che si può sicuramente Strip è la 's3: ListAllMyBuckets' azione. Il backend S3 di django-storages non otterrebbe mai la lista dei tuoi bucket. – vvd