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 la connexion des utilisateurs à 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 for Db2, vous devez activer l’option DB2_AUDIT sur l’instance de base de données RDS for 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 for Db2, vous devez configurer les paramètres de l’option DB2_AUDIT. 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 des audits Db2 pour une base de données RDS for Db2, procédez comme suit.
Rubriques
Étape 1 : Créer un compartiment Amazon S3
Si vous ne l’avez pas déjà fait, créez un compartiment Amazon S3 dans lequel Amazon RDS peut charger les fichiers journaux des audits de la 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 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 de la base de données :
bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/
Notez l’Amazon Resource Name (ARN) de votre compartiment. Ces informations sont nécessaires pour compléter les étapes suivantes.
Étape 2 : création d’une politique IAM
Créez une politique IAM avec les autorisations requises pour transférer des fichiers journaux depuis votre instance de base de données vers votre compartiment Amazon S3. Cette étape suppose également que vous avez déjà créé un compartiment S3.
Avant de créer la politique, rassemblez les informations suivantes :
-
L’ARN de votre compartiment.
-
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 autorisation 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.
Ajoutez les autorisations suivantes à 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é. 111122223333Remplacez-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 panneau de navigation, choisissez Politiques.
-
Sélectionnez Créer une politique, 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 compartiment, puis entrez le nom de votre compartiment. Choisissez ensuite Ajouter une ressource.
-
Choisissez Ajouter une nouvelle instruction.
-
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 une nouvelle instruction.
-
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 une nouvelle instruction.
-
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.
-
Pour Nom de la politique, attribuez un nom à cette politique.
-
(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_nameetamzn-s3-demo-bucketpar le nom de votre politique IAM et le nom de votre compartiment Amazon S3 cible.Pour Linux, macOS ou Unix :
aws iam create-policy \ --policy-nameiam_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": [ "*" ] } ] }'Pour Windows :
aws iam create-policy ^ --policy-nameiam_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": [ "*" ] } ] }' -
Après avoir créé la politique, notez son ARN. Vous en aurez besoin pour Étape 3 : création d’un rôle IAM et ajoute de votre politique IAM.
Pour plus d’informations sur la création d’une politique IAM, consultez Création de politiques IAM dans le Guide de l’utilisateur IAM.
Étape 3 : création d’un rôle IAM et ajoute de 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 for Db2, puis attachez votre politique IAM au rôle.
Vous pouvez créer un rôle IAM pour votre instance de base de données en utilisant la console ou l’ AWS CLI.
Création d’un rôle IAM et ajout de 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, choisissez 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 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.
Création d’un rôle IAM et ajout de votre politique IAM
-
Exécutez la commande create-role. Dans l'exemple suivant, remplacez-le
iam_role_namepar le nom de votre rôle IAM.Pour Linux, macOS ou Unix :
aws iam create-role \ --role-nameiam_role_name\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'Pour Windows :
aws iam create-role ^ --role-nameiam_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 son ARN. Vous avez besoin de cet ARN à la prochaine étape, É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_arnpar l'ARN de la politique IAM que vous avez créée dansÉtape 2 : création d’une politique IAM.iam_role_nameRemplacez-le par le nom du rôle IAM que vous venez de créer.Pour Linux, macOS ou Unix :
aws iam attach-role-policy \ --policy-arniam_policy_arn\ --role-nameiam_role_namePour Windows :
aws iam attach-role-policy ^ --policy-arniam_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 des audits Db2 à une instance de base de données RDS for 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 ajoutez l’option de journalisation des audits 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.
Ajout et configuration de la journalisation des audits Db2 sur le groupe d’options d’une instance de base de données
-
Sélectionnez 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 ce groupe d’options. 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éation d’un rôle IAM et ajoute de votre politique IAM.
-
Pour S3_BUCKET_ARN, entrez l’ARN du compartiment S3 à utiliser pour vos journaux d’audit Db2. Le compartiment doit être situé dans la même région que votre instance de base de données RDS for 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 plus d’informations, consultez Modification d'une instance de base de données Amazon RDS.
-
Étape 5 : configuration de la politique d’audit
Pour configurer la politique d’audit à votre base de données RDS for Db2, connectez-vous à la base de données rdsadmin à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for Db2. Appelez ensuite la procédure stockée rdsadmin.configure_db_audit 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 testdb avec les catégories AUDIT, CHECKING, OBJMAINT, SECMAINT, SYSADMIN et VALIDATE. La valeur d’état BOTH enregistre les réussites et les échecs, et ERROR TYPE est défini sur NORMAL par défaut. Pour plus d’informations sur l’utilisation de cette procédure stockée, consultez rdsadmin.configure_db_audit.
db2 "connect to rdsadmin usermaster_userusingmaster_password" db2 "call rdsadmin.configure_db_audit('testdb', 'ALL', 'BOTH', ?)"
Étape 6 : vérification de 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 base de données rdsadmin à l’aide du nom d’utilisateur principal et du mot de passe principal de votre instance de base de données RDS for 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 des audits Db2, vous pouvez modifier la politique d’audit pour une base de données spécifique ou désactiver la journalisation des audits 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 for Db2 spécifique, exécutez la procédure stockée rdsadmin.configure_db_audit. 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 plus d’informations, consultez 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 for Db2 : mettez à jour le paramètre
S3_BUCKET_ARNpour que l’optionDB2_AUDITpointe vers le nouveau compartiment. Assurez-vous également de mettre à jour la politique IAM attachée au rôle IAM spécifié par le paramètreIAM_ROLE_ARNdu 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, consultez Créer une politique IAM. -
Attachez votre instance de base de données RDS for 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 les paramètres
S3_BUCKET_ARNetIAM_ROLE_ARNappropriés. Pour plus d’informations sur la configuration de ces paramètres pour l’optionDB2_AUDIT, consultez Configuration d’un groupe d’options.
Lorsque vous modifiez le groupe d’options, veillez à appliquer immédiatement les modifications. Pour plus d’informations, consultez Modification d'une instance de base de données Amazon RDS.
Désactivation de la journalisation des audits Db2
Pour désactiver la journalisation des audits Db2, effectuez l’une des opérations suivantes :
-
Désactiver la journalisation des audits pour l’instance de base de données RDS for Db2 : modifiez votre instance de base de données et supprimez le groupe d’options avec l’option
DB2_AUDIT. Pour plus d’informations, consultez Modification d'une instance de base de données Amazon RDS. -
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_auditavec le nom de votre base de données. Pour plus d’informations, consultez 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 for 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 de la base 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 une liste de fichiers journaux au niveau de la base de données pour l’instance de base de données RDS for Db2.
Résolution des problèmes de journalisation des audits Db2
Utilisez les informations suivantes pour résoudre les problèmes courants rencontrés avec la journalisation des audits Db2.
Configuration de la politique d’audit impossible
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’option DB2_AUDIT ne soit pas associé à l’instance de base de données RDS for Db2. Modifiez l’instance de base de données pour ajouter le groupe d’options, puis essayez de rappeler la procédure stockée. Pour plus d’informations, consultez Modification d'une instance de base de données Amazon RDS.
Aucune donnée dans le compartiment Amazon S3
Si des données de journalisation ne se trouvent pas dans le compartiment Amazon S3, vérifiez les points suivants :
-
Le compartiment Amazon S3 doit être situé dans la même région que votre instance de base de données RDS for Db2.
-
Le rôle que vous avez spécifié dans le paramètre d’option
IAM_ROLE_ARNest 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_ARNetS3_BUCKET_ARNoption 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 dans votre configuration de journalisation des audits en vous connectant à la base de données et en exécutant une instruction SQL. Pour plus d’informations, consultez Vérification de la configuration de l’audit.
Vous pouvez également consulter les événements pour en savoir plus sur les raisons de l’absence de journaux. Pour plus d’informations sur l’affichage des événements, consultez Affichage des journaux, des événements et des flux dans la console Amazon RDS.