Salta al contenuto

Perché i log di accesso al mio server Amazon S3 non sono stati consegnati al mio bucket?

4 minuti di lettura
0

Ho configurato la registrazione degli accessi al server Amazon Simple Storage Service (Amazon S3). Tuttavia, Amazon S3 non ha consegnato i log di accesso al bucket di destinazione Amazon S3.

Breve descrizione

Quando attivi la registrazione degli accessi al server per la prima volta o modifichi il bucket di destinazione per i log, l'implementazione delle modifiche richiede tempo. Amazon S3 potrebbe non registrare le richieste di consegna nella prima ora dall'attivazione della registrazione. Inoltre, nella prima ora dalla modifica del bucket di destinazione, Amazon S3 potrebbe consegnare i log al bucket di destinazione precedente.

Dopo aver modificato la configurazione della registrazione, attendi almeno 1 ora prima di verificare i log. Per ulteriori informazioni, consulta Consegna di log del server sulla base del miglior tentativo.

Assicurati che i bucket di origine e di destinazione si trovino nella stessa Regione AWS e che lo stesso account AWS sia proprietario dei bucket. Inoltre, se hai attivato Pagamento a carico del richiedente per il bucket di destinazione, disattivalo.

Nota: Amazon S3 consente la registrazione degli accessi al server solo per bucket per uso generico. I bucket di directory e i bucket S3 Express One Zone non supportano questa funzionalità.

Se ancora non vedi i log nel bucket di destinazione, utilizza la seguente procedura per risolvere il problema.

Risoluzione

Verifica se il gruppo di consegna dei log ha accesso al bucket di destinazione

Amazon S3 utilizza un gruppo di consegna dei log per consegnare i log del server al bucket di destinazione. Per ricevere i log di accesso al server, devi concedere al servizio di registrazione l'accesso del principale al bucket di destinazione.

Per concedere l'accesso al bucket di destinazione, crea una policy di bucket in S3. Puoi utilizzare una lista di controllo degli accessi (ACL) per concedere l'accesso al bucket di destinazione. Tuttavia, è consigliabile utilizzare le ACL solo quando devi controllare singolarmente l'accesso per ciascun oggetto. Se devi utilizzare le ACL, non impostare Proprietà dell’oggetto su Proprietario del bucket applicato.

Concedi l'accesso tramite una policy di bucket

Aggiorna la policy del bucket per concedere l'autorizzazione s3:PutObject al principale del servizio di registrazione.

Esempio di policy:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "S3ServerAccessLogsPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "logging.s3.amazonaws.com"
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/EXAMPLE-LOGGING-PREFIX*",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET"
                },
                "StringEquals": {
                    "aws:SourceAccount": "SOURCE-ACCOUNT-ID"
                }
            }
        }
    ]
}

Concedi l'accesso tramite un'ACL del bucket

Aggiungi una voce di concessione all'ACL del bucket che concede le autorizzazioni di scrittura al gruppo di consegna dei log S3.

Per modificare l'ACL del bucket di destinazione, completa i seguenti passaggi:

  1. Apri la console Amazon S3.
  2. Nel pannello di navigazione, scegli Bucket, quindi seleziona il bucket per uso generico di destinazione.
  3. Scegli la scheda Autorizzazioni.
  4. Nella sezione Lista di controllo degli accessi (ACL), scegli Modifica.
  5. Per S3 log delivery group (Gruppo di consegna dei log), seleziona Objects - Write (Oggetti - Scrittura) e Bucket ACL - Write (ACL del bucket - Scrittura).
  6. Scegli Salva le modifiche.

Verifica che la policy del bucket di destinazione non neghi l'accesso ai log

Controlla nella policy del bucket di destinazione la presenza di istruzioni contenenti "Effect": "Deny". Se la policy contiene istruzioni Deny, verifica che le istruzioni Deny non impediscano l'accesso in scrittura al bucket.

Nota: è consigliabile utilizzare un bucket separato per i log di accesso al server. Per impostazione predefinita, i bucket S3 sono privati, per cui non serve utilizzare un'istruzione Deny nella policy del bucket per impedire l'accesso non autorizzato al bucket.

Verifica di aver disattivato la funzionalità Blocco degli oggetti di Amazon S3 per il bucket di destinazione

Assicurati di aver disattivato Blocco degli oggetti per il bucket di destinazione. Quando attivi Blocco degli oggetti, Amazon S3 non può consegnare i log di accesso al server.

Verifica di aver selezionato SSE-S3 come chiave di crittografia

Se utilizzi la crittografia predefinita per il bucket di destinazione, verifica di aver selezionato come crittografia la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). La consegna dei log del server non supporta la crittografia lato server con chiavi del Servizio AWS di gestione delle chiavi (AWS KMS). Per configurare la crittografia predefinita, consulta Configurazione della crittografia predefinita.

Informazioni correlate

Abilitazione della registrazione degli accessi al server Amazon S3

AWS UFFICIALEAggiornata 5 mesi fa