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.
Journalisation des audits DB2
Avec la journalisation des audits DB2, Amazon RDS enregistre l'activité de la base de données, y compris les utilisateurs qui se connectent à la base de données et les requêtes exécutées sur la base de données. RDS télécharge les journaux d'audit complets dans votre compartiment Amazon S3, en utilisant le rôle AWS Identity and Access Management (IAM) que vous fournissez.
Rubriques
Configuration de la journalisation des audits DB2
Pour activer la journalisation des audits pour une base de données Amazon RDS pour DB2, vous devez activer l'DB2_AUDIT
option sur l'instance de base de données RDS pour DB2. Configurez ensuite une politique d'audit pour activer la fonctionnalité pour la base de données spécifique. Pour activer l'option sur l'instance de base de données RDS pour DB2, vous configurez les paramètres de l'DB2_AUDIT
option. Pour ce faire, vous devez fournir les noms de ressources Amazon (ARNs) pour votre compartiment Amazon S3 et le rôle IAM avec les autorisations d'accès à votre compartiment.
Pour configurer la journalisation d'audit DB2 pour une base de données RDS pour DB2, procédez comme suit.
Étape 1 : Créer un compartiment Amazon S3
Si ce n'est pas déjà fait, créez un compartiment Amazon S3 dans lequel Amazon RDS peut télécharger les fichiers journaux d'audit de votre base de données RDS for DB2. Les restrictions suivantes s'appliquent au compartiment S3 que vous utilisez comme cible pour vos fichiers d'audit :
-
Il doit se trouver dans le même emplacement Région AWS que votre instance de base de données RDS pour DB2.
-
Il ne doit pas être ouvert au public.
-
Le propriétaire du compartiment doit également être le propriétaire du rôle IAM.
Pour savoir comment créer un compartiment Amazon S3, consultez la section Création d'un compartiment dans le guide de l'utilisateur Amazon S3.
Une fois que vous avez activé la journalisation des audits, Amazon RDS envoie automatiquement les journaux depuis votre instance de base de données vers les emplacements suivants :
-
Journaux au niveau des instances de base de données —
bucket_name
/db2-audit-logs/dbi_resource_id
/date_time_utc
/ -
Journaux au niveau des bases de données :
bucket_name
/db2-audit-logs/dbi_resource_id
/date_time_utc
/db_name
/
Prenez note de l'Amazon Resource Name (ARN) de votre compartiment. Ces informations sont nécessaires pour effectuer les étapes suivantes.
Étape 2 : Création d'une politique IAM
Créez une politique IAM avec les autorisations requises pour transférer les fichiers journaux d'audit de votre instance de base de données vers votre compartiment Amazon S3. Cette étape suppose que vous disposez d'un compartiment S3.
Avant de créer la politique, collectez les informations suivantes :
-
L'ARN de votre bucket.
-
L'ARN de votre clé AWS Key Management Service (AWS KMS), si votre compartiment utilise SSE-KMS le chiffrement.
Créez une politique IAM qui inclut les autorisations suivantes :
"s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:ListAllMyBuckets"
Note
Amazon RDS a besoin d'une s3:ListAllMyBuckets
action interne pour vérifier qu'il Compte AWS est propriétaire à la fois du compartiment S3 et de l'instance de base de données RDS pour DB2.
Si votre compartiment utilise SSE-KMS le chiffrement, incluez également les autorisations suivantes pour votre rôle et votre AWS KMS clé IAM.
Incluez les autorisations suivantes dans la politique de votre rôle IAM.
"kms:GenerateDataKey", "kms:Decrypt"
Incluez les autorisations suivantes dans la politique de clé pour votre AWS KMS clé. 111122223333
Remplacez-le par votre numéro de compte et AROA123456789EXAMPLE
par le nom de votre rôle IAM.
{ "Sid": "Allow RDS role to use the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:sts::
111122223333
:assumed-role/AROA123456789EXAMPLE
/RDS-Db2Audit", "arn:aws:iam::111122223333
:role/AROA123456789EXAMPLE
" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }
Vous pouvez créer une politique IAM en utilisant le AWS Management Console ou le AWS Command Line Interface (AWS CLI).
Pour créer une politique IAM afin d'autoriser Amazon RDS à accéder à votre compartiment Amazon S3
Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/
l'adresse. -
Dans le volet de navigation, choisissez Politiques.
-
Choisissez Create policy, puis choisissez JSON.
-
Dans Ajouter des actions, filtrez par S3. Ajoutez l'accès ListBucketGetBucketAcl, et GetBucketLocation.
-
Pour Ajouter une ressource, choisissez Ajouter. Pour Type de ressource, choisissez bucket, puis entrez le nom de votre bucket. Choisissez ensuite Ajouter une ressource.
-
Choisissez Ajouter un nouveau relevé.
-
Dans Ajouter des actions, filtrez par S3. Ajoutez l'accès PutObjectListMultipartUploadParts, et AbortMultipartUpload.
-
Pour Ajouter une ressource, choisissez Ajouter. Pour Type de ressource, choisissez un objet, puis entrez
your bucket name/*
. Choisissez ensuite Ajouter une ressource. -
Choisissez Ajouter un nouveau relevé.
-
Dans Ajouter des actions, filtrez par S3. Ajoutez un accès ListAllMyBuckets.
-
Pour Ajouter une ressource, choisissez Ajouter. Pour Type de ressource, sélectionnez Toutes les ressources. Choisissez ensuite Ajouter une ressource.
-
Si vous utilisez vos propres clés KMS pour chiffrer les données :
-
Choisissez Ajouter un nouveau relevé.
-
Dans Ajouter des actions, filtrez par KMS. Ajoutez l'accès GenerateDataKeyet déchiffrez.
-
Pour Ajouter une ressource, choisissez Ajouter. Pour Type de ressource, sélectionnez Toutes les ressources. Choisissez ensuite Ajouter une ressource.
-
-
Choisissez Suivant.
-
Dans Nom de la stratégie, entrez le nom de cette stratégie.
-
(Facultatif) Pour Description, saisissez une description pour cette stratégie.
-
Choisissez Create Policy (Créer une politique).
Pour créer une politique IAM afin d'autoriser Amazon RDS à accéder à votre compartiment Amazon S3
-
Exécutez la commande create-policy. Dans l'exemple suivant, remplacez
iam_policy_name
etamzn-s3-demo-bucket
par le nom de votre politique IAM et le nom de votre compartiment Amazon S3 cible.Pour LinuxmacOS, ou Unix :
aws iam create-policy \ --policy-name
iam_policy_name
\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
" ] }, { "Sid": "Statement2", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] }, { "Sid": "Statement3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "Statement4", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "*" ] } ] }'Dans Windows :
aws iam create-policy ^ --policy-name
iam_policy_name
^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
" ] }, { "Sid": "Statement2", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] }, { "Sid": "Statement3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "Statement4", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "*" ] } ] }' -
Une fois la stratégie créée, notez son ARN. Vous avez besoin de l'ARN pourÉtape 3 : créer un rôle IAM et associer votre politique IAM.
Pour plus d'informations sur la création d'une stratégie IAM, consultez la section Création de politiques IAM dans le Guide de l'utilisateur IAM.
Étape 3 : créer un rôle IAM et associer votre politique IAM
Cette étape suppose que vous avez créé la politique IAM dansÉtape 2 : Création d'une politique IAM. Au cours de cette étape, vous créez un rôle IAM pour votre instance de base de données RDS pour DB2, puis vous attachez votre politique IAM au rôle.
Vous pouvez créer un rôle IAM pour votre instance de base de données à l'aide de la console ou du AWS CLI.
Pour créer un rôle IAM et y associer votre politique IAM
Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/
l'adresse. -
Dans le panneau de navigation, choisissez Roles (Rôles).
-
Sélectionnez Create role (Créer un rôle).
-
Pour Type d'entité de confiance, sélectionnez Service AWS.
-
Pour Service ou cas d'utilisation, sélectionnez RDS, puis sélectionnez RDS — Ajouter un rôle à la base de données.
-
Choisissez Suivant.
-
Pour les politiques d'autorisations, recherchez et sélectionnez le nom de la politique IAM que vous avez créée.
-
Choisissez Suivant.
-
Pour Role name (Nom du rôle), saisissez un nom de rôle.
-
(Facultatif) Pour Description, saisissez une description pour le nouveau rôle.
-
Choisissez Créer un rôle.
Pour créer un rôle IAM et y associer votre politique IAM
-
Exécutez la commande create-role. Dans l'exemple suivant, remplacez-le
iam_role_name
par le nom de votre rôle IAM.Pour LinuxmacOS, ou Unix :
aws iam create-role \ --role-name
iam_role_name
\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'Dans Windows :
aws iam create-role ^ --role-name
iam_role_name
^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }' -
Une fois le rôle créé, notez l'ARN de ce rôle. Vous avez besoin de cet ARN pour l'étape suivante,Étape 4 : Configuration d'un groupe d'options pour la journalisation des audits DB2.
-
Exécutez la commande attach-role-policy. Dans l'exemple suivant, remplacez
iam_policy_arn
par l'ARN de la politique IAM que vous avez créée dansÉtape 2 : Création d'une politique IAM.iam_role_name
Remplacez-le par le nom du rôle IAM que vous venez de créer.Pour LinuxmacOS, ou Unix :
aws iam attach-role-policy \ --policy-arn
iam_policy_arn
\ --role-nameiam_role_name
Dans Windows :
aws iam attach-role-policy ^ --policy-arn
iam_policy_arn
^ --role-nameiam_role_name
Pour plus d’informations, consultez Création d’un rôle pour déléguer des autorisations à un utilisateur IAM dans le Guide de l’utilisateur IAM.
Étape 4 : Configuration d'un groupe d'options pour la journalisation des audits DB2
Le processus d'ajout de l'option de journalisation d'audit Db2 à une instance de base de données RDS pour DB2 est le suivant :
-
Créer un groupe d'options ou copier ou modifier un groupe existant.
-
Ajouter et configurer toutes les options requises.
-
Associez le groupe d'options à l'instance de base de données.
Une fois que vous avez ajouté l'option de journalisation d'audit Db2, vous n'avez pas besoin de redémarrer votre instance de base de données. Dès que le groupe d'options est actif, vous pouvez créer des audits et stocker les journaux d'audit dans votre compartiment S3.
Pour ajouter et configurer la journalisation d'audit DB2 sur le groupe d'options d'une instance de base de données
-
Choisissez l'une des méthodes suivantes :
-
Utiliser un groupe d'options existant.
-
Créez un groupe d'options de base de données personnalisé et utilisez-le. Pour de plus amples informations, veuillez consulter Création d'un groupe d'options.
-
-
Ajoutez l'option DB2_AUDIT au groupe d'options et configurez les paramètres de l'option. Pour plus d'informations sur l'ajout d'options, consultez Ajout d'une option à un groupe d'options.
-
Pour IAM_ROLE_ARN, entrez l'ARN du rôle IAM que vous avez créé dans. Étape 3 : créer un rôle IAM et associer votre politique IAM
-
Pour S3_BUCKET_ARN, entrez l'ARN du compartiment S3 à utiliser pour vos journaux d'audit DB2. Le bucket doit se trouver dans la même région que votre instance de base de données RDS pour DB2. La politique associée au rôle IAM que vous avez saisi doit autoriser les opérations requises sur cette ressource.
-
-
Appliquez le groupe d'options à une instance de base de données nouvelle ou existante. Choisissez l'une des méthodes suivantes :
-
Si vous créez une nouvelle instance de base de données, appliquez le groupe d'options lorsque vous lancez l'instance.
-
Sur une instance de base de données existante, appliquez le groupe d'options en modifiant l'instance et en attachant le nouveau groupe d'options. Pour de plus amples informations, veuillez consulter Modification d'une RDS instance de base de données Amazon.
-
Étape 5 : Configuration de la politique d'audit
Pour configurer la politique d'audit de votre base de données RDS pour DB2, connectez-vous à la rdsadmin
base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Appelez ensuite la procédure rdsadmin.configure_db_audit
stockée avec le nom de base de données de votre base de données et les valeurs de paramètres applicables.
L'exemple suivant se connecte à la base de données et configure une politique d'audit pour les testdb
catégories AUDIT, CHECKING, OBJMAINT, SECMAINT, SYSADMIN et VALIDATE. La valeur d'état BOTH
enregistre les réussites et les échecs, et ERROR TYPE
c'est le cas NORMAL
par défaut. Pour plus d'informations sur l'utilisation de cette procédure stockée, consultezrdsadmin.configure_db_audit.
db2 "connect to rdsadmin user
master_user
usingmaster_password
" db2 "call rdsadmin.configure_db_audit('testdb
', 'ALL', 'BOTH', ?)"
Étape 6 : Vérifiez la configuration de l'audit
Pour vous assurer que votre politique d'audit est correctement configurée, vérifiez l'état de votre configuration d'audit.
Pour vérifier la configuration, connectez-vous à la rdsadmin
base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Exécutez ensuite l'instruction SQL suivante avec le nom de base de données de votre base de données. Dans l'exemple suivant, le nom de la base de données esttestdb
.
db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params, cast(task_output as varchar(500)) as task_output from table(rdsadmin.get_task_status(null,'
testdb
','CONFIGURE_DB_AUDIT'))" Sample Output TASK_ID TASK_TYPE DATABASE_NAME LIFECYCLE -------------------- -------------------- --------------- ------------- 2 CONFIGURE_DB_AUDIT DB2DB SUCCESS ... continued ... TASK_PARAMS -------------------------------------------------------- { "AUDIT_CATEGORY" : "ALL", "CATEGORY_SETTING" : "BOTH" } ... continued ... TASK_OUTPUT --------------------------------------------------- 2023-12-22T20:27:03.029Z Task execution has started. 2023-12-22T20:27:04.285Z Task execution has completed successfully.
Gestion de la journalisation des audits DB2
Après avoir configuré la journalisation d'audit DB2, vous pouvez modifier la politique d'audit pour une base de données spécifique ou désactiver la journalisation d'audit au niveau de la base de données ou pour l'ensemble de l'instance de base de données. Vous pouvez également modifier le compartiment Amazon S3 dans lequel vos fichiers journaux sont chargés.
Rubriques
Modification d'une politique d'audit DB2
Pour modifier la politique d'audit d'une base de données RDS pour DB2 spécifique, exécutez la procédure rdsadmin.configure_db_audit
stockée. Avec cette procédure stockée, vous pouvez modifier les catégories, les paramètres des catégories et la configuration du type d'erreur de la politique d'audit. Pour de plus amples informations, veuillez consulter rdsadmin.configure_db_audit.
Modification de l'emplacement de vos fichiers journaux
Pour modifier le compartiment Amazon S3 dans lequel vos fichiers journaux sont chargés, effectuez l'une des opérations suivantes :
-
Modifiez le groupe d'options actuel attaché à votre instance de base de données RDS pour DB2 : mettez à jour le
S3_BUCKET_ARN
paramètre de l'DB2_AUDIT
option afin qu'elle pointe vers le nouveau compartiment. Assurez-vous également de mettre à jour la politique IAM attachée au rôle IAM spécifié par leIAM_ROLE_ARN
paramètre du groupe d'options attaché. Cette politique IAM doit fournir à votre nouveau compartiment les autorisations d'accès requises. Pour plus d'informations sur les autorisations requises dans la politique IAM, consultezCréer une politique IAM. -
Attachez votre instance de base de données RDS pour DB2 à un autre groupe d'options : modifiez votre instance de base de données pour changer le groupe d'options qui y est attaché. Assurez-vous que le nouveau groupe d'options est configuré avec
S3_BUCKET_ARN
les bonsIAM_ROLE_ARN
paramètres. Pour plus d'informations sur la configuration de ces paramètres pour l'DB2_AUDIT
option, consultezConfiguration d'un groupe d'options.
Lorsque vous modifiez le groupe d'options, assurez-vous d'appliquer les modifications immédiatement. Pour de plus amples informations, veuillez consulter Modification d'une RDS instance de base de données Amazon.
Désactivation de la journalisation des audits DB2
Pour désactiver la journalisation des audits DB2, effectuez l'une des opérations suivantes :
-
Désactivez la journalisation des audits pour l'instance de base de données RDS pour DB2 : modifiez votre instance de base de données et supprimez le groupe d'options contenant l'
DB2_AUDIT
option. Pour de plus amples informations, veuillez consulter Modification d'une RDS instance de base de données Amazon. -
Désactiver la journalisation des audits pour une base de données spécifique : arrêtez la journalisation des audits et supprimez la politique d'audit en appelant
rdsadmin.disable_db_audit
avec le nom de base de données de votre base de données. Pour de plus amples informations, veuillez consulter rdsadmin.disable_db_audit.db2 "call rdsadmin.disable_db_audit( '
db_name
', ?)"
Consultation des journaux d'audit
Après avoir activé la journalisation des audits DB2, attendez au moins une heure avant de consulter les données d'audit dans votre compartiment Amazon S3. Amazon RDS envoie automatiquement les journaux de votre instance de base de données RDS pour DB2 aux emplacements suivants :
-
Journaux au niveau des instances de base de données —
bucket_name
/db2-audit-logs/dbi_resource_id
/date_time_utc
/ -
Journaux au niveau des bases de données :
bucket_name
/db2-audit-logs/dbi_resource_id
/date_time_utc
/db_name
/
L'exemple de capture d'écran suivant de la console Amazon S3 montre une liste de dossiers pour les fichiers journaux au niveau de l'instance de base de données RDS for DB2.

L'exemple de capture d'écran suivant de la console Amazon S3 montre les fichiers journaux au niveau de la base de données pour l'instance de base de données RDS pour DB2.

Résolution des problèmes liés à l'enregistrement des audits DB2
Utilisez les informations suivantes pour résoudre les problèmes courants liés à la journalisation des audits DB2.
Impossible de configurer la politique d'audit
Si l'appel de la procédure stockée rdsadmin.configure_db_audit
renvoie une erreur, il se peut que le groupe d'options contenant l'DB2_AUDIT
option ne soit pas associé à l'instance de base de données RDS pour DB2. Modifiez l'instance de base de données pour ajouter le groupe d'options, puis réessayez d'appeler la procédure stockée. Pour de plus amples informations, veuillez consulter Modification d'une RDS instance de base de données Amazon.
Aucune donnée dans le compartiment Amazon S3
Si les données de journalisation sont absentes du compartiment Amazon S3, vérifiez les points suivants :
-
Le compartiment Amazon S3 se trouve dans la même région que votre instance de base de données RDS pour DB2.
-
Le rôle que vous avez spécifié dans le paramètre d'
IAM_ROLE_ARN
option est configuré avec les autorisations requises pour télécharger des journaux dans votre compartiment Amazon S3. Pour de plus amples informations, veuillez consulter Créer une politique IAM. -
Les paramètres ARNs pour
IAM_ROLE_ARN
etS3_BUCKET_ARN
option sont corrects dans le groupe d'options associé à votre instance de base de données RDS pour DB2. Pour de plus amples informations, veuillez consulter Configuration d'un groupe d'options.
Vous pouvez vérifier l'état des tâches de votre configuration de journalisation d'audit en vous connectant à la base de données et en exécutant une instruction SQL. Pour de plus amples informations, veuillez consulter Vérifiez la configuration de l'audit.
Vous pouvez également consulter les événements pour en savoir plus sur les raisons pour lesquelles les journaux peuvent être absents. Pour plus d'informations sur la façon d'afficher les événements, consultezAfficher les journaux, les événements et les flux dans la RDS console Amazon.