2009-07-14 12 views
5

Ho provato un paio di cose: S3Browse, il RightAws Ruby gem e altri strumenti. Tutti consentono di concedere l'accesso su base individuale, ma non sono stato in grado di impostare l'ACL sui bucket. In realtà, imposto l'ACL sul bucket, non vengono restituiti errori. Ma quando aggiorno o controllo un altro strumento, l'ACL del bucket viene ripristinato solo al proprietario.Come impostare l'ACL di un bucket su S3?

Desidero dare accesso in lettura e scrittura a FlixCloud per un'applicazione che sto sviluppando. Hanno bisogno dell'accesso per scrivere i file di output.

risposta

1

Sì, l'ho controllato di nuovo dopo 10 minuti. ACL rimane come configurato. Immagino che questo sia qualcosa alla tua fine allora. Prova account/workstation diversi.

+0

Hai dimenticato di rispondere sempre. Il mio problema era uno script che avevo scritto che sovrascriveva l'ACL un paio di minuti dopo. –

1

Ho appena verificato due volte che per voi - S3fm è stato possibile modificare correttamente l'ACL. Ho usato la loro email [email protected] come userid. È possibile visualizzare l'utente nell'elenco dopo come flixclouds3.

+0

Hai controllato l'ACL dopo 1 o 2 minuti? Da parte mia, l'ACL è sempre resettato al solo proprietario. –

11

Ero alle prese con la politica ACL vs. Bucket e ho trovato quanto segue utile.

ACL

L'ACL definisce i permessi collegati a un singolo file nel secchio. Il criterio Bucket è uno script che spiega le autorizzazioni per qualsiasi cartella o file in un bucket. Utilizzare i polcies secchio per limitare hot linking, concedere o negare l'accesso a file specifici o tutti, limitare l'indirizzo IP, ecc

Modifica la politica S3 Bucket

Accedere Amazon Web Services, fare clic per S3 e clicca sul nome del secchio nella colonna di sinistra. Visualizza il pannello Proprietà del secchio nella parte inferiore della pagina. Fai clic sul pulsante nell'angolo in basso a destra che dice "Modifica criterio bucket". Questo fa apparire una lightbox in cui incollare lo script della politica. Se lo script fallisce la validazione non salverà.

politica

del campione che ha consentito l'accesso a tutti di leggere (utile se il secchio viene utilizzato come una rete di distribuzione di contenuti)

{ 
    "Version": "2008-10-17", 
    "Id": "", 
    "Statement": [ 
      { 
       "Sid": "AddPerm", 
       "Effect": "Allow", 
       "Principal": { 
        "AWS": "*" 
       }, 
       "Action": "s3:GetObject", 
       "Resource": "arn:aws:s3:::my_bucket_name/*" 
      } 
    ] 
} 

Politica del campione per prevenire hotlinking non autorizzati (siti di terze parti che collega ad esso), ma permetterà a chiunque per scaricare i file:

{ 
    "Version":"2008-10-17", 
    "Id":"preventHotLinking", 

    "Statement":[ { 

     "Sid":"1", 
     "Effect":"Allow", 
     "Principal": { 
      "AWS":"*" 
     }, 

     "Action":"s3:GetObject", 
     "Resource":"arn:aws:s3:::your.bucket.name/*", 

     "Condition":{ 

      "StringLike": { 

       "aws:Referer": [ 
        "http://yourwebsitename.com/*", 
        "http://www.yourwebsitename.com/*" 
       ] 
      } 
     } 
    }] 
} 

generare una politica

http://awspolicygen.s3.amazonaws.com/policygen.html

Politiche Esempio benna

http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?AccessPolicyLanguage_UseCases_s3_a.html

+3

Le politiche dei bucket sono eccezionali, un avvertimento ... Funzionano solo per gli oggetti di proprietà del proprietario dei bucket. Pertanto, se il contenuto finisce nel bucket tramite un account utente diverso dal proprietario del bucket, è necessario utilizzare ACL o copiare l'oggetto nel bucket come proprietario per reimpostare il proprietario. –

+0

Grazie per il suggerimento Steve, non sapevo nulla sull'obbligo del proprietario dell'oggetto. –