

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Contenu du journal d’audit et exemples pour les flux d’activité de base de données
<a name="DBActivityStreams.AuditLog"></a>

Les événements surveillés sont représentés dans le flux d’activité de base de données sous la forme de chaînes JSON. La structure se compose d’un objet JSON contenant un `DatabaseActivityMonitoringRecord`, qui contient lui-même un tableau des événements d’activité `databaseActivityEventList`. 

**Note**  
Pour les flux d’activité de base de données, le tableau JSON `paramList` n’inclut pas les valeurs null des applications Hibernate.

**Topics**
+ [Exemples de journaux d’audit de flux d’activité](#DBActivityStreams.AuditLog.Examples)
+ [DatabaseActivityMonitoringRecords Objet JSON](#DBActivityStreams.AuditLog.DatabaseActivityMonitoringRecords)
+ [databaseActivityEvents Objet JSON](#DBActivityStreams.AuditLog.databaseActivityEvents)

## Exemples de journaux d’audit de flux d’activité
<a name="DBActivityStreams.AuditLog.Examples"></a>

Vous trouverez ci-après des exemples de journaux d’audits JSON déchiffrés d’enregistrements d’événements d’activité.

**Example Enregistrement d'événement d'activité d'une instruction SQL Aurora PostgreSQL**  
L’enregistrement d’événement d’activité suivant indique une connexion à l’aide d’une instruction SQL `CONNECT` (`command`) par un client psql (`clientApplication`).  

```
{
  "type":"DatabaseActivityMonitoringRecords",
  "version":"1.1",
  "databaseActivityEvents": 
    {
      "type":"DatabaseActivityMonitoringRecord",
      "clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ",
      "instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM",
      "databaseActivityEventList":[
        {
          "startTime": "2019-10-30 00:39:49.940668+00",
          "logTime": "2019-10-30 00:39:49.990579+00",
          "statementId": 1,
          "substatementId": 1,
          "objectType": null,
          "command": "CONNECT",
          "objectName": null,
          "databaseName": "postgres",
          "dbUserName": "rdsadmin",
          "remoteHost": "172.31.3.195",
          "remotePort": "49804",
          "sessionId": "5ce5f7f0.474b",
          "rowCount": null,
          "commandText": null,
          "paramList": [],
          "pid": 18251,
          "clientApplication": "psql",
          "exitCode": null,
          "class": "MISC",
          "serverVersion": "2.3.1",
          "serverType": "PostgreSQL",
          "serviceName": "Amazon Aurora PostgreSQL-Compatible edition",
          "serverHost": "172.31.3.192",
          "netProtocol": "TCP",
          "dbProtocol": "Postgres 3.0",
          "type": "record",
          "errorMessage": null
        }
      ]
    },
   "key":"decryption-key"
}
```

**Example Enregistrement d’événement d’activité d’une instruction Aurora MySQL CONNECT SQL**  
L’enregistrement d’événement d’activité suivant indique une connexion à l’aide d’une instruction SQL `CONNECT` (`command`) par un client mysql (`clientApplication`).   

```
{
  "type":"DatabaseActivityMonitoringRecord",
  "clusterId":"cluster-some_id",
  "instanceId":"db-some_id",
  "databaseActivityEventList":[
    {
      "logTime":"2020-05-22 18:07:13.267214+00",
      "type":"record",
      "clientApplication":null,
      "pid":2830,
      "dbUserName":"rdsadmin",
      "databaseName":"",
      "remoteHost":"localhost",
      "remotePort":"11053",
      "command":"CONNECT",
      "commandText":"",
      "paramList":null,
      "objectType":"TABLE",
      "objectName":"",
      "statementId":0,
      "substatementId":1,
      "exitCode":"0",
      "sessionId":"725121",
      "rowCount":0,
      "serverHost":"master",
      "serverType":"MySQL",
      "serviceName":"Amazon Aurora MySQL",
      "serverVersion":"MySQL 5.7.12",
      "startTime":"2020-05-22 18:07:13.267207+00",
      "endTime":"2020-05-22 18:07:13.267213+00",
      "transactionId":"0",
      "dbProtocol":"MySQL",
      "netProtocol":"TCP",
      "errorMessage":"",
      "class":"MAIN"
    }
  ]
}
```

**Example Registre d’événement d’activité d’une instruction Aurora PostgreSQL CREATE TABLE**  
L’exemple suivant montre un événement `CREATE TABLE` pour Aurora PostgreSQL.  

```
{
  "type":"DatabaseActivityMonitoringRecords",
  "version":"1.1",
  "databaseActivityEvents": 
    {
      "type":"DatabaseActivityMonitoringRecord",
      "clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ",
      "instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM",
      "databaseActivityEventList":[
        {
          "startTime": "2019-05-24 00:36:54.403455+00",
          "logTime": "2019-05-24 00:36:54.494235+00",
          "statementId": 2,
          "substatementId": 1,
          "objectType": null,
          "command": "CREATE TABLE",
          "objectName": null,
          "databaseName": "postgres",
          "dbUserName": "rdsadmin",
          "remoteHost": "172.31.3.195",
          "remotePort": "34534",
          "sessionId": "5ce73c6f.7e64",
          "rowCount": null,
          "commandText": "create table my_table (id serial primary key, name varchar(32));",
          "paramList": [],
          "pid": 32356,
          "clientApplication": "psql",
          "exitCode": null,
          "class": "DDL",
          "serverVersion": "2.3.1",
          "serverType": "PostgreSQL",
          "serviceName": "Amazon Aurora PostgreSQL-Compatible edition",
          "serverHost": "172.31.3.192",
          "netProtocol": "TCP",
          "dbProtocol": "Postgres 3.0",
          "type": "record",
          "errorMessage": null
        }
      ]
    },
   "key":"decryption-key"
}
```

**Example Enregistrement d’événement d’activité d’une instruction CREATE TABLE Aurora MySQL**  
L’exemple suivant montre une instruction `CREATE TABLE` pour Aurora MySQL. L’opération est représentée sous la forme de deux enregistrements d’événements distincts. Un événement a `"class":"MAIN"`. L’autre événement a `"class":"AUX"`. Les messages peuvent arriver dans n’importe quel ordre. Le champ `logTime` de l’événement `MAIN` est toujours antérieur au champ `logTime` des événements `AUX` correspondants.  
L’exemple suivant montre l’événement avec une valeur `class` de `MAIN`.   

```
{
  "type":"DatabaseActivityMonitoringRecord",
  "clusterId":"cluster-some_id",
  "instanceId":"db-some_id",
  "databaseActivityEventList":[
    {
      "logTime":"2020-05-22 18:07:12.250221+00",
      "type":"record",
      "clientApplication":null,
      "pid":2830,
      "dbUserName":"master",
      "databaseName":"test",
      "remoteHost":"localhost",
      "remotePort":"11054",
      "command":"QUERY",
      "commandText":"CREATE TABLE test1 (id INT)",
      "paramList":null,
      "objectType":"TABLE",
      "objectName":"test1",
      "statementId":65459278,
      "substatementId":1,
      "exitCode":"0",
      "sessionId":"725118",
      "rowCount":0,
      "serverHost":"master",
      "serverType":"MySQL",
      "serviceName":"Amazon Aurora MySQL",
      "serverVersion":"MySQL 5.7.12",
      "startTime":"2020-05-22 18:07:12.226384+00",
      "endTime":"2020-05-22 18:07:12.250222+00",
      "transactionId":"0",
      "dbProtocol":"MySQL",
      "netProtocol":"TCP",
      "errorMessage":"",
      "class":"MAIN"
    }
  ]
}
```
 L’exemple suivant montre l’événement correspondant avec une valeur `class` de `AUX`.  

```
{
  "type":"DatabaseActivityMonitoringRecord",
  "clusterId":"cluster-some_id",
  "instanceId":"db-some_id",
  "databaseActivityEventList":[
    {
      "logTime":"2020-05-22 18:07:12.247182+00",
      "type":"record",
      "clientApplication":null,
      "pid":2830,
      "dbUserName":"master",
      "databaseName":"test",
      "remoteHost":"localhost",
      "remotePort":"11054",
      "command":"CREATE",
      "commandText":"test1",
      "paramList":null,
      "objectType":"TABLE",
      "objectName":"test1",
      "statementId":65459278,
      "substatementId":2,
      "exitCode":"",
      "sessionId":"725118",
      "rowCount":0,
      "serverHost":"master",
      "serverType":"MySQL",
      "serviceName":"Amazon Aurora MySQL",
      "serverVersion":"MySQL 5.7.12",
      "startTime":"2020-05-22 18:07:12.226384+00",
      "endTime":"2020-05-22 18:07:12.247182+00",
      "transactionId":"0",
      "dbProtocol":"MySQL",
      "netProtocol":"TCP",
      "errorMessage":"",
      "class":"AUX"
    }
  ]
}
```

**Example Registre d’événement d’activité d’une instruction Aurora PostgreSQL SELECT**  
L’exemple suivant montre un événement `SELECT` .  

```
{
  "type":"DatabaseActivityMonitoringRecords",
  "version":"1.1",
  "databaseActivityEvents": 
    {
      "type":"DatabaseActivityMonitoringRecord",
      "clusterId":"cluster-4HNY5V4RRNPKKYB7ICFKE5JBQQ",
      "instanceId":"db-FZJTMYKCXQBUUZ6VLU7NW3ITCM",
      "databaseActivityEventList":[
        {
          "startTime": "2019-05-24 00:39:49.920564+00",
          "logTime": "2019-05-24 00:39:49.940668+00",
          "statementId": 6,
          "substatementId": 1,
          "objectType": "TABLE",
          "command": "SELECT",
          "objectName": "public.my_table",
          "databaseName": "postgres",
          "dbUserName": "rdsadmin",
          "remoteHost": "172.31.3.195",
          "remotePort": "34534",
          "sessionId": "5ce73c6f.7e64",
          "rowCount": 10,
          "commandText": "select * from my_table;",
          "paramList": [],
          "pid": 32356,
          "clientApplication": "psql",
          "exitCode": null,
          "class": "READ",
          "serverVersion": "2.3.1",
          "serverType": "PostgreSQL",
          "serviceName": "Amazon Aurora PostgreSQL-Compatible edition",
          "serverHost": "172.31.3.192",
          "netProtocol": "TCP",
          "dbProtocol": "Postgres 3.0",
          "type": "record",
          "errorMessage": null
        }
      ]
    },
   "key":"decryption-key"
}
```

```
{
    "type": "DatabaseActivityMonitoringRecord",
    "clusterId": "",
    "instanceId": "db-4JCWQLUZVFYP7DIWP6JVQ77O3Q",
    "databaseActivityEventList": [
        {
            "class": "TABLE",
            "clientApplication": "Microsoft SQL Server Management Studio - Query",
            "command": "SELECT",
            "commandText": "select * from [testDB].[dbo].[TestTable]",
            "databaseName": "testDB",
            "dbProtocol": "SQLSERVER",
            "dbUserName": "test",
            "endTime": null,
            "errorMessage": null,
            "exitCode": 1,
            "logTime": "2022-10-06 21:24:59.9422268+00",
            "netProtocol": null,
            "objectName": "TestTable",
            "objectType": "TABLE",
            "paramList": null,
            "pid": null,
            "remoteHost": "local machine",
            "remotePort": null,
            "rowCount": 0,
            "serverHost": "172.31.30.159",
            "serverType": "SQLSERVER",
            "serverVersion": "15.00.4073.23.v1.R1",
            "serviceName": "sqlserver-ee",
            "sessionId": 62,
            "startTime": null,
            "statementId": "0x03baed90412f564fad640ebe51f89b99",
            "substatementId": 1,
            "transactionId": "4532935",
            "type": "record",
            "engineNativeAuditFields": {
                "target_database_principal_id": 0,
                "target_server_principal_id": 0,
                "target_database_principal_name": "",
                "server_principal_id": 2,
                "user_defined_information": "",
                "response_rows": 0,
                "database_principal_name": "dbo",
                "target_server_principal_name": "",
                "schema_name": "dbo",
                "is_column_permission": true,
                "object_id": 581577110,
                "server_instance_name": "EC2AMAZ-NFUJJNO",
                "target_server_principal_sid": null,
                "additional_information": "",
                "duration_milliseconds": 0,
                "permission_bitmask": "0x00000000000000000000000000000001",
                "data_sensitivity_information": "",
                "session_server_principal_name": "test",
                "connection_id": "AD3A5084-FB83-45C1-8334-E923459A8109",
                "audit_schema_version": 1,
                "database_principal_id": 1,
                "server_principal_sid": "0x010500000000000515000000bdc2795e2d0717901ba6998cf4010000",
                "user_defined_event_id": 0,
                "host_name": "EC2AMAZ-NFUJJNO"
            }
        }
    ]
}
```

**Example Enregistrement d’événement d’activité d’une instruction SELECT Aurora MySQL**  
L’exemple suivant montre un événement `SELECT`.  
 L’exemple suivant montre l’événement avec une valeur `class` de `MAIN`.   

```
{
  "type":"DatabaseActivityMonitoringRecord",
  "clusterId":"cluster-some_id",
  "instanceId":"db-some_id",
  "databaseActivityEventList":[
    {
      "logTime":"2020-05-22 18:29:57.986467+00",
      "type":"record",
      "clientApplication":null,
      "pid":2830,
      "dbUserName":"master",
      "databaseName":"test",
      "remoteHost":"localhost",
      "remotePort":"11054",
      "command":"QUERY",
      "commandText":"SELECT * FROM test1 WHERE id < 28",
      "paramList":null,
      "objectType":"TABLE",
      "objectName":"test1",
      "statementId":65469218,
      "substatementId":1,
      "exitCode":"0",
      "sessionId":"726571",
      "rowCount":2,
      "serverHost":"master",
      "serverType":"MySQL",
      "serviceName":"Amazon Aurora MySQL",
      "serverVersion":"MySQL 5.7.12",
      "startTime":"2020-05-22 18:29:57.986364+00",
      "endTime":"2020-05-22 18:29:57.986467+00",
      "transactionId":"0",
      "dbProtocol":"MySQL",
      "netProtocol":"TCP",
      "errorMessage":"",
      "class":"MAIN"
    }
  ]
}
```
 L’exemple suivant montre l’événement correspondant avec une valeur `class` de `AUX`.   

```
{
  "type":"DatabaseActivityMonitoringRecord",
  "instanceId":"db-some_id",
  "databaseActivityEventList":[
    {
      "logTime":"2020-05-22 18:29:57.986399+00",
      "type":"record",
      "clientApplication":null,
      "pid":2830,
      "dbUserName":"master",
      "databaseName":"test",
      "remoteHost":"localhost",
      "remotePort":"11054",
      "command":"READ",
      "commandText":"test1",
      "paramList":null,
      "objectType":"TABLE",
      "objectName":"test1",
      "statementId":65469218,
      "substatementId":2,
      "exitCode":"",
      "sessionId":"726571",
      "rowCount":0,
      "serverHost":"master",
      "serverType":"MySQL",
      "serviceName":"Amazon Aurora MySQL",
      "serverVersion":"MySQL 5.7.12",
      "startTime":"2020-05-22 18:29:57.986364+00",
      "endTime":"2020-05-22 18:29:57.986399+00",
      "transactionId":"0",
      "dbProtocol":"MySQL",
      "netProtocol":"TCP",
      "errorMessage":"",
      "class":"AUX"
    }
  ]
}
```

## DatabaseActivityMonitoringRecords Objet JSON
<a name="DBActivityStreams.AuditLog.DatabaseActivityMonitoringRecords"></a>

Les enregistrements d’événement d’activité de base de données se trouvent dans un objet JSON qui contient les informations suivantes.


****  

| Champ JSON | Type de données | Description | 
| --- | --- | --- | 
|  `type`  | chaîne |  Type de l’enregistrement JSON. La valeur est `DatabaseActivityMonitoringRecords`.  | 
| version | chaîne |  Version des enregistrements de surveillance d’activité de base de données. La version des enregistrements d’activité de base de données générés dépend de la version du moteur du cluster de bases de données. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.AuditLog.html)Tous les champs suivants sont à la fois dans la version 1.0 et dans la version 1.1, sauf indication spécifique. | 
|  [databaseActivityEvents](#DBActivityStreams.AuditLog.databaseActivityEvents)  | chaîne |  Objet JSON qui contient les événements d’activité.  | 
| key | chaîne | Clé de chiffrement que vous utilisez pour déchiffrer [Tableau JSON databaseActivityEventList](DBActivityStreams.AuditLog.databaseActivityEventList.md)  | 

## databaseActivityEvents Objet JSON
<a name="DBActivityStreams.AuditLog.databaseActivityEvents"></a>

L’objet JSON `databaseActivityEvents` contient les informations suivantes.

### Champs de niveau supérieur dans l’enregistrement JSON
<a name="DBActivityStreams.AuditLog.topLevel"></a>

 Chaque événement du journal d’audit est encapsulé dans un enregistrement au format JSON. Cet enregistrement contient les champs suivants. 

**type**  
 Ce champ a toujours la valeur `DatabaseActivityMonitoringRecords`. 

**version ;**  
 Ce champ représente la version du contrat ou du protocole de données de flux d’activité de base de données. Il définit les champs disponibles.  
La version 1.0 représente la prise en charge des flux d’activité de données d’origine pour Aurora PostgreSQL versions 10.7 et 11.4. La version 1.1 représente la prise en charge des flux d’activité de données pour Aurora PostgreSQL versions 10.10 et ultérieures et Aurora PostgreSQL version 11.5 et ultérieures. La version 1.1 inclut les champs supplémentaires `errorMessage` et `startTime`. La version 1.2 représente la prise en charge des flux d’activité de données pour Aurora MySQL version 2.08 et ultérieures. La version 1.2 inclut les champs supplémentaires `endTime` et `transactionId`.

**databaseActivityEvents**  
 Chaîne chiffrée représentant un ou plusieurs événements d’activité. Elle est représentée sou la forme d’un tableau base64 octets. Lorsque vous déchiffrez la chaîne, le résultat est un enregistrement au format JSON avec des champs comme ceux des exemples de cette section.

**key**  
 Clé de données chiffrée utilisée pour chiffrer la chaîne `databaseActivityEvents`. Il s'agit du même AWS KMS key que celui que vous avez fourni lorsque vous avez démarré le flux d'activité de la base de données.

 L’exemple suivant illustre le format de cet enregistrement.

```
{
  "type":"DatabaseActivityMonitoringRecords",
  "version":"1.1",
  "databaseActivityEvents":"encrypted audit records",
  "key":"encrypted key"
}
```

Pour déchiffrer le contenu du champ `databaseActivityEvents`, procédez comme suit :

1.  Déchiffrez la valeur dans le champ JSON `key` à l’aide de la clé KMS que vous avez fournie lors du démarrage du flux d’activité de base de données. Cette opération renvoie la clé de chiffrement des données en texte clair. 

1.  Décodez en base64 la valeur dans le champ JSON `databaseActivityEvents` pour obtenir le texte chiffré, au format binaire, de la charge utile d’audit. 

1.  Déchiffrez le chiffrement binaire avec la clé de chiffrement de données que vous avez décodée au cours de la première étape. 

1.  Décompressez la charge utile déchiffrée. 
   +  La charge utile chiffrée se trouve dans le champ `databaseActivityEvents`. 
   +  Le champ `databaseActivityEventList` contient un tableau d’enregistrements d’audits. Les champs `type` du tableau peuvent être `record` ou `heartbeat`. 

L’enregistrement d’événement d’activité du journal d’audit est un objet JSON qui contient les informations suivantes.


****  

| Champ JSON | Type de données | Description | 
| --- | --- | --- | 
|  `type`  | chaîne |  Type de l’enregistrement JSON. La valeur est `DatabaseActivityMonitoringRecord`.  | 
| clusterId | chaîne | Identifiant de ressource de cluster de base de données. Il correspond à l’attribut de cluster de bases de donnéesDbClusterResourceId. | 
| instanceId | chaîne | Identifiant de ressource d’instance de base de données. Il correspond à l’attribut d’instance de base de données DbiResourceId. | 
|  [Tableau JSON databaseActivityEventList](DBActivityStreams.AuditLog.databaseActivityEventList.md)   | chaîne |  Tableau d’enregistrements d’audits d’activité ou de messages de pulsations.  | 