

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Änderungen in Ihren AMS Accelerate-Konten verfolgen
<a name="acc-change-record"></a>

**Wichtig**  
Der Change Record-Service ist seit dem 1. Juli 2025 veraltet.  
Neue Konten können nicht in den Change Record-Service integriert werden.  
Um CloudTrail Daten in Ihren AMS Accelerate-Konten abzufragen, können Sie diese Dienste verwenden:  
Wählen Sie AWS CloudTrail unter **Eventverlauf** und filtern Sie Ereignisse mithilfe von Lookup-Attributen. Sie können den Zeitbereichsfilter verwenden und wählen, ob der Ereignisverlauf nach der `s3.amazon.aws.com` angegebenen Ereignisquelle gefiltert werden soll, oder ob der Ereignisverlauf nach dem Benutzernamen gefiltert werden soll. Weitere Informationen finden Sie unter [Arbeiten mit dem CloudTrail Ereignisverlauf](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).
Verwenden Sie AWS CloudTrail Lake, um Daten mithilfe von Abfragen zu sammeln. AWS CloudTrail Wählen Sie in **Lake** und dann **Query** aus. Sie können Ihre eigenen Abfragen erstellen, den Abfragegenerator verwenden oder Beispielabfragen verwenden, um ereignisbasierte Daten zu sammeln. Sie können beispielsweise fragen, wer in der vergangenen Woche eine EC2 Amazon-Instance gelöscht hat. Weitere Informationen finden Sie unter [Einen Data Lake aus einer AWS CloudTrail Quelle](https://docs.aws.amazon.com/lake-formation/latest/dg/getting-started-cloudtrail-tutorial.html) und [CloudTrailLake Abfragen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-queries.html) erstellen.
Erstellen Sie eine Amazon Athena Athena-Tabelle in AWS CloudTrail und legen Sie den Speicherort als den Amazon S3 S3-Bucket fest, der Ihrem Trail zugeordnet ist. Vergewissern Sie sich, dass die Heimatregion für Ihren Trail und Ihren Amazon S3 S3-Bucket identisch ist. Verwenden Sie in Amazon Athena den Abfrage-Editor, um die [Standardabfragen](#acc-cr-canned-queries) auszuführen, die Accelerate für die Verwendung mit der Athena-Konsole bereitstellt. Weitere Informationen zum Erstellen einer Athena-Tabelle zum Abfragen von Logs finden Sie unter CloudTrail Logs [abfragen AWS CloudTrail](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html).

**Topics**
+ [Ihre Änderungsdatensätze anzeigen](#acc-cr-using)
+ [Standardabfragen](#acc-cr-canned-queries)
+ [Datensatzberechtigungen ändern](#acc-cr-permissions)

AWS Managed Services hilft Ihnen dabei, Änderungen nachzuverfolgen, die vom AMS Accelerate Operations Team und AMS Accelerate Automation vorgenommen wurden, indem es eine abfragbare Schnittstelle über die [Amazon Athena (Athena](https://docs.aws.amazon.com/athena/)) -Konsole und das AMS Accelerate-Protokollmanagement bereitstellt.

Athena ist ein interaktiver Abfrageservice, mit dem Sie Daten in Amazon S3 mithilfe der standardmäßigen Structured Query Language (SQL) analysieren können (siehe [SQL-Referenz für Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/ddl-sql-reference.html)). Athena ist Serverless, weshalb auch keine Infrastruktur eingerichtet oder verwaltet werden muss – und Sie zahlen nur für tatsächlich ausgeführte Abfragen. AMS Accelerate erstellt Athena-Tabellen mit täglichen Partitionen über CloudTrail Logs und stellt Abfragen in Ihrer primären AWS Region und innerhalb der **ams-change-record**Arbeitsgruppe bereit. Sie können eine der Standardabfragen wählen und sie nach Bedarf ausführen. Weitere Informationen zu Athena-Arbeitsgruppen finden Sie unter [So funktionieren Arbeitsgruppen](https://docs.aws.amazon.com/athena/latest/ug/user-created-workgroups.html).

**Anmerkung**  
Nur Accelerate kann CloudTrail Ereignisse für Ihr Accelerate-Konto [mit Athena abfragen, wenn Accelerate in Ihren CloudTrail Organization-Trail integriert ist](https://docs.aws.amazon.com/managedservices/latest/accelerate-guide/acc-onb-trail-choices.html), es sei denn, Ihr Organisationsadministrator hat während des Onboardings eine IAM-Rolle für die Nutzung von Athena zur Abfrage und Analyse von CloudTrail Ereignissen in Ihrem Konto bereitgestellt.

Mithilfe von Change Record können Sie ganz einfach Fragen wie die folgenden beantworten:
+ Wer (AMS Accelerate Systems oder AMS Accelerate Operators) hat auf Ihr Konto zugegriffen
+ Welche Änderungen wurden von AMS Accelerate an Ihrem Konto vorgenommen
+ Wann hat AMS Accelerate Änderungen an Ihrem Konto vorgenommen
+ Wo können Sie die an Ihrem Konto vorgenommenen Änderungen einsehen
+ Warum musste AMS Accelerate die Änderungen an Ihrem Konto vornehmen
+ So ändern Sie Abfragen, um Antworten auf all diese Fragen zu erhalten, auch für Änderungen, die nicht von AMS stammen

## Ihre Änderungsdatensätze anzeigen
<a name="acc-cr-using"></a>

Um Athena-Abfragen zu verwenden, melden Sie sich bei der AWS Management Console an und navigieren Sie zur Athena-Konsole in Ihrer primären AWS Region.

**Anmerkung**  
Wenn Sie während der Ausführung eines der Schritte die Seite **Erste Schritte von Amazon Athena** sehen, klicken Sie auf **Erste** Schritte. Dies kann Ihnen auch dann angezeigt werden, wenn Ihre Change Record-Infrastruktur bereits vorhanden ist.

1. Wählen Sie im oberen Navigationsbereich der Athena-Konsole **Workgroup** aus.

1. **Wählen Sie die **ams-change-record**Arbeitsgruppe aus und klicken Sie dann auf Arbeitsgruppe wechseln.**

1. Wählen Sie **ams-change-record-database**aus dem **Kombinationsfeld Datenbank** aus. Das **ams-change-record-database**beinhaltet die **ams-change-record-table**Tabelle.

1. Wählen Sie im oberen Navigationsbereich die Option **Gespeicherte Abfragen** aus.

1. Das Fenster **Gespeicherte Abfragen** zeigt eine Liste von Abfragen, die AMS Accelerate bereitstellt und die Sie ausführen können. Wählen Sie die Abfrage, die Sie ausführen möchten, aus der Liste der **gespeicherten Abfragen** aus. Zum Beispiel die Abfrage **ams\_session\_accesses\_v1**.

   Die vollständige Liste der voreingestellten AMS Accelerate-Abfragen finden Sie unter. [Standardabfragen](#acc-cr-canned-queries)

1. Passen Sie den **Datetime-Filter** im Abfrage-Editor-Feld nach Bedarf an. Standardmäßig überprüft die Abfrage nur Änderungen vom letzten Tag.

1. Wählen Sie **Abfrage ausführen**.

## Standardabfragen
<a name="acc-cr-canned-queries"></a>

AMS Accelerate bietet mehrere Standardabfragen, die Sie in der Athena-Konsole verwenden können. Die Standardabfragen sind in den folgenden Tabellen aufgeführt.

**Anmerkung**  
Alle Abfragen akzeptieren den **Datums-/Uhrzeitbereich** als optionalen Filter. Alle Abfragen werden standardmäßig über die letzten 24 Stunden ausgeführt. Informationen zu den erwarteten Eingaben finden Sie im folgenden Unterabschnitt:. [Ändern des Datetime-Filters in Abfragen](#acc-cr-canned-queries-mod-timestamp)
Parametereingaben, die Sie ändern können oder müssen, werden in der Abfrage wie {{<PARAMETER\_NAME>}} eckige Klammern angezeigt. Ersetzen Sie den Platzhalter **und** die eckigen Klammern durch Ihren Parameterwert.
Alle Filter sind optional. In den Abfragen werden einige optionale Filter mit einem doppelten Gedankenstrich (--) am Anfang der Zeile auskommentiert. Alle Abfragen werden ohne sie mit Standardparametern ausgeführt. Wenn Sie Parameterwerte für diese optionalen Filter angeben möchten, entfernen Sie den doppelten Gedankenstrich (--) am Anfang der Zeile und ersetzen Sie den Parameter wie gewünscht.
Alle Abfragen geben zurück `IAM PincipalId` und `IAM SessionId` in den Ausgaben
Die berechneten Kosten für die Ausführung einer Abfrage hängen davon ab, wie viele CloudTrail Protokolle für das Konto generiert werden. Verwenden Sie zur Berechnung der Kosten den [AWS Athena Pricing Calculator](https://aws.amazon.com/athena/pricing/).


**Vorgefertigte Abfragen**  
<a name="acc-cr-canned-queries-table"></a>[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/managedservices/latest/accelerate-guide/acc-change-record.html)

### Ändern des Datetime-Filters in Abfragen
<a name="acc-cr-canned-queries-mod-timestamp"></a>

Alle Abfragen akzeptieren den **Datums-/Uhrzeitbereich** als optionalen Filter. Alle Abfragen werden standardmäßig am letzten Tag ausgeführt.

Das für das **Datetime-Feld** verwendete Format ist yyyy/MM/dd (zum Beispiel: 2021/01/01). Denken Sie daran, dass nur das Datum und nicht der gesamte Zeitstempel gespeichert wird. Verwenden Sie für den gesamten Zeitstempel das Feld **eventime**, das den Zeitstempel im ISO 8601-Format yyyy-MM-dd **T HH:mm:ss Z speichert (zum Beispiel: 2021-01-01T** **23:59:59 Z**). Da die Tabelle jedoch nach dem Datetime-Feld [partitioniert](https://docs.aws.amazon.com/athena/latest/ug/partitions.html) ist, müssen Sie sowohl den Datetime- als auch den Eventtime-Filter an die Abfrage übergeben. Sehen Sie sich die folgenden Beispiele an.

**Anmerkung**  
Alle akzeptierten Möglichkeiten zur Änderung des Bereichs finden Sie in der neuesten [Presto-Funktionsdokumentation](https://docs.aws.amazon.com/athena/latest/ug/presto-functions.html), die auf der Athena-Engine-Version basiert, die derzeit für die **Datums- und Uhrzeitfunktionen und -Operatoren** verwendet wird. Dort finden Sie alle akzeptierten Möglichkeiten, den Bereich zu ändern.

**Datumsebene: Letzter Tag oder letzte 24 Stunden (Standard)** Beispiel: Wenn CURRENT\_DATE='2021/01/01' ist, subtrahiert der Filter einen Tag vom aktuellen Datum und formatiert es als Datetime > '2020/12/31'

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

**Datumsebene: Beispiel für die letzten 2** Monate:

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

**Datumsebene: Beispiel zwischen 2 Daten**:

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

**Zeitstempelebene: Beispiel für die letzten 12 Stunden**:

Partitionieren Sie die Daten, die bis zum letzten Tag gescannt wurden, und filtern Sie dann alle Ereignisse der letzten 12 Stunden

```
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')
```

**Zeitstempelebene: Beispiel zwischen zwei Zeitstempeln**:

Holen Sie sich Ereignisse zwischen dem 1. Januar 2021, 12:00 Uhr und dem 10. Januar 2021, 15:00 Uhr.

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

### Beispiele für Standardabfragen
<a name="acc-default-query-examples"></a>

#### `ams_access_session_query_v1`
<a name="ams-access-session-query-v1"></a>

```
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`
<a name="ams-events-query-v1"></a>

```
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`
<a name="ams-instance-access-sessions-query-v1"></a>

```
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`
<a name="ams-privilege-escalation-events-query-v1"></a>

```
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
```

#### `ams_resource_events_query_v1`
<a name="ams-resource-events-query-v1"></a>

```
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
```

#### `ams_session_events_query_v1`
<a name="ams-session-events-query-v1"></a>

```
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
```

#### `ams_session_ids_by_requester_v1`
<a name="ams-session-ids-by-requester-v1"></a>

```
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
```

## Datensatzberechtigungen ändern
<a name="acc-cr-permissions"></a>

Die folgenden Berechtigungen sind erforderlich, um Abfragen zum Ändern von Datensätzen auszuführen:
+ **Athena**
  + Athene: GetWorkGroup
  + Athene: StartQueryExecution
  + Athene: ListDataCatalogs
  + Athene: GetQueryExecution
  + Athene: GetQueryResults
  + Athene: BatchGetNamedQuery
  + Athene: ListWorkGroups
  + Athene: UpdateWorkGroup
  + Athene: GetNamedQuery
  + Athene: ListQueryExecutions
  + Athene: ListNamedQueries
+ **AWS KMS**
  + kms:Decrypt
  + AWS KMS Schlüssel-ID von AMSCloud TrailLogManagement oder Ihre AWS KMS Schlüssel-ID (en), wenn Accelerate Ihren Amazon S3 S3-Bucket-Datenspeicher für CloudTrail Trail-Ereignisse mit [SSE-KMS-Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) verwendet.
+ **AWS Glue**
  + Klebstoff: GetDatabase
  + kleben: GetTables
  + kleben: GetDatabases
  + kleben: GetTable
+ **Amazon S3 S3-Lesezugriff**
  + Amazon S3 CloudTrail S3-Bucket-Datenspeicher: ams-a {{AccountId}} -cloudtrail- oder Ihr Amazon S3 S3-Bucket-Name{{primary region}}, CloudTrail Trail-Ereignisse Amazon S3 S3-Bucket-Datenspeicher.
+ **Amazon S3 S3-Schreibzugriff**
  + Ergebnisse der Athena-Ereignisabfrage Amazon S3 S3-Bucket: {{AccountId}} ams-a athena-results- {{primary region}}