Rastreando alterações em suas contas do AMS Accelerate - Guia do usuário do AMS Accelerate

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Rastreando alterações em suas contas do AMS Accelerate

Importante

O serviço Change Record foi descontinuado em 1º de julho de 2025.

Novas contas não podem ser integradas ao serviço Change Record.

Para consultar CloudTrail dados em suas contas do AMS Accelerate, você pode usar estes serviços:

  • Em AWS CloudTrail, escolha Histórico de eventos e filtre eventos usando atributos de pesquisa. Você pode usar o filtro de intervalo de tempo e optar por filtrar o histórico de eventos por fonte de eventos com a s3.amazon.aws.com especificação, ou optar por filtrar o histórico de eventos por nome de usuário. Para obter mais informações, consulte Trabalhando com o histórico de CloudTrail eventos.

  • Use o AWS CloudTrail Lake para coletar dados por meio de consultas. Em, AWS CloudTrail escolha Lake e, em seguida, escolha Consulta. Você pode criar suas próprias consultas, usar o gerador de consultas ou usar exemplos de consultas para coletar dados baseados em eventos. Por exemplo, você pode perguntar quem excluiu uma EC2 instância da Amazon na semana passada. Para obter mais informações, consulte Criação de um data lake a partir de uma AWS CloudTrail fonte e CloudTrailLake consultas.

  • Crie uma tabela do Amazon Athena AWS CloudTrail e defina o local de armazenamento como o bucket do Amazon S3 associado à sua trilha. Verifique se a região inicial da sua trilha e do bucket do Amazon S3 são iguais. No Amazon Athena, use o editor de consultas para executar as consultas padrão que o Accelerate fornece para uso com o console do Athena. Para obter mais informações sobre como criar uma tabela do Athena para dois CloudTrail registros de consulta, consulte Registros de consulta AWS CloudTrail.

O AWS Managed Services ajuda você a monitorar as alterações feitas pela equipe de operações do AMS Accelerate e pela automação do AMS Accelerate, fornecendo uma interface que pode ser consultada usando o console Amazon Athena (Athena) e o gerenciamento de registros do AMS Accelerate.

O Athena é um serviço de consulta interativo que você pode usar para analisar dados no Amazon S3 usando a linguagem de consulta estruturada (SQL) padrão (consulte a referência de SQL para o Amazon Athena). Como o Athena é sem servidor, não há infraestrutura para gerenciar, e você paga apenas pelas consultas executadas. O AMS Accelerate cria tabelas do Athena com partições diárias em CloudTrail registros e fornece consultas sobre sua AWS região principal e dentro do grupo de trabalho. ams-change-record Você pode escolher qualquer uma das consultas padrão e executá-las conforme necessário. Para saber mais sobre os grupos de trabalho do Athena, consulte Como funcionam os grupos de trabalho.

nota

Somente o Accelerate pode consultar CloudTrail eventos para sua conta do Accelerate usando o Athena quando o Accelerate está integrado à trilha CloudTrail da sua organização, a menos que o administrador da organização tenha implantado uma função do IAM para usar o Athena para consultar e analisar CloudTrail eventos em sua conta durante a integração.

Usando o registro de alterações, você pode responder facilmente a perguntas como:

  • Quem (AMS Accelerate Systems ou AMS Accelerate Operators) acessou sua conta

  • Quais alterações foram feitas pelo AMS Accelerate em sua conta

  • Quando o AMS Accelerate realizou alterações em sua conta?

  • Onde ir para ver as alterações feitas em sua conta

  • Por que o AMS Accelerate precisou fazer as alterações em sua conta

  • Como modificar as consultas para obter respostas a todas essas perguntas também para quaisquer alterações que não sejam do AMS

Visualizando seus registros de alterações

Para usar as consultas do Athena, entre no console de AWS gerenciamento e navegue até o console do Athena na sua região principal. AWS

nota

Se você ver a página de introdução do Amazon Athena enquanto executa qualquer uma das etapas, clique em Começar. Isso pode aparecer para você mesmo que sua infraestrutura de registro de alterações já esteja instalada.

  1. Escolha Grupo de trabalho no painel de navegação superior no console do Athena.

  2. Escolha o ams-change-recordgrupo de trabalho e clique em Alternar grupo de trabalho.

  3. Escolha na caixa ams-change-record-databasede combinação de banco de dados. ams-change-record-databaseIsso inclui a ams-change-record-tabletabela.

  4. Escolha Consultas salvas no painel de navegação superior.

  5. A janela Consultas salvas mostra uma lista de consultas fornecidas pelo AMS Accelerate, que você pode executar. Escolha a consulta que você deseja executar na lista Consultas salvas. Por exemplo, consulta ams_session_accesses_v1.

    Para obter a lista completa das consultas predefinidas do AMS Accelerate, consulte. Consultas padrão

  6. Ajuste o filtro de data e hora na caixa do editor de consultas conforme necessário; por padrão, a consulta só verifica as alterações do último dia.

  7. Selecione Executar consulta.

Consultas padrão

O AMS Accelerate fornece várias consultas padrão que você pode usar no console do Athena. As consultas padrão estão listadas nas tabelas a seguir.

nota
  • Todas as consultas aceitam o intervalo de data e hora como um filtro opcional; todas as consultas são executadas nas últimas 24 horas, por padrão. Para informações esperadas, consulte a subseção a seguir,Modificando o filtro de data e hora nas consultas.

  • As entradas de parâmetros que você pode ou precisa alterar são mostradas na consulta como <PARAMETER_NAME> se fossem chaves angulares. Substitua o espaço reservado e as chaves angulares pelo valor do seu parâmetro.

  • Todos os filtros são opcionais. Nas consultas, alguns filtros opcionais são comentados com um traço duplo (--) no início da linha. Todas as consultas serão executadas sem elas, com parâmetros padrão. Se você quiser especificar valores de parâmetros para esses filtros opcionais, remova o traço duplo (--) no início da linha e substitua o parâmetro conforme desejar.

  • Todas as consultas retornam IAM PincipalId e IAM SessionId nas saídas

  • O custo calculado para executar uma consulta depende de quantos CloudTrail registros são gerados para a conta. Para calcular o custo, use a calculadora de preços do AWS Athena.

Consultas predefinidas
Finalidade/Descrição Entradas Saídas

Nome da consulta: ams_access_session_query_v1

Rastreando as sessões de acesso do AMS

Fornece informações sobre uma sessão de acesso específica do AMS Accelerate. A consulta aceita o ID principal do IAM como um filtro opcional e retorna a hora do evento, a necessidade comercial de acessar a conta, o solicitante e assim por diante.

Você pode filtrar por uma ID principal específica do IAM descomentando a linha e substituindo o espaço IAM PrincipalId reservado por uma ID específica no editor de consultas.

Você também pode listar sessões de acesso não AMS removendo a linha de filtro useragent na cláusula WHERE da consulta.

(Opcional)IAM PrincipalId: o identificador principal do IAM do recurso que está tentando acessar. O formato éUNIQUE_IDENTIFIER:RESOURCE_NAME. Para obter detalhes, consulte identificadores exclusivos. Você pode executar a consulta sem esse filtro para determinar o IAM exato com PrincipalId o qual você deseja filtrar.

  • EventTime: Hora de obter o acesso

  • EventName: Nome do evento da AWS (AssumeRole)

  • EventRegion: Região da AWS que recebe a solicitação

  • EventId: ID CloudTrail do evento

  • BusinessNeed Tipo: Tipo de motivo comercial para acessar a conta. Os valores permitidos são: SupportCase, OpsItem, Problema, Texto.

  • BusinessNeed: As empresas precisam acessar a conta. Por exemplo, Support Case ID, Ops Item ID e assim por diante.

  • Solicitante: ID do operador que acessa a conta ou sistema de automação que acessa a conta.

  • RequestAccessType: Tipo de solicitante (Sistema, OpsAPI OpsConsole, Não definido)

Nome da consulta: ams_events_query_v1

Acompanhe todas as ações de mutação realizadas pelo AMS Accelerate

Retorna todas as ações de gravação realizadas na conta usando esse filtro de função do AMS Accelerate.

Você também pode rastrear ações de mutação realizadas por funções que não são do AMS removendo as linhas de filtro useridentity.arn da cláusula WHERE da consulta.

(Opcional)

Somente intervalo de data e hora. Consulte Modificando o filtro de data e hora nas consultas.

  • AccountId: ID da conta da AWS

  • RoleArn: RoleArn para o solicitante

  • EventTime: Hora de obter o acesso

  • EventName: Nome do evento da AWS (AssumeRole)

  • EventRegion: Região da AWS que recebe a solicitação

  • EventId: ID CloudTrail do evento

  • RequestParameters : Parâmetros de solicitação para a solicitação

  • ResponseElements: elementos de resposta para a resposta.

  • UserAgent: Agente de CloudTrail usuário da AWS

Nome da consulta: ams_instance_access_sessions_query_v1

Rastreie os acessos à instância pelo AMS Accelerate

Retorna uma lista de acessos à instância do AMS Accelerate; cada registro inclui hora do evento, região do evento, ID da instância, ID principal do IAM, ID da sessão do IAM, ID da sessão do SSM. Você pode usar a ID principal do IAM para obter mais detalhes sobre a necessidade comercial de acessar a instância usando a consulta ams_access_sessions_query_v1 Athena. Você pode usar o SSM Session ID para obter mais detalhes sobre a sessão de acesso à instância, incluindo o horário de início e término da sessão, detalhes do registro e o uso do console do AWS Session Manager na AWS região da instância.

Os usuários também podem listar acessos de instâncias que não são do AMS removendo a linha de filtro useridentity na cláusula WHERE da consulta.

Somente datetime range. Consulte Modificando o filtro de data e hora nas consultas.

  • InstanceId: ID da instância

  • SSMSession ID: ID da sessão SSM

  • RoleArn: RoleArn para o solicitante

  • EventTime: Hora de obter o acesso

  • EventName: Nome do evento da AWS (AssumeRole)

  • EventRegion: Região da AWS que recebe a solicitação

  • EventId: ID CloudTrail do evento

Nome da consulta: ams_privilege_escalation_events_query_v1

Rastreie eventos de permissão (escalonamento) para usuários do AMS e não AMS

Fornece uma lista de eventos que podem levar direta ou potencialmente a um aumento de privilégios. A consulta aceita ActionedBy como um filtro opcional e retorna EventName,, EventId EventTime, e assim por diante. Todos os campos associados ao evento também são retornados. Os campos ficam em branco se não forem aplicáveis a esse evento. O ActionedBy filtro está desativado, por padrão; para ativá-lo, remova “--" dessa linha.

Por padrão, o ActionedBy filtro está desativado (ele mostrará eventos de escalonamento de privilégios de todos os usuários). Para mostrar eventos para um determinado usuário ou função, remova o traço duplo (--) da linha de filtro de identidade do usuário na cláusula WHERE e substitua o espaço reservado ACTIONEDBY_PUT_USER_NAME_HERE por um nome de usuário ou função do IAM. Você pode executar a consulta sem o filtro para determinar o usuário exato com o qual deseja filtrar.

(Opcional)ACTIONEDBY_PUT_USER_NAME: Nome de usuário do usuário ActionedBy. Pode ser um usuário ou um perfil do IAM. Por exemplo, ams-access-admin.

(Opcional) datetime range. Consulte Modificando o filtro de data e hora nas consultas.

  • AccountId: ID da conta

  • ActionedByNome de usuário ActionedBy :

  • EventTime: Hora de obter o acesso

  • EventName: Nome do evento da AWS (AssumeRole).

  • EventRegion: Região da AWS que recebe a solicitação

  • EventId: ID CloudTrail do evento

Nome da consulta: ams_resource_events_query_v1

Rastreie eventos de gravação para recursos específicos AMS ou não AMS

Fornece uma lista de eventos realizados em um recurso específico. A consulta aceita o ID do recurso como parte dos filtros (substitua o espaço reservado RESOURCE_INFO na cláusula WHERE da consulta) e retorna todas as ações de gravação realizadas nesse recurso.

(Obrigatório)RESOURCE_INFO: O identificador do recurso pode ser um ID para qualquer recurso da AWS na conta. Não confunda isso com recurso ARNs. Por exemplo, um ID de instância para uma EC2 instância, nome de tabela para uma tabela do DynamoDB logGroupName , para CloudWatch um log etc.

(Opcional) datetime range. Consulte Modificando o filtro de data e hora nas consultas.

  • AccountId: ID da conta

  • ActionedByNome de usuário ActionedBy :

  • EventTime: Hora de obter o acesso

  • EventName: Nome do evento da AWS (AssumeRole).

  • EventRegion: Região da AWS que recebe a solicitação

  • EventId: ID CloudTrail do evento

Nome da consulta: ams_session_events_query_v1

Acompanhe as ações de gravação realizadas pelo AMS Accelerate durante uma sessão específica

Fornece uma lista de eventos realizados em uma sessão específica. A consulta aceita a ID principal do IAM como parte dos filtros (substitua o espaço reservado PRINCIPAL_ID na cláusula WHERE da consulta) e retorna todas as ações de gravação realizadas nesse recurso.

(Obrigatório)PRINCIPAL_ID: ID principal da sessão. O formato éUNIQUE_IDENTIFIER:RESOURCE_NAME. Para obter detalhes, consulte identificadores exclusivos. Você pode executar a consulta “ams_session_ids_by_requester_v1" para obter uma lista do IAM Principal para um solicitante. IDs Você também pode executar a consulta sem esse filtro para determinar o IAM exato com o qual PrincipalId você deseja filtrar.

(Opcional) datetime range. Consulte Modificando o filtro de data e hora nas consultas.

  • AccountId: ID da conta

  • ActionedByNome de usuário ActionedBy :

  • EventTime: Hora de obter o acesso

  • EventName: Nome do evento da AWS (AssumeRole)

  • EventRegion: Região da AWS que recebe a solicitação

  • EventId: ID CloudTrail do evento

Nome da consulta: ams_session_ids_by_requester_v1

Rastreie Principal/Session IDs o IAM para um solicitante específico.

A consulta aceita “solicitante” (substitua o espaço reservado Requester na cláusula WHERE da consulta) e retorna todos os IDs principais do IAM desse solicitante durante o intervalo de tempo especificado.

(Obrigatório)Requester: ID do operador que acessa a conta (por exemplo: alias de um operador) ou sistema de automação que acessa a conta (por exemplo: OsConfiguration, AlarmManager, etc.).

(Opcional) datetime range. Consulte Modificando o filtro de data e hora nas consultas.

  • IAM PrincipalId - ID principal do IAM da sessão. O formato éUNIQUE_IDENTIFIER:RESOURCE_NAME. Para obter detalhes, consulte identificadores exclusivos. Você pode executar a consulta sem esse filtro para determinar o IAM exato com o qual PrincipalId você deseja filtrar.

  • IAM SessionId - ID da sessão do IAM para a sessão de acesso

  • EventTime: Hora de obter o acesso

Modificando o filtro de data e hora nas consultas

Todas as consultas aceitam o intervalo de data e hora como um filtro opcional. Por padrão, todas as consultas são executadas no último dia.

O formato usado para o campo de data e hora é yyyy/MM/dd (por exemplo: 2021/01/01). Lembre-se de que ele armazena apenas a data e não o carimbo de data/hora inteiro. Para todo o timestamp, use o campo eventime, que armazena o timestamp no formato ISO 8601 yyyy-MM-dd T HH:mm:ss Z (por exemplo: 2021-01-01T 23:59:59 Z). No entanto, como a tabela é particionada no campo datetime, você precisará passar os filtros datetime e eventtime para a consulta. Veja os exemplos de a seguir.

nota

Para ver todas as formas aceitas de modificar o intervalo, consulte a documentação mais recente da função Presto com base na versão do mecanismo Athena usada atualmente para as funções e operadores de data e hora para ver todas as formas aceitas de modificar o intervalo.

Nível de data: Último dia ou últimas 24 horas (padrão) Exemplo: se o CURRENT_DATE='2021/01/01', o filtro subtrairá um dia da data atual e o formatará como data/hora > '2020/12/31'

datetime > date_format(date_add('day', - 1, CURRENT_DATE), '%Y/%m/%d')

Nível de data: exemplo dos últimos 2 meses:

datetime > date_format(date_add('month', - 2, CURRENT_DATE), '%Y/%m/%d')

Nível de data: Entre 2 datas, exemplo:

datetime > '2021/01/01' AND datetime < '2021/01/10'

Nível de registro de data e hora: exemplo das últimas 12 horas:

Particione os dados digitalizados para durar 1 dia e, em seguida, filtre todos os eventos nas últimas 12 horas

datetime > date_format(date_add('day', - 1, CURRENT_DATE), '%Y/%m/%d') AND eventtime > date_format(date_add('hour', - 12, CURRENT_TIMESTAMP), '%Y-%m-%dT%H:%i:%sZ')

Nível de timestamp: entre 2 timestamps, exemplo:

Obtenha eventos entre 1º de janeiro de 2021 às 12h e 10 de janeiro de 2021 às 15h.

datetime > '2021/01/01' AND datetime < '2021/01/10' AND eventtime > '2021-01-01T12:00:00Z' AND eventtime < '2021-01-10T15:00:00Z'

Exemplos de consulta padrão

Name: ams_access_session_query_v1 Description: >- The query provides more information on specific AMS access session. The query accepts IAM Principal Id as an optional filter and returns event time, business need for accessing the account, requester, ... etc. By default; the query filter last day events only, the user can change the datetime filter to search for more wide time range. By default; the IAM PrincipalId filter is disabled. To enable it, remove "-- " from that line. AthenaQueryString: |- /* The query provides list of AMS access sessions during specific time range. The query accepts IAM Principal Id as an optional filter and returns event time, business need for accessing the account, requester, ... etc. By default, the query filters the last day's events only; you can change the "datetime" filter to search for a wider time range. By default; the IAM Principal ID filter is disabled (it shows access sessions for all IAM principals). If you want to only show access sessions for a particular IAM principal ID, remove the double-dash (--) from the "IAM Principal ID" filter line in the WHERE clause of the query, and replace the placeholder "<IAM PrincipalId>" with the specific ID that you want. You can run the query without the filter to determine the exact IAM PrincipalId you want to filter with. By default; the query only shows AMS access sessions. If you also want to show non-AMS access sessions, remove the "useragent" filter in the WHERE clause of the query. For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries */ SELECT json_extract_scalar(responseelements, '$.assumedRoleUser.assumedRoleId') AS "IAM PrincipalId", json_extract_scalar(responseelements, '$.credentials.accessKeyId') AS "IAM SessionId", eventtime AS "EventTime", eventname AS "EventName", awsregion AS "EventRegion", eventid AS "EventId", json_extract_scalar(requestparameters, '$.tags[0].value') AS "BusinessNeed", json_extract_scalar(requestparameters, '$.tags[1].value') AS "BusinessNeedType", json_extract_scalar(requestparameters, '$.tags[2].value') AS "Requester", json_extract_scalar(requestparameters, '$.tags[3].value') AS "AccessRequestType" FROM "{DATABASE NAME HERE}".{TABLENAME HERE} <- This should auto-populate WHERE datetime > date_format(date_add('day', - 1, CURRENT_DATE), '%Y/%m/%d') AND eventname = 'AssumeRole' AND useragent = 'access.managedservices.amazonaws.com' -- AND json_extract_scalar(responseelements, '$.assumedRoleUser.assumedRoleId') = '<IAM PrincipalId>' ORDER BY eventtime InsightsQueryString: |- # The query provides list of AMS access sessions during specific time range. # The query accepts IAM Principal Id as an optional filter and returns event time, business need for accessing the account, requester, ... etc. # # By default; the IAM Principal ID filter is disabled (it shows access sessions for all IAM principals). # If you want to only show access sessions for a particular IAM principal ID, remove the # (#) from # the "IAM Principal ID" filter of the query, and replace the placeholder "<IAM PrincipalId>" with the specific ID that you want. # You can run the query without the filter to determine the exact IAM PrincipalId you want to filter with. # # By default; the query only shows AMS access sessions. If you also want to show non-AMS access sessions, # remove the "useragent" filter from the query. # # For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries filter eventName="AssumeRole" AND userAgent="access.managedservices.amazonaws.com" # | filter responseElements.assumedRoleUser.assumedRoleId= "<IAM PrincipalId>" | sort eventTime desc | fields responseElements.assumedRoleUser.assumedRoleId as IAMPrincipalId, responseElements.credentials.accessKeyId as IAMSessionId, eventTime as EventTime, eventName as EventName, awsRegion as EventRegion, eventID as EventId, requestParameters.tags.0.value as BusinessNeed, requestParameters.tags.1.value as BusinessNeedType, requestParameters.tags.2.value as Requester, requestParameters.tags.3.value as AccessRequestType
ams_events_query_v1.yaml /* The query provides list of events to track write actions for all AMS changes. The query returns all write actions done on the account using that AMS role filter. By default, the query filters the last day's events only; you can change the "datetime" filter to search for a wider time range. You can also track mutating actions done by non-AMS roles by removing the "useridentity.arn" filter lines from the WHERE clause of the query. For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries */ SELECT useridentity.principalId AS "IAM PrincipalId", useridentity.accesskeyid AS "IAM SessionId", useridentity.accountid AS "AccountId", useridentity.arn AS "RoleArn", eventid AS "EventId", eventname AS "EventName", awsregion AS "EventRegion", eventsource AS "EventService", eventtime AS "EventTime", requestparameters As "RequestParameters", responseelements AS "ResponseElements", useragent AS "UserAgent" FROM "{DATABASE NAME HERE}".{TABLENAME HERE} <- This should auto-populate WHERE readonly <> 'true' AND ( LOWER(useridentity.arn) LIKE '%/ams%' OR LOWER(useridentity.arn) LIKE '%/customer_ssm_automation_role%' ) ORDER BY eventtime
ams_instance_access_sessions_query_v1 /* The query provides list of AMS Instance accesses during specific time range. The query returns the list of AMS instance accesses; every record includes the event time, the event AWS Region, the instance ID, the IAM session ID, and the SSM session ID. You can use the IAM Principal ID to get more details on the business need for accessing the instance by using ams_access_session_query_v1 athena query. You can use the SSM session ID to get more details on the instance access session, including the start and end time of the session and log details, using the AWS Session Manager Console in the instance's AWS Region. You can also list non-AMS instance accesses by removing the "useridentity" filter line in the WHERE clause of the query. By default, the query filters the last day's events only; you can change the "datetime" filter to search for a wider time range. For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries */ SELECT useridentity.principalId AS "IAM PrincipalId", useridentity.accesskeyid AS "IAM SessionId", json_extract_scalar(requestparameters, '$.target') AS "InstanceId", json_extract_scalar(responseelements, '$.sessionId') AS "SSM SessionId", eventname AS "EventName", awsregion AS "EventRegion", eventid AS "EventId", eventsource AS "EventService", eventtime AS "EventTime" FROM "{DATABASE NAME HERE}".{TABLENAME HERE} <- This should auto-populate WHERE useridentity.sessionContext.sessionIssuer.arn like '%/ams_%' AND eventname = 'StartSession' ORDER BY eventtime
ams_privilege_escalation_events_query_v1.yaml /* The query provides list of events that can directly or potentially lead to a privilege escalation. The query accepts ActionedBy as an optional filter and returns EventName, EventId, EventTime, ... etc. All fields associated with the event are also returned. Some fields are blank if not applicable for that event. You can use the IAM Session ID to get more details about events happened in that session by using ams_session_events_query_v1 query. By default, the query filters the last day's events only; you can change the "datetime" filter to search for a wider time range. By default, the ActionedBy filter is disabled (it shows privilege escalation events from all users). To show events for a particular user or role, remove the double-dash (--) from the useridentity filter line in the WHERE clause of the query and replace the placeholder "<ACTIONEDBY_PUT_USER_NAME_HERE>" with an IAM user or role name. You can run the query without the filter to determine the exact user you want to filter with. For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries */ SELECT useridentity.principalId AS "IAM PrincipalId", useridentity.accesskeyid AS "IAM SessionId", useridentity.accountid AS "AccountId", reverse(split_part(reverse(useridentity.arn), ':', 1)) AS "ActionedBy", eventname AS "EventName", awsregion AS "EventRegion", eventid AS "EventId", eventtime AS "EventTime", json_extract_scalar(requestparameters, '$.userName') AS "UserName", json_extract_scalar(requestparameters, '$.roleName') AS "RoleName", json_extract_scalar(requestparameters, '$.groupName') AS "GroupName", json_extract_scalar(requestparameters, '$.policyArn') AS "PolicyArn", json_extract_scalar(requestparameters, '$.policyName') AS "PolicyName", json_extract_scalar(requestparameters, '$.permissionsBoundary') AS "PermissionsBoundary", json_extract_scalar(requestparameters, '$.instanceProfileName') AS "InstanceProfileName", json_extract_scalar(requestparameters, '$.openIDConnectProviderArn') AS "OpenIDConnectProviderArn", json_extract_scalar(requestparameters, '$.serialNumber') AS "SerialNumber", json_extract_scalar(requestparameters, '$.serverCertificateName') AS "ServerCertificateName", json_extract_scalar(requestparameters, '$.accessKeyId') AS "AccessKeyId", json_extract_scalar(requestparameters, '$.certificateId') AS "CertificateId", json_extract_scalar(requestparameters, '$.newUserName') AS "NewUserName", json_extract_scalar(requestparameters, '$.newGroupName') AS "NewGroupName", json_extract_scalar(requestparameters, '$.newServerCertificateName') AS "NewServerCertificateName", json_extract_scalar(requestparameters, '$.name') AS "SAMLProviderName", json_extract_scalar(requestparameters, '$.sAMLProviderArn') AS "SAMLProviderArn", json_extract_scalar(requestparameters, '$.sSHPublicKeyId') AS "SSHPublicKeyId", json_extract_scalar(requestparameters, '$.virtualMFADeviceName') AS "VirtualMFADeviceName" FROM "{DATABASE NAME HERE}".{TABLENAME HERE} <- This should auto-populate WHERE ( -- More event names can be found at https://docs.aws.amazon.com/IAM/latest/UserGuide/list_identityandaccessmanagement.html eventname LIKE 'Add%' OR eventname LIKE 'Attach%' OR eventname LIKE 'Delete%' AND eventname != 'DeleteAccountAlias' OR eventname LIKE 'Detach%' OR eventname LIKE 'Create%' AND eventname != 'CreateAccountAlias' OR eventname LIKE 'Put%' OR eventname LIKE 'Remove%' OR eventname LIKE 'Update%' OR eventname LIKE 'Upload%' OR eventname = 'DeactivateMFADevice' OR eventname = 'EnableMFADevice' OR eventname = 'ResetServiceSpecificCredential' OR eventname = 'SetDefaultPolicyVersion' ) AND eventsource = 'iam.amazonaws.com' ORDER BY eventtime
Name: ams_resource_events_query_v1 Description: >- The query provides list of events done on specific resource. The query accepts resource id as part of the filters, and return all write actions done on that resource. By default; the query list the accesses for last day, the user can change the time range by changing the datetime filter. AthenaQueryString: |- /* The query provides list of events done on specific resource. The query accepts the resource ID as part of the filters (replace the placeholder "<RESOURCE_INFO>" in the WHERE clause of the query), and returns all write actions done on that resource. The resource ID can be an ID for any AWS resource in the account. Example: An instance ID for an EC2 instance, table name for a DynamoDB table, logGroupName for a CloudWatch Log, etc. By default, the query filters the last day's events only; you can change the "datetime" filter to search for a wider time range. For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries */ SELECT useridentity.principalId AS "IAM PrincipalId", useridentity.accesskeyid AS "IAM SessionId", useridentity.accountid AS "AccountId", reverse(split_part(reverse(useridentity.arn), ':', 1)) AS "ActionedBy", eventname AS "EventName", awsregion AS "EventRegion", eventid AS "EventId", eventsource AS "EventService", eventtime AS "EventTime" FROM "{DATABASE NAME HERE}".{TABLENAME HERE} <- This should auto-populate WHERE datetime > date_format(date_add('day', - 1, CURRENT_DATE), '%Y/%m/%d') AND readonly <> 'true' AND ( requestparameters LIKE '%<RESOURCE_INFO>%' OR responseelements LIKE '%<RESOURCE_INFO>%' ) ORDER BY eventtime InsightsQueryString: |- # The query provides list of events done on specific resource. # # The query accepts the resource ID as part of the filters (replace the placeholder "<RESOURCE_INFO>" in the filter of the query), # and returns all write actions done on that resource. The resource ID can be an ID for any AWS resource in the account. # Example: An instance ID for an EC2 instance, table name for a DynamoDB table, logGroupName for a CloudWatch Log, etc. # # For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries filter readOnly=0 | parse @message '"requestParameters":{*}' as RequestParameters | parse @message '"responseElements":{*}' as ResponseElements # | filter RequestParameters like "RESOURCE_INFO" or ResponseElements like "<RESOURCE_INFO>" | fields userIdentity.principalId as IAMPrincipalId, userIdentity.accessKeyId as IAMSessionId, userIdentity.accountId as AccountId, userIdentity.arn as ActionedBy, eventName as EventName, awsRegion as EventRegion, eventID as EventId, eventSource as EventService, eventTime as EventTime | display IAMPrincipalId, IAMSessionId, AccountId, ActionedBy, EventName, EventRegion, EventId, EventService, EventTime | sort eventTime desc
Name: ams_session_events_query_v1 Description: >- The query provides list of events done on specific session. The query accepts IAM Principal Id as part of the filters, and return all write actions done on that resource. By default; the query list the accesses for last day, the user can change the time range by changing the datetime filter. AthenaQueryString: |- /* The query provides a list of events executed on a specific session. The query accepts the IAM principal ID as part of the filters (replace the placeholder "<PRINCIPAL_ID>" in the WHERE clause of the query), and returns all write actions done on that resource. By default, the query filters the last day's events only; you can change the "datetime" filter to search for a wider time range. For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries */ SELECT useridentity.principalId AS "IAM PrincipalId", useridentity.accesskeyid AS "IAM SessionId", useridentity.accountid AS "AccountId", reverse(split_part(reverse(useridentity.arn), ':', 1)) AS "ActionedBy", eventname AS "EventName", awsregion AS "EventRegion", eventsource AS "EventService", eventtime AS "EventTime", requestparameters As "RequestParameters", responseelements AS "ResponseElements", useragent AS "UserAgent" FROM "{DATABASE NAME HERE}".{TABLENAME HERE} <- This should auto-populate WHERE useridentity.principalid = '<PRINCIPAL_ID>' AND datetime > date_format(date_add('day', - 1, CURRENT_DATE), '%Y/%m/%d') AND readonly <> 'true' ORDER BY eventtime InsightsQueryString: |- # The query provides a list of events executed on a specific session. # # The query accepts the IAM principal ID as part of the filters (replace the placeholder "<PRINCIPAL_ID>" in the filter of the query), # and returns all write actions done on that resource. # # For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries filter readOnly=0 AND userIdentity.principalId = "<IAM Principal>" | sort eventTime desc | fields userIdentity.accessKeyId as IAMSessionId, userIdentity.principalId as IAMPrincipalId, userIdentity.accountId as AccountId, userIdentity.arn as ActionedBy, eventName as EventName, awsRegion as EventRegion, eventSource as EventService, eventTime as EventTime, userAgent as UserAgent | parse @message '"requestParameters":{*}' as RequestParameters | parse @message '"responseElements":{*}' as ResponseElements
Name: ams_session_ids_by_requester_v1 Description: >- The query provides list of IAM Principal/Session Ids for specific requester. The query accepts requester and return all IAM Principal/Session Ids by that requester during specific time range. By default; the query list the accesses for last day, the user can change the time range by changing the datetime filter. AthenaQueryString: |- /* The query provides list of IAM Principal IDs for a specific requester. The query accepts the requester (replace placeholder "<Requester>" in the WHERE clause of the query), and returns all IAM Principal IDs by that requester during a specific time range. By default, the query filters the last day's events only; you can change the "datetime" filter to search for a wider time range. For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries */ SELECT json_extract_scalar(responseelements, '$.assumedRoleUser.assumedRoleId') AS "IAM PrincipalId", json_extract_scalar(responseelements, '$.credentials.accessKeyId') AS "IAM SessionIId", eventtime AS "EventTime" FROM "{DATABASE NAME HERE}".{TABLENAME HERE} <- This should auto-populate WHERE datetime > date_format(date_add('day', - 1, CURRENT_DATE), '%Y/%m/%d') AND json_extract_scalar(requestparameters, '$.tags[2].value') = '<Requester>' ORDER BY eventtime InsightsQueryString: |- # The query provides list of IAM Principal IDs for a specific requester. # # The query accepts the requester (replace placeholder "<Requester>" in the filter of the query), # and returns all IAM Principal IDs by that requester during a specific time range. # # For expected inputs and scenarios, refer to AMS Documentation -> Tracking changes in your AMS Accelerate accounts -> Default Queries filter eventName="AssumeRole" AND requestParameters.tags.2.value="<Requester>" | sort eventTime desc | fields responseElements.assumedRoleUser.assumedRoleId as IAMPrincipalId, responseElements.credentials.accessKeyId as IAMSessionId, eventTime as EventTime

Alterar permissões de registro

As seguintes permissões são necessárias para executar consultas de registro de alterações:

  • Athena

    • Atena: GetWorkGroup

    • Atena: StartQueryExecution

    • Atena: ListDataCatalogs

    • Atena: GetQueryExecution

    • Atena: GetQueryResults

    • Atena: BatchGetNamedQuery

    • Atena: ListWorkGroups

    • Atena: UpdateWorkGroup

    • Atena: GetNamedQuery

    • Atena: ListQueryExecutions

    • Atena: ListNamedQueries

  • AWS KMS

    • kms:Decrypt

    • AWS KMS ID de chave ou seus IDs de AWS KMS chave AMSCloudTrailLogManagement, se o Accelerate estiver usando seu armazenamento de dados de bucket Amazon S3 de eventos de CloudTrail trilha usando criptografia SSE-KMS.

  • AWS Glue

    • cola: GetDatabase

    • cola: GetTables

    • cola: GetDatabases

    • cola: GetTable

  • Acesso de leitura ao Amazon S3

    • CloudTrail Armazenamento de dados de bucket do Amazon S3: ams-a AccountId -cloudtrail-primary region, ou o nome do seu bucket do Amazon S3, eventos de trilha Armazenamento de dados do bucket do Amazon S3. CloudTrail

  • Acesso de gravação ao Amazon S3

    • Resultados da consulta de eventos do Athena Amazon S3 bucket: ams-a athena-results- AccountId primary region