Visualizar eventos do CloudTrail Insights para trilhas com a AWS CLI
É possível pesquisar eventos do CloudTrail Insights dos últimos 90 dias executando o comando aws cloudtrail lookup-events
. O comando lookup-events
apresenta as seguintes opções:
-
--end-time
-
--event-category
-
--max-results
-
--start-time
-
--lookup-attributes
-
--next-token
-
--generate-cli-skeleton
-
--cli-input-json
Para obter informações gerais sobre o AWS Command Line Interface, consulte o Guia do usuário do AWS Command Line Interface.
Sumário
- Pré-requisitos
- Receber ajuda da linha de comando
- Pesquisar eventos do Insights
- Especificar o número de eventos do Insights que devem ser retornados
- Pesquisar eventos do Insights por intervalo de tempo
- Pesquisar eventos do Insights por atributo
- Especificar a próxima página de resultados
- Obter entrada JSON de um arquivo
- Pesquisar campos de resultados
Pré-requisitos
-
Para executar comandos AWS CLI, é necessário instalar AWS CLI. Para obter mais informações, consulte Conceitos básicos do AWS CLI.
-
Certifique-se de que a sua versão AWS CLI seja posterior à 1.6.6. Para verificar a versão da CLI, execute aws --version na linha de comando.
-
Para definir a conta, a região e o formato de saída padrão de uma sessão da AWS CLI, use o comando aws configure. Para obter mais informações, consulte Configurar a interface de linha de comando da AWS.
-
Para registrar em log eventos do Insights sobre o volume de chamadas à API, a trilha deve registrar em log os eventos de gerenciamento de
write
. Para registrar em log eventos do Insights sobre a taxa de erros da API, a trilha deve registrar em log os eventos de gerenciamento deread
ouwrite
.
nota
Os comandos AWS CLI do CloudTrail diferenciam maiúsculas e minúsculas.
Receber ajuda da linha de comando
Para ver a ajuda da linha de comando para lookup-events
, digite o comando a seguir.
aws cloudtrail lookup-events help
Pesquisar eventos do Insights
Para ver os dez eventos do Insights mais recentes, digite o comando a seguir.
aws cloudtrail lookup-events --event-category insight
Um evento retornado tem aparência semelhante ao seguinte exemplo:
{ "NextToken": "kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=", "Events": [ { "eventVersion": "1.07", "eventTime": "2019-10-15T21:13:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLE-9b6f-45f8-bc6b-9b41c052ebc7", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "Start", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" }, { "eventVersion": "1.07", "eventTime": "2019-10-15T21:14:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLEc-9eac-4af6-8e07-26a5ae8786a5", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "End", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" } ] }
Para ver uma explicação dos campos relacionados à pesquisa nos resultados, consulte Pesquisar campos de resultados neste tópico. Para ver uma explicação sobre os eventos do Insights, consulte Conteúdo do registro do CloudTrail.
Especificar o número de eventos do Insights que devem ser retornados
Para especificar o número de eventos que devem ser retornados, digite o comando a seguir.
aws cloudtrail lookup-events --event-category insight --max-results
<integer>
O valor padrão para <integer>
, se ele não for especificado, será 10. Os valores possíveis são de 1 a 50. O exemplo a seguir retorna um resultado.
aws cloudtrail lookup-events --event-category insight --max-results 1
Pesquisar eventos do Insights por intervalo de tempo
Os eventos do Insights dos últimos 90 dias estão disponíveis para pesquisa. Para especificar um intervalo de tempo, digite o comando a seguir.
aws cloudtrail lookup-events --event-category insight --start-time
<timestamp>
--end-time<timestamp>
--start-time
especifica, em UTC, que apenas os eventos do Insights ocorridos no horário especificado ou depois dele são retornados. Se o horário de início especificado for posterior ao de término, um erro será retornado.<timestamp>
--end-time
especifica, em UTC, que apenas os eventos do Insights ocorridos no horário especificado ou antes dele são retornados. Se o horário de término especificado for anterior ao de início, um erro será retornado.<timestamp>
O horário de início padrão é a primeira data em que os dados foram disponibilizados nos últimos 90 dias. O horário de término padrão é o horário de ocorrência de evento mais próximo do momento.
Todos os carimbos de data/hora são exibidos em UTC.
Pesquisar eventos do Insights por atributo
Para filtrar por um atributo, digite o comando a seguir.
aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=
<attribute>
,AttributeValue=<string>
É possível especificar somente um par de chave-valor do atributo para cada comando lookup-events. Veja a seguir os valores de evento do Insights válidos para AttributeKey
. Os nomes dos valores diferenciam maiúsculas de minúsculas.
-
EventId
-
EventName
-
EventSource
O tamanho máximo para AttributeValue
é de 2.000 caracteres. Os seguintes caracteres ("_
", "
", ",
", "\\n
") contam como dois caracteres até o limite de 2.000 caracteres.
Exemplos de consulta de atributo
O exemplo de comando a seguir retorna os eventos do Insights nos quais o valor de EventName
é PutRule
.
aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule
O exemplo de comando a seguir retorna os eventos do Insights nos quais o valor de EventId
é b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002
.
aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventId, AttributeValue=b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002
O exemplo de comando a seguir retorna os eventos do Insights nos quais o valor de EventSource
é iam.amazonaws.com
.
aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventSource, AttributeValue=iam.amazonaws.com
Especificar a próxima página de resultados
Para obter a próxima página de resultados de um comando lookup-events
, digite o comando a seguir.
aws cloudtrail lookup-events --event-category insight
<same parameters as previous command>
--next-token=<token>
Neste comando, o valor de <token>
é obtido do primeiro campo da saída do comando anterior.
Quando você usa --next-token
em um comando, precisa usar os mesmos parâmetros do comando anterior. Por exemplo, suponha que você tenha executado o comando a seguir.
aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule
Para obter a próxima página de resultados, seu próximo comando pareceria com o indicado a seguir.
aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName,AttributeValue=PutRule --next-token=EXAMPLEZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=
Obter entrada JSON de um arquivo
A AWS CLI para alguns serviços da AWS tem dois parâmetros, --generate-cli-skeleton
e --cli-input-json
, que podem ser usados para gerar um modelo JSON, o qual pode ser modificado e usado como entrada para o parâmetro --cli-input-json
. Esta seção descreve como usar esses parâmetros com aws cloudtrail lookup-events
. Para obter mais informações, consulte Esqueletos e arquivos de entrada da AWS CLI.
Para pesquisar os eventos do Insights obtendo a entrada JSON de um arquivo
-
Crie um modelo de entrada para uso com
lookup-events
redirecionando os resultados--generate-cli-skeleton
para um arquivo, como no exemplo a seguir.aws cloudtrail lookup-events --event-category insight --generate-cli-skeleton > LookupEvents.txt
O arquivo de modelo gerado (neste caso, LookupEvents.txt) parece com o indicado a seguir.
{ "LookupAttributes": [ { "AttributeKey": "", "AttributeValue": "" } ], "StartTime": null, "EndTime": null, "MaxResults": 0, "NextToken": "" }
-
Use um editor de texto para modificar o JSON conforme necessário. A entrada do JSON precisa conter apenas os valores especificados.
Importante
Todos os valores nulos ou vazios precisam ser removidos do modelo antes que ele seja usado.
O exemplo a seguir especifica um período e o número máximo de resultados a serem retornados.
{ "StartTime": "2023-11-01", "EndTime": "2023-12-12", "MaxResults": 10 }
-
Para usar o arquivo editado como entrada, use a sintaxe
--cli-input-json file://
<filename>
, como no exemplo a seguir.aws cloudtrail lookup-events --event-category insight --cli-input-json file://LookupEvents.txt
nota
É possível usar outros argumentos na mesma linha de comando como --cli-input-json
.
Pesquisar campos de resultados
- Eventos
-
Uma lista de eventos de pesquisa com base no atributo de pesquisa e no período que foram especificados. A lista de eventos é classificada por tempo, com o último evento listado primeiro. Cada entrada contém informações sobre a solicitação de pesquisa e inclui uma representação de string do evento do CloudTrail que foi recuperado.
As seguintes entradas descrevem os campos de cada evento de pesquisa.
- CloudTrailEvent
-
Uma string JSON que contém uma representação do objeto do evento retornado. Para obter informações sobre cada um dos elementos retornados, consulte Conteúdo do corpo do registro.
- EventId
-
Uma string que contém a GUID do evento retornado.
- EventName
-
Uma string que contém o nome do evento retornado.
- EventSource
-
O serviço AWS para o qual a solicitação foi feita.
- EventTime
-
A data e a hora, em formato de horário do UNIX, do evento.
- Recursos
-
Uma lista de recursos referenciados pelo evento que foi retornado. Cada entrada de recurso especifica um tipo e um nome do recurso.
- ResourceName
-
Uma string que contém o nome do recurso referenciado pelo evento.
- ResourceType
-
Uma string que contém o tipo de um recurso referenciado pelo evento. Quando o tipo de recurso não pode ser determinado, null é retornado.
- Username
-
Uma string que contém o nome do usuário da conta do evento retornado.
- NextToken
-
Uma string para obter a próxima página de resultados de um comando
lookup-events
anterior. Para usar o token, os parâmetros precisam ser os mesmos do comando original. Se nenhuma entradaNextToken
aparecer nos resultados, significa que não há mais resultados a serem retornados.
Para obter mais informações sobre eventos do CloudTrail Insights, consulte Registrar eventos do Insights neste guia.