

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.

# Audit des instances de base de données Amazon RDS pour SQL Server
<a name="auditing-rds-sql-instances"></a>

Cette section fournit des informations sur les options d'audit pour SQL Server sur Amazon RDS, notamment la création d'audits, l'affichage des journaux d'audit et le suivi des résultats.

## Prérequis
<a name="rds-prerequisites"></a>
+ Un bucket Amazon Simple Storage Service (Amazon S3) pour stocker les fichiers d'audit
+ Un [rôle Gestion des identités et des accès AWS (IAM) pour accéder au compartiment S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.Audit.html#Appendix.SQLServer.Options.Audit.IAM)
+ Une connexion à la base de données avec l'`CONTROL SERVER`autorisation `ALTER ANY SERVER AUDIT` or

## Versions prises en charge
<a name="rds-versions"></a>
+ Pour Amazon RDS for SQL Server 2014, toutes les éditions prennent en charge les audits au niveau du serveur. L'édition Enterprise prend également en charge les audits au niveau de la base de données.
+ À partir de SQL Server 2016 (13.x) SP1, toutes les éditions prennent en charge les audits au niveau du serveur et au niveau de la base de données.
+ Amazon RDS prend actuellement en charge les audits SQL Server dans tous les Régions AWS pays sauf au Moyen-Orient (Bahreïn). Pour obtenir les dernières informations, consultez [Support for SQL Server Audit](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.Audit.html#Appendix.SQLServer.Options.Audit.Support) dans la documentation Amazon RDS.

## Utilisation du mode d'audit C2
<a name="rds-c2"></a>

Le mode d'audit C2 est un paramètre du groupe de paramètres de base de données Amazon RDS for SQL Server. Ce paramètre est désactivé par défaut. Vous pouvez l'activer en mettant à jour la valeur du paramètre à 1. Lorsque le mode d'audit C2 est activé, il audite les événements tels que les connexions des utilisateurs, les appels de procédure stockée, ainsi que la création et la suppression d'objets. Ce mode peut générer beaucoup de données car il audite tout ou rien.

**Important**  
Microsoft prévoit de supprimer le mode d'audit C2 dans une future version de SQL Server. Nous vous recommandons d'éviter d'utiliser cette fonctionnalité.

## Création et visualisation d'audits
<a name="rds-creating-viewing"></a>

Vous pouvez auditer les bases de données Amazon RDS for SQL Server en utilisant les mécanismes d'audit intégrés de SQL Server qui impliquent la création d'audits et de spécifications d'audit. 
+ Les journaux d'audit sont chargés dans un compartiment S3 à l'aide d'un rôle IAM disposant des autorisations nécessaires pour accéder au compartiment. 
+ Vous pouvez choisir le rôle IAM, le compartiment S3, la compression et la période de rétention lorsque vous créez le groupe d'options. La durée maximale de conservation est de 35 jours.
+ Vous créez le groupe d'options et vous l'attachez à une instance de base de données Amazon RDS for SQL Server nouvelle ou existante.  Les journaux d'audit sont stockés dans`D:\rdsdbdata\SQLAudit`. 
+ Une fois que SQL Server a terminé d'écrire dans un fichier journal d'audit ou lorsque le fichier atteint sa limite de taille, Amazon RDS télécharge le fichier dans votre compartiment S3.
+ Si vous activez la rétention, Amazon RDS déplace le fichier dans le dossier de rétention à `D:\rdsdbdata\SQLAudit\transmitted` l'adresse. Les enregistrements d'audit sont conservés sur l'instance de base de données jusqu'à ce que le fichier de journal soit chargé. 
+ Vous pouvez également trouver des enregistrements d'audit en effectuant une recherche `dbo.rds_fn_get_audit_file` sur. 

Pour les instances Multi-AZ, les objets de spécification d'audit de base de données sont répliqués sur tous les nœuds.  Les spécifications d'audit de serveur et d'audit de serveur ne sont pas répliquées sur tous les nœuds. Vous devez donc les créer manuellement.

### Configuration du groupe d'options
<a name="rds-configure-option-group"></a>

Suivez ces étapes pour configurer un groupe d'options afin d'effectuer un audit SQL Server sur votre instance de base de données Amazon RDS for SQL Server. Pour obtenir des instructions détaillées, consultez la section [SQL Server Audit](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.Audit.html) dans la documentation Amazon RDS.
+ Créez un groupe d'options.
+ Ajoutez l'option [SQLSERVER\$1AUDIT au groupe d'](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html)options.
+ Pour la **destination S3**, créez un nouveau compartiment ou sélectionnez un compartiment existant pour les journaux d'audit.
+ Pour le **rôle IAM**, créez un nouveau rôle ou choisissez un rôle existant avec les politiques requises. Pour plus d'informations, consultez la section [Création manuelle d'un rôle IAM pour SQL Server Audit](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.Audit.html#Appendix.SQLServer.Options.Audit.IAM) dans la documentation IAM.
+ Développez **Informations supplémentaires** et sélectionnez **Activer la compression** pour compresser les journaux d'audit (recommandé).
+ Pour conserver les journaux d'audit de l'instance de base de données, sélectionnez **Activer la rétention** et spécifiez une période de conservation (maximum de 35 jours).
+ Appliquez le groupe d'options à une instance de base de données Amazon RDS for SQL Server nouvelle ou existante.
  + Pour une nouvelle instance de base de données, appliquez le groupe d'options lorsque vous lancez l'instance.
  + Pour une instance de base de données existante, [modifiez l'instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) et attachez le groupe d'options.

### Création d'audits
<a name="rds-create-audit"></a>

Pour créer un audit de serveur, utilisez le script suivant. Ce script crée le fichier d'audit dans le chemin de fichier que vous spécifiez. Pour la syntaxe, les arguments et les exemples, consultez la [documentation Microsoft SQL Server](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-server-audit-transact-sql?view=sql-server-ver16). Pour éviter les erreurs, consultez la liste des limitations répertoriées dans la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.Audit.html#Appendix.SQLServer.Options.Audit.CreateAuditsAndSpecifications)

```
--Creating the server audit
 use master
 GO
 CREATE SERVER AUDIT [Audit-<<servername>>]
 TO FILE  ( FILEPATH = N'D:\rdsdbdata\SQLAudit', MAXSIZE = 2 MB, RESERVE_DISK_SPACE = OFF)
 WITH ( QUEUE_DELAY = 1000, ON_FAILURE = CONTINUE)
 GO
-- Enabling the server audit  
 ALTER SERVER AUDIT [Audit-<<servername>>] WITH (STATE = ON) ;
 GO
```

### Création de spécifications d'audit
<a name="rds-create-audit-spec"></a>

Après avoir créé un audit de serveur, vous pouvez enregistrer des événements au niveau du serveur en créant une spécification d'audit de serveur à l'aide du code suivant. Cette spécification détermine ce qui sera vérifié lors de l'audit du serveur. Pour la syntaxe, les arguments et les exemples, consultez la [documentation Microsoft SQL Server](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-server-audit-specification-transact-sql). La spécification suivante vérifie l'échec des actions de connexion et suit la création, la modification et la suppression des objets du serveur. Pour obtenir la liste des actions, consultez la [documentation de Microsoft SQL Server](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions).

```
--Creating server audit specification
 USE [master]
 GO
 CREATE SERVER AUDIT SPECIFICATION [Audit-Spec-<<servername>>]
 FOR SERVER AUDIT  [Audit-<<servername>>]
 ADD (FAILED_LOGIN_GROUP), ADD (SERVER_OBJECT_CHANGE_GROUP)
 GO
--Enables the audit 
 ALTER SERVER AUDIT [Audit-<<servername>>]  
 WITH (STATE = ON);  
 GO
```

Vous pouvez utiliser le code suivant pour créer une spécification d'audit de base de données qui enregistre les événements au niveau de la base de données. Cet exemple permet d'auditer `INSERT` les actions. Pour la syntaxe, les arguments et d'autres exemples, consultez la [documentation Microsoft SQL Server](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-database-audit-specification-transact-sql).

```
--Creating database audit specification
 USE [<<DBName>>]
 GO
 
 CREATE DATABASE AUDIT SPECIFICATION [DatabaseAuditSpecification-<<DBName>>]
 FOR SERVER AUDIT [Audit-<<ServerName>>]
 ADD (INSERT ON DATABASE::[<<DBName>>] BY [dbo])
 WITH (STATE = ON)
 GO
```

### Consultation des journaux d'audit
<a name="rds-view-audit-log"></a>

Utilisez la requête suivante pour consulter les journaux d'audit. Les journaux d'audit sont conservés dans l'instance de base de données jusqu'à ce qu'ils soient téléchargés sur Amazon S3. Si vous activez la rétention pour l'[option SQLSERVER\$1AUDIT](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html), Amazon RDS déplace le fichier dans le dossier de rétention. `D:\rdsdbdata\SQLAudit\transmitted`

Vous pouvez également consulter les enregistrements d'audit dans le dossier de rétention en modifiant le filtre en`D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit`.

```
--Viewing audit logs
SELECT   * 
	FROM     msdb.dbo.rds_fn_get_audit_file
	             ('D:\rdsdbdata\SQLAudit\*.sqlaudit'
	             , default
	             , default )
--Viewing audit logs in retention folder
SELECT   * 
	FROM     msdb.dbo.rds_fn_get_audit_file
	             ('D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit'
	             , default
	             , default )
```

Des options supplémentaires pour l'audit des bases de données SQL Server sont décrites dans ce qui suit AWS et dans la documentation Microsoft :
+ Événements étendus sur SQL Server : consultez le billet de AWS blog [Configurer des événements étendus dans Amazon RDS for SQL Server](https://aws.amazon.com/blogs/database/set-up-extended-events-in-amazon-rds-for-sql-server/).
+ Déclencheurs SQL Server : consultez la section [Création d'une règle déclenchant un événement Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-cloud-watch-events.html) dans la documentation Amazon RDS.
+ Suivi des modifications : voir [Suivi des modifications des données](https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/track-data-changes-sql-server) dans la documentation de Microsoft SQL Server.
+ Capture des données de modification : consultez la section [Utilisation de la capture des données de modification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.CDC.html) dans la documentation Amazon RDS.
+ Paramètre du mode d'[audit C2 : voir l'option de configuration du serveur du mode](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/c2-audit-mode-server-configuration-option) d'audit c2 dans la documentation de Microsoft SQL Server.

## Surveillance
<a name="rds-monitoring"></a>

Vous pouvez utiliser les flux d'activité de base de données dans Amazon RDS pour intégrer les événements d'audit SQL Server aux outils de surveillance de l'activité des bases de données d'Imperva et d' McAfeeIBM. Pour plus d'informations, consultez la section [Audit dans Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/DBActivityStreams.Overview.html#DBActivityStreams.Overview.SQLServer-auditing) dans la documentation Amazon RDS.