¿Cómo puedo supervisar la actividad de las cuentas de usuarios de IAM, roles y claves de acceso de AWS específicos?

6 minutos de lectura
0

Quiero ver y supervisar la actividad de las cuentas de identidades específicas de AWS Identity and Access Management (IAM).

Descripción breve

Para ver y supervisar la actividad de las cuentas de identidades de IAM específicas, puede utilizar cualquiera de los siguientes servicios y características de AWS:

Resolución

Usar historial de eventos de CloudTrail

Nota: Puede usar CloudTrail para buscar en el historial de eventos de los últimos 90 días.

1.    Abra la consola de CloudTrail.

2.    Elija Historial de eventos.

3.    En Filtrar, seleccione la lista desplegable. A continuación, seleccione Nombre de usuario.
Nota: También puede filtrar por clave de acceso de AWS.

4.    En el cuadro de texto Escriba nombre de usuario o rol, introduzca el «nombre descriptivo» del usuario de IAM o el nombre de la sesión de rol asumido.

Nota: El nombre de la sesión de rol para una sesión específica es el valor que se proporciona como nombre de sesión cuando se asume el rol. El valor del campo «Nombre de usuario» no será el nombre del rol para las llamadas realizadas con el rol de IAM.

5.    En Intervalo de tiempo, introduzca el intervalo de tiempo deseado. A continuación, elija Aplicar.

6.    En Hora del evento, expanda el evento. A continuación, seleccione Ver el evento.

El elemento userIdentity contiene detalles sobre el tipo de identidad de IAM que realizó la solicitud y las credenciales proporcionadas.

Ejemplo de elemento userIdentity que incluye las credenciales de usuario de IAM utilizadas para realizar una llamada a la API

Nota: Sustituya Alice por el nombre de usuario que está buscando. Introduzca el «nombre descriptivo» del usuario de IAM o el «nombre de sesión del rol» asumido. El nombre de la sesión de rol para una sesión específica es el valor que se proporciona como nombre de sesión cuando se asume el rol. Para las llamadas realizadas con el rol de IAM, el valor del campo userName no es el nombre del rol.

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

Ejemplo de elemento userIdentity que incluye credenciales de seguridad temporales

"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"
      }
   }
}

Nota: El historial de eventos de CloudTrail utiliza el nombre de la sesión de rol asumido como nombre de usuario para filtrar los eventos.

La llamada a la API utiliza credenciales de seguridad temporales obtenidas al asumir un rol de IAM. El elemento contiene detalles adicionales sobre el rol que se asume para obtener las credenciales.

Nota: Si no ve la actividad de los usuarios, compruebe que el servicio de AWS sea compatible y que CloudTrail registre el evento de la API. Para obtener más información, consulte Temas de servicios de AWS para CloudTrail.

Usar Información de registros de CloudWatch

Nota: Puede usar Información de registros de CloudWatch para buscar en el historial de la API más allá de los últimos 90 días. Debe tener una ruta creada y configurada para registrar en Registros de Amazon CloudWatch. Para obtener más información, consulte Crear una ruta.

1.    Abra la consola de CloudWatch.

2.    Elija Registros.

3.    En Grupos de registros, elija su grupo de registros.

4.    Elija Buscar en grupo de registros.

5.    En Filtrar eventos, introduzca una consulta para buscar las llamadas a la API de un usuario o acciones de API específicas. A continuación, seleccione el icono de actualización.

Ejemplo de consulta para buscar registros de llamadas a la API de un usuario

Nota: Sustituya Alice por el nombre de usuario que está buscando. Introduzca el «nombre descriptivo» del usuario de IAM o el «nombre de sesión del rol» asumido. El nombre de la sesión de rol para una sesión específica es el valor que se proporciona como nombre de sesión cuando se asume el rol. Para las llamadas realizadas con el rol de IAM, el valor del campo userName no es el nombre del rol.

{ $.userIdentity.userName = "Alice" }

Ejemplo de consulta para buscar registros de acciones de API específicas

Nota: La siguiente consulta de ejemplo busca la acción de la API DescribeInstances.

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

Para obtener más información, consulte Sintaxis de consultas de Información de registros de CloudWatch.

Usar consultas de Athena

Nota: Puede utilizar Athena para consultar los registros de CloudTrail de los últimos 90 días.

1.    Abra la consola de Athena.

2.    Elija Editor de consultas.

3.    Introduzca una de las siguientes consultas de ejemplo en función de su caso de uso. A continuación, elija Ejecutar consulta:

Ejemplo de consulta para devolver todos los eventos de CloudTrail realizados por un usuario de IAM específico

Importante: Sustituya athena-table por el nombre de su tabla de Athena. Sustituya Alice por el usuario de IAM del que desee ver la actividad de la cuenta.

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

Ejemplo de consulta para filtrar toda la actividad de la API realizada por un rol de IAM

Nota: Sustituya el role-name por el nombre de su rol de IAM.

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

Ejemplo de consulta para hacer coincidir el ARN del rol

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

Ejemplo de consulta para filtrar toda la actividad mediante el ID de clave de acceso de IAM

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

Información relacionada

¿Cómo puedo utilizar AWS CloudTrail para realizar un seguimiento de las llamadas a la API de mis instancias de Amazon EC2?

¿Cómo utilizo CloudTrail para ver si se ha cambiado un grupo de seguridad o un recurso en mi cuenta de AWS?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años