Autorizzazioni per il bucket Amazon S3 - AWS Config

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Autorizzazioni per il bucket Amazon S3

Per impostazione predefinita, tutti gli oggetti e i bucket Amazon S3 sono privati. Solo il proprietario della risorsa che è ilAWSl'account che ha creato il bucket può accedere a quel bucket. Tuttavia, il proprietario della risorsa può concedere ad altre risorse e utenti le autorizzazioni di accesso. Un modo per farlo è scrivere una policy d'accesso.

SeAWS Configcrea automaticamente un bucket Amazon S3 (ad esempio, se utilizziAWS Configconsole per configurare il canale di distribuzione), queste autorizzazioni vengono aggiunte automaticamente al bucket Amazon S3. Tuttavia, se scegli un bucket Amazon S3 esistente, devi accertarti che il bucket S3 disponga delle autorizzazioni corrette.

Nota

Un oggetto non eredita le autorizzazioni dal bucket a cui appartiene. Se ad esempio si crea un bucket e si concede l'accesso in scrittura a un utente, non sarà possibile accedere agli oggetti di tale utente a meno che questi non conceda esplicitamente l'accesso.

Autorizzazioni necessarie per il bucket Amazon S3 quando utilizzi i ruoli IAM

QuandoAWS Configinvia le informazioni di configurazione (cronologia dei file e snapshot) al bucket Amazon S3 del tuo account, assumendo il ruolo IAM assegnato al momento della configurazioneAWS Config. QuandoAWS Configinvia le informazioni di configurazione a un bucket Amazon S3 di un altro account, prova prima di tutto a sfruttare il ruolo IAM, ma questo tentativo ha esito negativo se la policy d'accesso per il bucket non concedeWRITEaccesso al ruolo IAM. In questo caso, AWS Config invia nuovamente le informazioni, questa volta come principale del servizio AWS Config. Prima che la distribuzione possa concludersi con successo, la policy d'accesso deve concedere a WRITE al nome del principale di config.amazonaws.com. AWS Config diventa quindi il proprietario degli oggetti che invia al bucket S3. Per concedere a la concessione devi associare al bucket Amazon S3 di un altro account devi associare una policy d'accesso, come indicato al passo 6 qui di seguito.AWS Configaccesso al bucket Amazon S3.

PrimaAWS Configpuò distribuire i log al bucket Amazon S3AWS Configverifica se il secchio esiste e in qualeAWSregione in cui si trova il bucket.AWS Configtenta di chiamare Amazon S3HeadBucketAPI per verificare se il bucket esiste e per ottenere la regione del bucket. Se non vengono fornite le autorizzazioni per individuare il bucket quando viene eseguito il controllo della posizione, viene visualizzato l'errore AccessDenied nei log di AWS CloudTrail. Tuttavia, la distribuzione del log al tuo bucket Amazon S3 ha esito positivo se non fornisci le autorizzazioni per la posizione del bucket.

Autorizzazioni necessarie per il bucket Amazon S3 quando utilizzi i ruoli collegati ai servizi

LaAWS ConfigIl ruolo collegato ai servizi non dispone dell'autorizzazione per inserire oggetti nei bucket Amazon S3. Quindi, se configuriAWS Configutilizzo di un ruolo collegato al servizio,AWS Configinvierà elementi di configurazione comeAWS ConfigPrincipale del servizio. Dovrai associare una policy d'accesso, come indicato al passo 6 qui di seguito, al bucket Amazon S3 del tuo account o di un altro account da concedereAWS Configaccesso al bucket Amazon S3.

Concessione diAWS ConfigAccesso ad Amazon S3 Bucket

Segui questi passaggi per aggiungere una policy d'accesso al bucket Amazon S3 nel tuo account o in un altro account. La politica di accesso consenteAWS Configper inviare informazioni di configurazione al bucket Amazon S3.

  1. Accedere alla AWS Management Console utilizzando l'account che possiede il bucket S3.

  2. Apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  3. Selezionare il bucket che si desidera sia utilizzato da AWS Config per distribuire gli elementi della configurazione e quindi scegliere Properties (Proprietà).

  4. Seleziona Autorizzazioni.

  5. Scegliere Edit Bucket Policy (Modifica policy bucket).

  6. Copiare la seguente policy nella finestra Bucket Policy Editor (Editor policy del bucket).

    Importante

    Come best practice per la sicurezza quando lo consenteAWS Configl'accesso a un bucket Amazon S3, ti consigliamo di limitare l'accesso alla policy bucket con ilAWS:SourceAccountcondizione. Se la tua politica di bucket esistente non segue questa procedura consigliata per la sicurezza, ti consigliamo vivamente di modificare la politica del bucket per includere questa protezione. Questo fa in modo cheAWS Configè concesso l'accesso solo per conto degli utenti attesi.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::targetBucketName", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }, { "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::targetBucketName", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }, { "Sid": "AWSConfigBucketDelivery", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "AWS:SourceAccount": "sourceAccountID" } } } ] }
    Nota

    AWS Configdi proprietà diAWSe non appartiene specificamente a uno dei tuoiAWSaccount o account collegati all'interno del tuoAWSOrganizzazione. Ciò significa che quandoAWS Configsta inviando elementi di configurazione comeAWS Configservice principal (ad esempio quando il ruolo IAM assegnato al momento della configurazioneAWS Confignon haWRITEaccesso al secchio o quando si configuraAWS Configper utilizzare un ruolo collegato al servizio), il servizio non funzionerà con le condizioni basate su ID organizzazione o unità organizzative.

    Nota

    Quando si concede autorizzazioni per il ruolo IAM invece diAWS Configservice principal name (SPN), assicurarsi che il ruolo IAM abbiaPutObjectACLautorizzazione sul bucket cross-account per evitare errori di autorizzazione insufficienti. Consulta i criteri di ruolo IAM di esempio Politica sui ruoli IAM per il bucket Amazon S3.

  7. Sostituire i seguenti valori nella policy del bucket:

    • Nome bucket target— Il nome del bucket Amazon S3 verso cui viene utilizzatoAWS Configconsegnerà gli articoli di configurazione.

    • prefisso [opzionale]— Un'aggiunta opzionale alla chiave dell'oggetto Amazon S3 che aiuta a creare un'organizzazione a cartella nel bucket.

    • ID account sorgente— L'ID del conto per il qualeAWS Configconsegnerà gli elementi di configurazione al bucket di destinazione.

  8. Scegliere Save (Salva) e Close (Chiudi).

Puoi utilizzare il pluginAWS:SourceAccountcondizione nella politica del bucket Amazon S3 di cui sopra per limitare l'entità del servizio Config a interagire con il bucket Amazon S3 solo quando si eseguono operazioni per conto di account specifici. Se hai intenzione di configurareAWS Configin molti account della stessa organizzazione per consegnare gli articoli di configurazione a un singolo bucket Amazon S3, si consiglia di utilizzare ruoli IAM anziché ruoli collegati al servizio in modo da poter utilizzareAWS Organizationschiavi condizioni comeAWS:PrincipalOrgID. Per ulteriori informazioni sulla gestione delle autorizzazioni di accesso per un ruolo IAM da utilizzareAWS ConfigconsultaAutorizzazioni per il ruolo IAM assegnato aAWS Config. Per ulteriori informazioni sulla gestione delle autorizzazioni di accesso perAWS OrganizationsconsultaGestione delle autorizzazioni di accesso perAWSorganizzazione.

AWS Configsupporta anche l'AWS:SourceArncondizione che limita l'entità del servizio Config a interagire con il bucket Amazon S3 solo quando si eseguono operazioni per conto di specificiAWS Configcanali di consegna. Quando utilizziAWS ConfigPrincipale del servizioAWS:SourceArnla proprietà sarà sempre impostata suarn:aws:config:sourceRegion:sourceAccountID:*dovesourceRegionè l'area del canale di distribuzione esourceAccountIDè l'ID dell'account contenente il canale di consegna. Per ulteriori informazioni su,AWS Configcanali di distribuzione, vediGestione del Canale di Distribuzione. Ad esempio, aggiungi la seguente condizione per limitare l'entità del servizio Config a interagire con il tuo bucket Amazon S3 solo per conto di un canale di spedizione nelus-east-1regione nel conto123456789012:"ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}.