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 in Amazon S3 utilizzando AWS CLI
Nel seguente esempio, utilizzi un'attività di esportazione per esportare tutti i dati da un gruppo di CloudWatch log Logs denominato my-log-group in un 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 log in bucket S3 crittografati da. AWS KMS L'esportazione in bucket crittografati con non è supportata. DSSE-KMS
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.
Same-account esportazione (CLI)
Se il bucket Amazon S3 si trova nello stesso account dei log che vengono esportati, segui le istruzioni in questa sezione.
Argomenti
Crea un bucket S3 (CLI)
Ti consigliamo di utilizzare un bucket creato appositamente per Logs. 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 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 (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 in Centro identità AWS IAM:
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 Centro identità AWS IAM .
-
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 degli ID di account 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. -
Impostare la policy appena aggiunta come policy di accesso nel bucket tramite il comando put-bucket-policy. Questa policy 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 l'accesso di CloudWatch Logs a quella o alle 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 (CLI) SSE-KMS
Questa procedura è necessaria solo se si esporta in un bucket S3 che utilizza la crittografia lato server con. AWS KMS keys Questa crittografia è nota come. SSE-KMS
Per esportare in 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. -
Sostituiscilo
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 } ] } -
Inserisci il comando seguente, sostituendolo
amzn-s3-demo-bucketcon il nome del bucket in cui stai 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.
Crea 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 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, utilizzare il seguente comando create-export-task 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" }
Cross-account esportazione (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 Logs. 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" }
Configura 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 abbia gli ACL abilitati utilizzando l'impostazione S3 Object Ownership.
Se si utilizza la crittografia KMS, aggiungere le
kms:Decryptazionikms:GenerateDataKeye per la risorsa chiaveSe gli ACL sono abilitati nel bucket, aggiungi l'
s3:PutObjectAclazione per la risorsa del 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 policy con i seguenti contenuti.
Se il bucket di destinazione utilizza AWS KMS la crittografia, crea una policy con i seguenti contenuti.
Se gli ACL sono abilitati nel bucket di destinazione, aggiungi s3: PutObjectAcl a s3: PutObject Action block nelle politiche precedenti.
Per creare un'attività di esportazione, devi accedere con un ruolo IAM a cui è allegata 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 in Centro identità AWS IAM:
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 Centro identità AWS IAM .
-
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 degli ID di account nella aws:SourceAccount chiave sarebbero gli 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, passandoamzn-s3-demo-bucketal 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. -
Impostare la policy appena aggiunta come policy di accesso nel bucket tramite il comando put-bucket-policy. Questa policy 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 l'accesso di CloudWatch Logs a quella o alle 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 SSE-KMS per l'esportazione tra account (CLI)
Questa procedura è necessaria solo se si esporta in un bucket S3 che utilizza la crittografia lato server con. AWS KMS keys Questa crittografia è nota come. SSE-KMS
Per esportare in 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. -
Sostituiscilo
account-ARNcon l'ARN dell'account che possiede la chiave KMS. -
Sostituisci
123456789012con il numero di conto che possiede la chiave KMS. -
key_idcon l'ID kms-key. -
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 } ] } -
Inserisci il seguente comando, sostituendolo
amzn-s3-demo-bucketcon il nome del bucket in cui stai 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.
Crea 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 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, utilizzare il seguente comando create-export-task 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" }