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à.
Esporta i dati di registro su Amazon S3 utilizzando il AWS CLI
Nell'esempio seguente, si utilizza un'attività di esportazione per esportare tutti i dati da un gruppo di log CloudWatch Logs denominato in un my-log-group bucket Amazon S3 denominato. amzn-s3-demo-bucket Questo esempio presuppone che tu abbia già creato il gruppo di log my-log-group.
È supportata l'esportazione dei dati di registro in bucket S3 crittografati da. AWS KMS L'esportazione in bucket crittografati con DSSE-KMS non è supportata.
I dettagli su come configuri l'esportazione dipendono dal fatto che il bucket Amazon S3 in cui desideri esportare si trovi nello stesso account dei log che vengono esportati o in un account diverso.
Esportazione dello stesso account (CLI)
Se il bucket Amazon S3 si trova nello stesso account dei log che vengono esportati, segui le istruzioni in questa sezione.
Argomenti
Creare un bucket S3 (CLI)
Ti consigliamo di utilizzare un bucket creato appositamente per i log. CloudWatch Tuttavia, se desideri utilizzare un bucket esistente, puoi saltare questa procedura.
Nota
Il bucket S3 deve trovarsi nella stessa Regione dei dati di log da esportare. CloudWatch I registri non supportano l'esportazione di dati in bucket S3 in una regione diversa.
Per creare un bucket S3 utilizzando AWS CLI
Al prompt dei comandi, eseguire il seguente comando create-bucket, in cui LocationConstraint è la regione in cui esportare i dati di log.
aws s3api create-bucket --bucketamzn-s3-demo-bucket--create-bucket-configuration LocationConstraint=us-east-2
Di seguito è riportato un output di esempio.
{ "Location": "/amzn-s3-demo-bucket" }
Configurare le autorizzazioni di accesso (CLI)
Per creare l'attività di esportazione in un secondo momento, dovrai accedere con il ruolo AmazonS3ReadOnlyAccess IAM e disporre delle seguenti autorizzazioni:
-
logs:CreateExportTask -
logs:CancelExportTask -
logs:DescribeExportTasks -
logs:DescribeLogStreams -
logs:DescribeLogGroups
Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
-
Utenti e gruppi inAWS IAM Identity Center:
Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina Create a permission set (Creazione di un set di autorizzazioni) nella Guida per l’utente di AWS IAM Identity Center.
-
Utenti gestiti in IAM tramite un provider di identità:
Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina Create a role for a third-party identity provider (federation) della Guida per l’utente IAM.
-
Utenti IAM:
-
Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina Create a role for an IAM user della Guida per l’utente IAM.
-
(Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina Aggiunta di autorizzazioni a un utente (console) nella Guida per l’utente IAM.
-
Imposta le autorizzazioni su un bucket S3 (CLI)
Per impostazione predefinita, tutti i bucket e gli oggetti S3 sono privati. Solo il proprietario della risorsa, l'account che ha creato il bucket, può accedere al bucket e agli oggetti in esso contenuti. Tuttavia, il proprietario della risorsa può concedere le autorizzazioni di accesso ad altre risorse e ad altri utenti mediante una policy di accesso.
Importante
Per rendere più sicure le esportazioni verso i bucket S3, ora ti chiediamo di specificare l'elenco degli account di origine autorizzati a esportare i dati di log nel tuo bucket S3.
Nell'esempio seguente, l'elenco di account IDs nella aws:SourceAccount chiave sarebbe costituito dagli account da cui un utente può esportare i dati di registro nel bucket S3. La chiave aws:SourceArn è la risorsa per la quale viene intrapresa l'azione. Puoi limitarla a un gruppo di log specifico o utilizzare un jolly come mostrato in questo esempio.
Ti consigliamo di includere anche l'ID dell'account in cui è stato creato il bucket S3 per consentire l'esportazione all'interno dello stesso account.
Impostazione delle autorizzazioni su un bucket S3
-
Crea il file
policy.jsone aggiungi la seguente policy di accesso, modificandoamzn-s3-demo-bucketcon il nome del bucket S3 ePrincipalcon l'endpoint della regione di esportazione dei dati di log, comeus-east-1. Utilizza un editor di testo per creare questo file di policy. Non utilizzare la console IAM. -
Imposta la politica che hai appena aggiunto come politica di accesso sul tuo bucket utilizzando il comando. put-bucket-policy Questa politica consente a CloudWatch Logs di esportare i dati di registro nel bucket S3. Il proprietario del bucket disporrà di autorizzazioni complete su tutti gli oggetti esportati.
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.jsonavvertimento
Se al bucket esistente sono già associate una o più policy, aggiungi le istruzioni per CloudWatch Logs access a quella o più policy. Consigliamo di valutare il set di autorizzazioni risultante per verificare che siano adeguate agli utenti che accederanno al bucket.
(Facoltativo) Esportazione verso un bucket Amazon S3 di destinazione crittografato con SSE-KMS (CLI)
Questa procedura è necessaria solo se si esegue l'esportazione in un bucket S3 che utilizza la crittografia lato server con. AWS KMS keys Questa crittografia è nota come SSE-KMS.
Esportazione di un bucket crittografato con SSE-KMS
-
Utilizza un editor di testo per creare un file denominato
key_policy.jsone aggiungi la seguente policy di accesso. Quando aggiungi la policy della chiave, apporta le modifiche seguenti:-
Sostituisci
Regioncon la regione dei tuoi log. -
Sostituisci
account-ARNcon l'ARN dell'account che possiede la chiave KMS.
-
-
Immetti il comando seguente:
aws kms create-key --policy file://key_policy.jsonDi seguito è fornito un esempio dell'output di questo comando:
{ "KeyMetadata": { "AWSAccountId": "account_id", "KeyId": "key_id", "Arn": "arn:aws:kms:us-east-2:account-ARN:key/key_id", "CreationDate": "time", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } -
Utilizza un editor di testo per creare un file denominato
bucketencryption.jsoncon il seguente contenuto.{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "{KMS Key ARN}" }, "BucketKeyEnabled": true } ] } -
Immettete il seguente comando, sostituendolo
amzn-s3-demo-bucketcon il nome del bucket in cui state esportando i log.aws s3api put-bucket-encryption --bucketamzn-s3-demo-bucket--server-side-encryption-configuration file://bucketencryption.jsonSe il comando non restituisce un errore, il processo ha esito positivo.
Creare un'attività di esportazione (CLI)
Usare il comando seguente per creare l'attività di esportazione. Dopo averla creata, potrebbero essere necessari da pochi secondi ad alcune ore per l'attività di esportazione, in base alla dimensione dei dati da esportare.
Per esportare i dati in Amazon S3 utilizzando AWS CLI
-
Accedi con le autorizzazioni sufficienti come documentato in Configurare le autorizzazioni di accesso (CLI).
-
Al prompt dei comandi, usa il seguente create-export-taskcomando per creare l'attività di esportazione.
aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from1441490400000--to1441494000000--destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"Di seguito è riportato un output di esempio.
{ "taskId": "cda45419-90ea-4db5-9833-aade86253e66" }
Esportazione tra account (CLI)
Se il bucket Amazon S3 si trova in un account diverso da quello dei log che vengono esportati, segui le istruzioni in questa sezione.
Argomenti
Crea un bucket S3 per l'esportazione tra account (CLI)
Ti consigliamo di utilizzare un bucket creato appositamente per i registri. CloudWatch Tuttavia, se intendi utilizzare un bucket esistente, puoi passare alla fase 2.
Nota
Il bucket S3 deve trovarsi nella stessa Regione dei dati di log da esportare. CloudWatch Logs non supporta l'esportazione di dati in bucket S3 in una regione diversa.
Per creare un bucket S3 utilizzando AWS CLI
Al prompt dei comandi, eseguire il seguente comando create-bucket, in cui LocationConstraint è la regione in cui esportare i dati di log.
aws s3api create-bucket --bucketamzn-s3-demo-bucket--create-bucket-configuration LocationConstraint=us-east-2
Di seguito è riportato un output di esempio.
{ "Location": "/amzn-s3-demo-bucket" }
Configurare le autorizzazioni di accesso per l'esportazione tra account (CLI)
Innanzitutto, devi creare una nuova policy IAM per consentire a CloudWatch Logs di avere l's3:PutObjectazione per il bucket Amazon S3 di destinazione nell'account di destinazione.
Oltre all's3:PutObjectazione, le azioni aggiuntive incluse nella policy dipendono dal fatto che il bucket di destinazione utilizzi la AWS KMS crittografia o sia stato ACLs abilitato utilizzando l'impostazione S3 Object Ownership.
Se utilizzi la crittografia KMS, aggiungi
kms:Decryptle azionikms:GenerateDataKeyand per la risorsa chiaveSe ACLs sono abilitati sul bucket, aggiungi l'
s3:PutObjectAclazione per la risorsa bucket
Passa amzn-s3-demo-bucket al nome del bucket S3 di destinazione nelle seguenti politiche.
La policy creata dipende dal fatto che il bucket di destinazione utilizzi la crittografia AWS KMS. Se non utilizza la AWS KMS crittografia, crea una politica con i seguenti contenuti.
Se il bucket di destinazione utilizza AWS KMS la crittografia, create una policy con i seguenti contenuti.
Se ACLs sono abilitati sul bucket di destinazione, aggiungi il blocco s3: PutObjectAcl a s3: PutObject Action nelle politiche precedenti.
Per creare un'attività di esportazione, devi accedere con un ruolo IAM a cui è associata la policy AmazonS3ReadOnlyAccess gestita, la policy IAM creata sopra e anche con le seguenti autorizzazioni:
-
logs:CreateExportTask -
logs:CancelExportTask -
logs:DescribeExportTasks -
logs:DescribeLogStreams -
logs:DescribeLogGroups
Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
-
Utenti e gruppi inAWS IAM Identity Center:
Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina Create a permission set (Creazione di un set di autorizzazioni) nella Guida per l’utente di AWS IAM Identity Center.
-
Utenti gestiti in IAM tramite un provider di identità:
Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina Create a role for a third-party identity provider (federation) della Guida per l’utente IAM.
-
Utenti IAM:
-
Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina Create a role for an IAM user della Guida per l’utente IAM.
-
(Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina Aggiunta di autorizzazioni a un utente (console) nella Guida per l’utente IAM.
-
Imposta le autorizzazioni su un bucket S3 per l'esportazione tra account (CLI)
Per impostazione predefinita, tutti i bucket e gli oggetti S3 sono privati. Solo il proprietario della risorsa, l'account che ha creato il bucket, può accedere al bucket e agli oggetti in esso contenuti. Tuttavia, il proprietario della risorsa può concedere le autorizzazioni di accesso ad altre risorse e ad altri utenti mediante una policy di accesso.
Importante
Per rendere più sicure le esportazioni verso i bucket S3, ora ti chiediamo di specificare l'elenco degli account di origine autorizzati a esportare i dati di log nel tuo bucket S3.
Nell'esempio seguente, l'elenco di account IDs nella aws:SourceAccount chiave sarebbe costituito dagli account da cui un utente può esportare i dati di registro nel bucket S3. La chiave aws:SourceArn è la risorsa per la quale viene intrapresa l'azione. Puoi limitarla a un gruppo di log specifico o utilizzare un jolly come mostrato in questo esempio.
Ti consigliamo di includere anche l'ID dell'account in cui è stato creato il bucket S3 per consentire l'esportazione all'interno dello stesso account.
Impostazione delle autorizzazioni su un bucket S3
-
Crea un file denominato
policy.jsone aggiungi la seguente politica di accesso, modificandoamzn-s3-demo-bucketil nome del bucket S3 di destinazione,Principalall'endpoint della regione in cui stai esportando i dati di registro, ad esempio.us-west-1Utilizza un editor di testo per creare questo file di policy. Non utilizzare la console IAM. -
Imposta la politica che hai appena aggiunto come politica di accesso sul tuo bucket utilizzando il comando. put-bucket-policy Questa politica consente a CloudWatch Logs di esportare i dati di registro nel bucket S3. Il proprietario del bucket disporrà di autorizzazioni complete su tutti gli oggetti esportati.
aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.jsonavvertimento
Se al bucket esistente sono già associate una o più policy, aggiungi le istruzioni per CloudWatch Logs access a quella o più policy. Consigliamo di valutare il set di autorizzazioni risultante per verificare che siano adeguate agli utenti che accederanno al bucket.
(Facoltativo) Esportazione verso un bucket Amazon S3 di destinazione crittografato con SSE-KMS per l'esportazione tra account (CLI)
Questa procedura è necessaria solo se si esegue l'esportazione in un bucket S3 che utilizza la crittografia lato server con. AWS KMS keys Questa crittografia è nota come SSE-KMS.
Esportazione di un bucket crittografato con SSE-KMS
-
Utilizza un editor di testo per creare un file denominato
key_policy.jsone aggiungi la seguente policy di accesso. Quando aggiungi la policy della chiave, apporta le modifiche seguenti:-
Sostituisci
us-east-1con la regione dei tuoi log. -
Sostituisci
account-ARNcon l'ARN dell'account che possiede la chiave KMS. -
Sostituisci
123456789012con il numero di account che possiede la chiave KMS. -
key_idcon l'ID della chiave kms. -
role_namecon il ruolo utilizzato per creare l'attività di esportazione.
-
-
Immetti il comando seguente:
aws kms create-key --policy file://key_policy.jsonDi seguito è fornito un esempio dell'output di questo comando:
{ "KeyMetadata": { "AWSAccountId": "account_id", "KeyId": "key_id", "Arn": "arn:aws:kms:us-east-1:123456789012:key/key_id", "CreationDate": "time", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } -
Utilizza un editor di testo per creare un file denominato
bucketencryption.jsoncon il seguente contenuto.{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "{KMS Key ARN}" }, "BucketKeyEnabled": true } ] } -
Immettete il seguente comando, sostituendolo
amzn-s3-demo-bucketcon il nome del bucket in cui state esportando i log.aws s3api put-bucket-encryption --bucketamzn-s3-demo-bucket--server-side-encryption-configuration file://bucketencryption.jsonSe il comando non restituisce un errore, il processo ha esito positivo.
Creare un'attività di esportazione per l'esportazione tra account (CLI)
Usare il comando seguente per creare l'attività di esportazione. Dopo averla creata, potrebbero essere necessari da pochi secondi ad alcune ore per l'attività di esportazione, in base alla dimensione dei dati da esportare.
Per esportare i dati in Amazon S3 utilizzando AWS CLI
-
Accedi con le autorizzazioni sufficienti come documentato in Configurare le autorizzazioni di accesso (CLI).
-
Al prompt dei comandi, usa il seguente create-export-taskcomando per creare l'attività di esportazione.
aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from1441490400000--to1441494000000--destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"Di seguito è riportato un output di esempio.
{ "taskId": "cda45419-90ea-4db5-9833-aade86253e66" }