Esta documentación es AWS CLI únicamente para la versión 1 de la versión. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
CloudTrail ejemplos que utilizan AWS CLI
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Command Line Interface with CloudTrail.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usarloadd-tags
.
- AWS CLI
-
Para añadir etiquetas a la ruta
El siguiente
add-tags
comando añade etiquetas paraTrail1
:aws cloudtrail add-tags --resource-id
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
--tags-listKey=name,Value=Alice
Key=location,Value=us
-
Para API obtener más información, consulte AddTags
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlocreate-subscription
.
- AWS CLI
-
Para crear y configurar AWS los recursos de una ruta
El siguiente
create-subscription
comando crea un nuevo bucket de S3 y un SNS tema paraTrail1
:aws cloudtrail create-subscription --name
Trail1
--s3-new-bucketmy-bucket
--sns-new-topicmy-topic
Salida:
Setting up new S3 bucket my-bucket... Setting up new SNS topic my-topic... Creating/updating CloudTrail configuration... CloudTrail configuration: { "trailList": [ { "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "S3BucketName": "my-bucket", "SnsTopicName": "my-topic", "HomeRegion": "us-east-1" } ], "ResponseMetadata": { "HTTPStatusCode": 200, "RequestId": "f39e51f6-c615-11e5-85bd-d35ca21ee3e2" } } Starting CloudTrail service... Logs will be delivered to my-bucket
-
Para API obtener más información, consulte CreateSubscription
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlocreate-trail
.
- AWS CLI
-
Para crear una ruta
El siguiente
create-trail
comando crea un sendero multirregional denominadoTrail1
y especifica un bucket de S3:aws cloudtrail create-trail --name
Trail1
--s3-bucket-namemy-bucket
--is-multi-region-trailSalida:
{ "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "my-bucket" }
-
Para API obtener más información, consulte CreateTrail
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodelete-trail
.
- AWS CLI
-
Para eliminar un rastro
El siguiente
delete-trail
comando elimina un sendero denominadoTrail1
:aws cloudtrail delete-trail --name
Trail1
-
Para API obtener más información, consulte DeleteTrail
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodescribe-trails
.
- AWS CLI
-
Para describir un sendero
El siguiente
describe-trails
comando devuelve la configuración deTrail1
yTrail2
:aws cloudtrail describe-trails --trail-name-list
Trail1
Trail2
Salida:
{ "trailList": [ { "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "S3BucketName": "my-bucket", "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/CloudTrail_CloudWatchLogs_Role", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:CloudTrail:*", "SnsTopicName": "my-topic", "HomeRegion": "us-east-1" }, { "IncludeGlobalServiceEvents": true, "Name": "Trail2", "S3KeyPrefix": "my-prefix", "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "S3BucketName": "my-bucket", "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c5ae5ac-3c13-421e-8335-c7868ef6a769", "HomeRegion": "us-east-1" } ] }
-
Para API obtener más información, consulte DescribeTrails
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloget-event-selectors
.
- AWS CLI
-
Para ver la configuración del selector de eventos de un sendero
El siguiente
get-event-selectors
comando devuelve la configuración deTrail1
:aws cloudtrail get-event-selectors --trail-name
Trail1
Salida:
{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1" }
-
Para API obtener más información, consulte GetEventSelectors
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloget-trail-status
.
- AWS CLI
-
Para obtener el estado de un sendero
El siguiente
get-trail-status
comando devuelve los detalles de entrega y registro deTrail1
:aws cloudtrail get-trail-status --name
Trail1
Salida:
{ "LatestNotificationTime": 1454022144.869, "LatestNotificationAttemptSucceeded": "2016-01-28T23:02:24Z", "LatestDeliveryAttemptTime": "2016-01-28T23:02:24Z", "LatestDeliveryTime": 1454022144.869, "TimeLoggingStarted": "2015-11-06T18:36:38Z", "LatestDeliveryAttemptSucceeded": "2016-01-28T23:02:24Z", "IsLogging": true, "LatestCloudWatchLogsDeliveryTime": 1454022144.918, "StartLoggingTime": 1446834998.695, "StopLoggingTime": 1446834996.933, "LatestNotificationAttemptTime": "2016-01-28T23:02:24Z", "TimeLoggingStopped": "2015-11-06T18:36:36Z" }
-
Para API obtener más información, consulte GetTrailStatus
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-public-keys
.
- AWS CLI
-
Para enumerar todas las claves públicas de una ruta
El siguiente
list-public-keys
comando devuelve todas las claves públicas cuyas claves privadas se utilizaron para firmar los archivos de resumen dentro del intervalo de tiempo especificado:aws cloudtrail list-public-keys --start-time
2016-01-01T20:30:00.000Z
Salida:
{ "PublicKeyList": [ { "ValidityStartTime": 1453076702.0, "ValidityEndTime": 1455668702.0, "Value": "MIIBCgKCAQEAlSS3cl92HDycr/MTj0moOhas8habjrraXw+KzlWF0axSI2tcF+3iJ9BKQAVSKxGwxwu3m0wG3J+kUl1xboEcEPHYoIYMbgfSw7KGnuDKwkLzsQWhUJ0cIbOHASox1vv/5fNXkrHhGbDCHeVXm804c83nvHUEFYThr1PfyP/8HwrCtR3FX5OANtQCP61C1nJtSSkC8JSQUOrIP4CuwJjc+4WGDk+BGH5m9iuiAKkipEHWmUl8/P7XpfpWQuk4h8g3pXZOrNXr08lbh4d39svj7UqdhvOXoBISp9t/EXYuePGEtBdrKD9Dz+VHwyUPtBQvYr9BnkF88qBnaPNhS44rzwIDAQAB", "Fingerprint": "7f3f401420072e50a65a141430817ab3" } ] }
-
Para API obtener más información, consulte ListPublicKeys
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-tags
.
- AWS CLI
-
Para enumerar las etiquetas de un sendero
El siguiente
list-tags
comando muestra las etiquetas deTrail1
yTrail2
:aws cloudtrail list-tags --resource-id-list
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2
Salida:
{ "ResourceTagList": [ { "ResourceId": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", "TagsList": [ { "Value": "Alice", "Key": "name" }, { "Value": "us", "Key": "location" } ] }, { "ResourceId": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2", "TagsList": [ { "Value": "Bob", "Key": "name" } ] } ] }
-
Para API obtener más información, consulte ListTags
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolookup-events
.
- AWS CLI
-
Para buscar eventos de una ruta
El siguiente
lookup-events
comando busca los eventos de API actividad por el atributoEventName
:aws cloudtrail lookup-events --lookup-attributes
AttributeKey=EventName,AttributeValue=ConsoleLogin
Salida:
{ "Events": [ { "EventId": "654ccbc0-ba0d-486a-9076-dbf7274677a7", "Username": "my-session-name", "EventTime": "2021-11-18T09:41:02-08:00", "CloudTrailEvent": "{\"eventVersion\":\"1.02\",\"userIdentity\":{\"type\":\"AssumedRole\",\"principalId\":\"AROAJIKPFTA72SWU4L7T4:my-session-name\",\"arn\":\"arn:aws:sts::123456789012:assumed-role/my-role/my-session-name\",\"accountId\":\"123456789012\",\"sessionContext\":{\"attributes\":{\"mfaAuthenticated\":\"false\",\"creationDate\":\"2016-01-26T21:42:12Z\"},\"sessionIssuer\":{\"type\":\"Role\",\"principalId\":\"AROAJIKPFTA72SWU4L7T4\",\"arn\":\"arn:aws:iam::123456789012:role/my-role\",\"accountId\":\"123456789012\",\"userName\":\"my-role\"}}},\"eventTime\":\"2016-01-26T21:42:12Z\",\"eventSource\":\"signin.amazonaws.com\",\"eventName\":\"ConsoleLogin\",\"awsRegion\":\"us-east-1\",\"sourceIPAddress\":\"72.21.198.70\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36\",\"requestParameters\":null,\"responseElements\":{\"ConsoleLogin\":\"Success\"},\"additionalEventData\":{\"MobileVersion\":\"No\",\"MFAUsed\":\"No\"},\"eventID\":\"654ccbc0-ba0d-486a-9076-dbf7274677a7\",\"eventType\":\"AwsConsoleSignIn\",\"recipientAccountId\":\"123456789012\"}", "EventName": "ConsoleLogin", "Resources": [] } ] }
-
Para API obtener más información, consulte LookupEvents
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloput-event-selectors
.
- AWS CLI
-
Ejemplo 1: configurar un registro para registrar los eventos de administración y los eventos de datos mediante selectores de eventos avanzados
Puedes añadir selectores de eventos avanzados y condiciones para tus selectores de eventos avanzados, hasta un máximo de 500 valores para todas las condiciones y selectores de un sendero. Puedes usar selectores de eventos avanzados para registrar todos los tipos de eventos de datos disponibles. Puede utilizar selectores de eventos avanzados o selectores de eventos básicos, pero no ambos. Si aplica selectores de eventos avanzados a un registro de seguimiento, se sobrescriben todos los selectores de eventos básicos existentes.
En el siguiente ejemplo, se crea un selector de eventos avanzado para una ruta denominada
myTrail
para registrar todos los eventos de administración, registrar S3 PutObject y las DeleteObject API llamadas para todos los bucket de S3 excepto uno, registrar las API llamadas de datos para una función de Lambda denominadamyFunction
y registrar las API llamadas de publicación en un SNS tema denominado.myTopic
aws cloudtrail put-event-selectors \ --trail-name
myTrail
\ --advanced-event-selectors '[{"Name": "Log all management events", "FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Management"] }] },{"Name": "Log PutObject and DeleteObject events for all but one bucket","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::S3::Object"] },{ "Field": "eventName", "Equals": ["PutObject","DeleteObject"] },{ "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::sample_bucket_name/"] }]},{"Name": "Log data events for a specific Lambda function","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] },{ "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-1:123456789012:function:myFunction"] }]},{"Name": "Log all Publish API calls on a specific SNS topic","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::SNS::Topic"] },{ "Field": "eventName", "Equals": ["Publish"] },{ "Field": "resources.ARN", "Equals": ["arn:aws:sns:us-east-1:123456789012:myTopic.fifo"] }]}]
'Salida:
{ "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/myTrail", "AdvancedEventSelectors": [ { "Name": "Log all management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] }, { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "eventName", "Equals": [ "PutObject", "DeleteObject" ] }, { "Field": "resources.ARN", "NotStartsWith": [ "arn:aws:s3:::sample_bucket_name/" ] } ] }, { "Name": "Log data events for a specific Lambda function", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::Lambda::Function" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:lambda:us-east-1:123456789012:function:myFunction" ] } ] }, { "Name": "Log all Publish API calls on a specific SNS topic", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::SNS::Topic" ] }, { "Field": "eventName", "Equals": [ "Publish" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:sns:us-east-1:123456789012:myTopic.fifo" ] } ] } ] }
Para obtener más información, consulte Registrar eventos mediante selectores de eventos avanzados en la Guía del AWS CloudTrail usuario.
Ejemplo 2: configurar los selectores de eventos para que un registro registre todos los eventos de administración y datos
Puede configurar hasta cinco selectores de eventos para un registro de seguimiento y hasta 250 recursos de datos para un registro de seguimiento. Los selectores de eventos también se denominan selectores de eventos básicos. Puede usar selectores de eventos para registrar eventos de administración y eventos de datos para objetos S3, funciones Lambda y tablas de DynamoDB. Para registrar eventos de datos para otros tipos de recursos, debe usar selectores de eventos avanzados.
En el siguiente ejemplo, se crea un selector de eventos para una ruta cuyo nombre
TrailName
incluye todos los eventos de administración, los eventos de datos para dos combinaciones de bucket y prefijo de Amazon S3 y los eventos de datos para una sola función de AWS Lambda denominada.hello-world-python-function
aws cloudtrail put-event-selectors \ --trail-name
TrailName
\ --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::mybucket/prefix","arn:aws:s3:::mybucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]
'Salida:
{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function" ], "Type": "AWS::Lambda::Function" }, ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }
Para obtener más información, consulte Registrar eventos mediante selectores de eventos básicos en la Guía del usuario.AWS CloudTrail
Ejemplo 3: configurar los selectores de eventos de una ruta para registrar los eventos de administración, todos los eventos de datos de S3 en los objetos de S3 y todos los eventos de datos de Lambda en las funciones de su cuenta
En el siguiente ejemplo, se crea un selector de eventos para una ruta denominada
TrailName2
que incluye todos los eventos de administración y todos los eventos de datos de todos los buckets de Amazon S3 y las funciones de AWS Lambda de la cuenta. AWSaws cloudtrail put-event-selectors \ --trail-name
TrailName2
\ --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]}]}]
'Salida:
{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda" ], "Type": "AWS::Lambda::Function" }, ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2" }
Para obtener más información, consulte Registrar eventos mediante selectores de eventos básicos en la Guía del AWS CloudTrail usuario.
-
Para API obtener más información, consulte PutEventSelectors
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloremove-tags
.
- AWS CLI
-
Para eliminar las etiquetas de un sendero
El siguiente
remove-tags
comando elimina las etiquetas especificadas paraTrail1
:aws cloudtrail remove-tags --resource-id
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
--tags-listKey=name
Key=location
-
Para API obtener más información, consulte RemoveTags
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlostart-logging
.
- AWS CLI
-
Para empezar a registrar una ruta
El siguiente
start-logging
comando activa el registro deTrail1
:aws cloudtrail start-logging --name
Trail1
-
Para API obtener más información, consulte StartLogging
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlostop-logging
.
- AWS CLI
-
Para dejar de registrar una ruta
El siguiente
stop-logging
comando desactiva el registro deTrail1
:aws cloudtrail stop-logging --name
Trail1
-
Para API obtener más información, consulte StopLogging
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloupdate-subscription
.
- AWS CLI
-
Para actualizar los ajustes de configuración de un sendero
El siguiente
update-subscription
comando actualiza la ruta para especificar un SNS tema y un bucket de S3 nuevos:aws cloudtrail update-subscription --name
Trail1
--s3-new-bucketmy-bucket-new
--sns-new-topicmy-topic-new
Salida:
Setting up new S3 bucket my-bucket-new... Setting up new SNS topic my-topic-new... Creating/updating CloudTrail configuration... CloudTrail configuration: { "trailList": [ { "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": false, "S3BucketName": "my-bucket-new", "SnsTopicName": "my-topic-new", "HomeRegion": "us-east-1" } ], "ResponseMetadata": { "HTTPStatusCode": 200, "RequestId": "31126f8a-c616-11e5-9cc6-2fd637936879" } }
-
Para API obtener más información, consulte UpdateSubscription
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloupdate-trail
.
- AWS CLI
-
Para actualizar una ruta
El siguiente
update-trail
comando actualiza un rastro para usar un depósito existente para la entrega de registros:aws cloudtrail update-trail --name
Trail1
--s3-bucket-namemy-bucket
Salida:
{ "IncludeGlobalServiceEvents": true, "Name": "Trail1", "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1", "LogFileValidationEnabled": false, "IsMultiRegionTrail": true, "S3BucketName": "my-bucket" }
-
Para API obtener más información, consulte UpdateTrail
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlovalidate-logs
.
- AWS CLI
-
Para validar un archivo de registro
El siguiente
validate-logs
comando valida los registros deTrail1
:aws cloudtrail validate-logs --trail-arn
arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1
--start-time20160129T19:00:00Z
Salida:
Validating log files for trail arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 between 2016-01-29T19:00:00Z and 2016-01-29T22:15:43Z Results requested for 2016-01-29T19:00:00Z to 2016-01-29T22:15:43Z Results found for 2016-01-29T19:24:57Z to 2016-01-29T21:24:57Z: 3/3 digest files valid 15/15 log files valid
-
Para API obtener más información, consulte ValidateLogs
la Referencia de AWS CLI comandos.
-