Nella console di Amazon S3 vedo solo un'opzione di autorizzazione per "upload/delete". C'è un modo per consentire il caricamento ma non la cancellazione?Come rimuovere l'autorizzazione "delete" su Amazon S3
risposta
I permessi che state vedendo nel AWS Management Console direttamente si basano sulla iniziale e relativamente semplice Access Control Lists (ACL) disponibile per S3, che essenzialmente differenziata LEGGERE e WRITE autorizzazioni, vedere Specifying a Permission:
- LEGGI - Consente al concessionario di elencare gli oggetti nel secchio
- WRITE - Consente concessionario per creare, sovrascrivere ed eliminare qualsiasi oggetto nel secchio
Queste limitazioni sono state affrontate con l'aggiunta di Bucket Policies (autorizzazioni applicate a livello benna) e IAM Policies (autorizzazioni applicate a livello utente), e tutti e tre possono essere utilizzati insieme (che può diventare piuttosto complesso, come indicato di seguito), vedere Access Control per l'intera immagine.
Il tuo caso d'uso probabilmente richiede una rispettiva politica bucket, che puoi aggiungere direttamente dalla console S3. Facendo clic su Aggiungi politica bucket si apre Editor criteri Bucket, che presenta collegamenti a un paio di campioni nonché il raccomandatissimo AWS Policy Generator, che consente di assemblare una politica che si riferisce al caso d'uso.
Per un secchio altrimenti bloccato, la forma più semplice potrebbe essere simile in modo (si prega di assicurare per regolare Principal e Resource alle proprie esigenze):
{
"Statement": [
{
"Action": [
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::<bucket_name>/<key_name>",
"Principal": {
"AWS": [
"*"
]
}
}
]
}
A seconda del caso d'uso, è possibile comporre facilmente politiche piuttosto complesse combinando varie Consenti e Denina azioni, ecc. - questo può ovviamente produrre anche permessi involontari, quindi un test corretto è fondamentale come al solito; di conseguenza, si prega di prendersi cura delle implicazioni quando si utilizza Using ACLs and Bucket Policies Together o IAM and Bucket Policies Together.
Infine, si potrebbe dare un'occhiata alla mia risposta allo Problems specifying a single bucket in a simple AWS user policy, che affronta un altro trabocchetto comunemente riscontrato con le politiche.
Sì, s3:DeleteObject
è un'opzione:
http://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
Tuttavia, non v'è alcuna differenziazione tra la modifica di un oggetto esistente (che consentirebbe di eliminare efficacemente) e la creazione di un nuovo oggetto.
È possibile allegare una politica di non eliminazione al proprio bucket s3.Per esempio, se non si desidera che l'utente IAM di eseguire qualsiasi operazione di eliminazione di eventuali secchi o altri oggetti, è possibile impostare qualcosa di simile:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1480692207000",
"Effect": "Deny",
"Action": [
"s3:DeleteBucket",
"s3:DeleteBucketPolicy",
"s3:DeleteBucketWebsite",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}
Inoltre, è possibile controllare la vostra politica con il simulatore di politica https://policysim.aws.amazon.com per controllare se il tuo set up è quello che ti aspettavi o no.
Spero che questo aiuti!
Questo ha funzionato perfettamente. Grazie a Pung Worathiti Manosroi. combinato la sua politica citata come di seguito:
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:GetObjectAcl",
"s3:PutObjectAcl",
"s3:ListBucket",
"s3:GetBucketAcl",
"s3:PutBucketAcl",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::mybucketname/*",
"Condition": {}
},
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*",
"Condition": {}
},
{
"Effect": "Deny",
"Action": [
"s3:DeleteBucket",
"s3:DeleteBucketPolicy",
"s3:DeleteBucketWebsite",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": "arn:aws:s3:::mybucketname/*",
"Condition": {}
}
]
}
- 1. Presto su Amazon S3
- 2. zcat su amazon s3
- 3. Intestazioni personalizzate su Amazon S3
- 4. Utilizzo di Amazon S3 con Amazon RDS
- 5. Errore S3 di Amazon S3
- 6. git e Amazon s3
- 7. Registrazione ad Amazon S3
- 8. È possibile memorizzare json su Amazon s3?
- 9. Autorizzazioni Amazon S3
- 10. Caricamento su Amazon S3 utilizzando cURL/libcurl
- 11. Caricamento multiparte su Amazon S3 utilizzando Retrofit
- 12. Decomprimere il file ZIP su Amazon S3
- 13. Client basato su Web per Amazon S3
- 14. Autenticazione download Amazon S3
- 15. Amazon S3 copyObject permesso
- 16. differenza tra Amazon s3 e Amazon redshift
- 17. Offline Amazon S3
- 18. Replica oggetti Amazon S3
- 19. Amazon S3 URL Rewrite
- 20. SignatureDoesNotMatch - Amazon S3 API
- 21. Come combinare JS/CSS per Amazon S3?
- 22. come conservare le immagini graffianti su Amazon S3?
- 23. Come mappare più domini allo stesso bucket su Amazon S3?
- 24. Come caricare la cartella con sottocartella su amazon s3?
- 25. Reindirizzamento di oggetti Amazon S3
- 26. Come servire risorse gzip da Amazon S3
- 27. Streaming MP3 da Amazon S3
- 28. Come definire i permessi di Amazon S3
- 29. amazon s3 deleteObjects nodejs - impossibile farlo funzionare
- 30. file duplicati in Amazon S3