Como posso monitorar a atividade da conta de usuários, funções e chaves de acesso específicos do AWS IAM?

5 minuto de leitura
0

Quero ver e monitorar a atividade da conta de identidades específicas do AWS Identity and Access Management (IAM).

Breve descrição

Para visualizar e monitorar a atividade da conta de identidades específicas do IAM, você pode usar qualquer um dos seguintes serviços e recursos da AWS:

Resolução

Para usar o Histórico de eventos do CloudTrail

Observação: você pode usar o CloudTrail para pesquisar o histórico de eventos dos últimos 90 dias.

1.    Abra o console do CloudTrail.

2.    Selecione Histórico de eventos.

3.    Em Filtro, selecione a lista suspensa. Em seguida, escolha Nome de usuário.
Observação: você também pode filtrar pela chave de acesso do AWS.

4.    Na caixa de texto Inserir nome de usuário ou função, insira o "nome amigável" do usuário do IAM ou o nome da sessão de função assumida.

Observação: o nome da sessão de função de uma sessão específica é o valor fornecido como nome da sessão quando a função é assumida. O valor do campo “Nome do usuário” não será o nome da função para chamadas feitas usando a função do IAM.

5.    Em Intervalo de tempo, insira o intervalo de tempo desejado. Em seguida, escolha Aplicar.

6.    Em Horário do evento, expanda o evento. Em seguida, escolha Exibir evento.

O elemento userIdentity contém detalhes sobre o tipo de identidade do IAM que fez a solicitação e as credenciais fornecidas.

Exemplo de elemento userIdentity que inclui credenciais de usuário do IAM usadas para fazer uma chamada de API

Observação: substitua Alice pelo nome de usuário que você está procurando. Insira o “nome amigável” do usuário do IAM ou o “nome da sessão da função assumida”. o nome da sessão de função de uma sessão específica é o valor fornecido como nome da sessão quando a função é assumida. Para chamadas feitas usando a função do IAM, o valor do campo userName não é o nome da função.

"userIdentity": {
  "type": "IAMUser",
  "principalId": "AIDAJ45Q7YFFAREXAMPLE",
  "arn": "arn:aws:iam::123456789012:user/Alice",
  "accountId": "123456789012",
  "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
  "userName": "Alice"
}

Exemplo de elemento userIdentity que inclui credenciais de segurança temporárias

"userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAIDPPEZS35WEXAMPLE:AssumedRoleSessionName",
    "arn": "arn:aws:sts::123456789012:assumed-role/RoleToBeAssumed/AssumedRoleSessionName",
    "accountId": "123456789012",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "sessionContext": {
      "attributes": {
        "mfaAuthenticated": "false",
        "creationDate": "20131102T010628Z"
      },
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIDPPEZS35WEXAMPLE",
        "arn": "arn:aws:iam::123456789012:role/RoleToBeAssumed",
        "accountId": "123456789012",
        "userName": "RoleToBeAssumed"
      }
   }
}

Observação: o histórico de eventos do CloudTrail usa o nome da sessão de função assumida como nome de usuário para filtrar eventos.

A chamada de API usa credenciais de segurança temporárias obtidas ao assumir uma função do IAM. O elemento contém detalhes adicionais sobre a função assumida para obter credenciais.

Observação: se você não vir a atividade do usuário, verifique se o serviço AWS é suportado e se o evento da API foi registrado pelo CloudTrail. Para mais informações, consulte os tópicos de serviços da AWS para o CloudTrail.

Para usar o CloudWatch Logs Insights

Observação: você pode usar o CloudWatch Logs Insights para pesquisar o histórico da API além dos últimos 90 dias. Você deve ter uma trilha criada e configurada para fazer login no Amazon CloudWatch Logs. Para mais informações, consulte Creating a trail (Criar uma trilha).

1.    Abra o console do CloudWatch.

2.    Escolha Logs.

3.    Em Grupos de logs, escolha seu grupo de logs.

4.    Escolha Pesquisar grupo de logs.

5.    Em Filtrar eventos, insira uma consulta para pesquisar as chamadas de API de um usuário ou ações específicas da API. Em seguida, escolha o ícone de atualização.

Exemplo de consulta para pesquisar registros de chamadas de API de um usuário

Observação: substitua Alice pelo nome de usuário que você está procurando. Insira o “nome amigável” do usuário do IAM ou o “nome da sessão da função assumida”. o nome da sessão de função de uma sessão específica é o valor fornecido como nome da sessão quando a função é assumida. Para chamadas feitas usando a função do IAM, o valor do campo userName não é o nome da função.

{ $.userIdentity.userName = "Alice" }

Exemplo de consulta para pesquisar registros de ações específicas da API

Observação: o exemplo de consulta a seguir pesquisa a ação da API DescribeInstances.

{ ($.eventName = "DescribeInstances") && ($.requestParameters.userName = "Alice"  ) }

Para mais informações, consulte a sintaxe de consulta do CloudWatch Logs Insights.

Para usar as consultas do Athena

Observação: você pode usar o Athena para consultar o CloudTrail Logs nos últimos 90 dias.

1.    Abra o console do Athena.

2.    Escolha Editor de consulta.

3.    Insira um dos exemplos de consultas a seguir com base no seu caso de uso. Em seguida, escolha Executar consulta:

Exemplo de consulta para retornar todos os eventos do CloudTrail realizados por um usuário específico do IAM

Importante: substitua athena-table pelo nome da tabela do Athena. Substitua Alice pelo usuário do IAM cuja atividade de conta você deseja visualizar.

SELECT *
FROM athena-table
WHERE useridentity.type = 'IAMUser'
AND useridentity.username LIKE 'Alice';

Exemplo de consulta para filtrar toda a atividade da API realizada por uma função do IAM

Observação: substitua role-name pelo nome da função do IAM.

SELECT *
FROM athena-table
WHERE useridentity.sessionContext.sessionissuer.arn LIKE '%role-name%'
AND useridentity.sessionContext.sessionissuer.type = 'Role';

Exemplo de consulta para corresponder à função ARN

SELECT *
FROM athena-table
WHERE useridentity.sessionContext.sessionissuer.arn = 'arn:aws:iam::account-id123456789:role/role-name'
AND useridentity.sessionContext.sessionissuer.type = 'Role';

Exemplo de consulta para filtrar todas as atividades usando o ID da chave de acesso do IAM

SELECT eventTime, eventName, userIdentity.principalId,eventSource
FROM athena-table
WHERE useridentity.accesskeyid like 'AKIAIOSFODNN7EXAMPLE'

Informações relacionadas

Como faço para usar o AWS CloudTrail para rastrear chamadas de API para minhas instâncias do Amazon EC2?

Como faço para usar o CloudTrail para ver se um grupo ou recurso de segurança foi alterado em minha conta da AWS?

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos