Ho un bucket in cui ho accidentalmente caricato migliaia di file con ACL in: public_read Vorrei che tutti i file non fossero disponibili tranne con un URL di accesso generato.Come impostare la politica del bucket di Amazon S3 come privata per tutti tranne l'amministratore?
Ho provato a creare una politica del bucket con negare tutto a tutti e consentire tutto a me.
E non funziona e tutti i file sono proibiti anche con un URL di accesso generato:
{
"Version": "2008-10-17",
"Id": "Policy1331136935471",
"Statement": [
{
"Sid": "Stmt1331136294179",
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::myBucket/*"
},
{
"Sid": "Stmt1331136364169",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::6527...3775:root"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::myBucket/*"
}
]
}
UPDATE:
ho trovato riferimento al default deny nel doc ma il Generatore di politiche AWS ha solo 2 valori "Consenti" e "Rifiuta" qualcun altro ha la sintassi per il rifiuto predefinito?
Grazie per il vostro aiuto
Ho pensato che dovresti essere in grado di modificare l'istruzione "Nega" per utilizzare "NotPrincipal" anziché "Principale", ad es. '" NotPrincipal ": {" AWS ":" YOUR-ACCOUNT-NUMBER "}' ma avendo provato la stessa cosa io stesso non sembra funzionare. – Rory