Journalisation des audits DB2 - Amazon Relational Database Service

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. RDStélécharge les journaux d'audit terminés dans votre compartiment Amazon S3, en utilisant le rôle AWS Identity and Access Management (IAM) que vous fournissez.

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_AUDIToption RDS pour l'instance de base de données 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 configurez les paramètres de l'DB2_AUDIToption. Pour ce faire, vous devez fournir les noms de ressources Amazon (ARNs) pour votre compartiment Amazon S3 et le IAM rôle autorisé à accéder à votre compartiment.

Pour configurer la journalisation d'audit DB2 RDS pour une base de données 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 pourra télécharger vos fichiers journaux RDS d'audit de la base de données DB2. Les restrictions suivantes s'appliquent au compartiment S3 que vous utilisez comme cible pour vos fichiers d'audit :

  • Il doit être identique à votre instance Région AWS de base de données RDS for Db2.

  • Il ne doit pas être ouvert au public.

  • Il ne peut pas utiliser S3 Object Lock.

  • Le propriétaire du bucket doit également être le propriétaire du IAM rôle.

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 envoie RDS 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 du nom de ressource Amazon (ARN) de votre compartiment. Ces informations sont nécessaires pour effectuer les étapes suivantes.

Étape 2 : Création d'une IAM politique

Créez une IAM politique 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 :

  • C'est ARN pour ton seau.

  • La clé ARN for your AWS Key Management Service (AWS KMS), si votre bucket utilise SSE-KMS le chiffrement.

Créez une IAM politique qui inclut les autorisations suivantes :

"s3:ListBucket", "s3:GetBucketACL", "s3:GetBucketLocation", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:ListAllMyBuckets"
Note

Amazon RDS a besoin de cette s3:ListAllMyBuckets action en interne pour vérifier que le même Compte AWS propriétaire possède à la fois le compartiment S3 et l'instance RDS de base de données Db2.

Si votre bucket utilise SSE-KMS le chiffrement, incluez également les autorisations suivantes :

"kms:GenerateDataKey", "kms:Decrypt"

Vous pouvez créer une IAM politique en utilisant le AWS Management Console ou le AWS Command Line Interface (AWS CLI).

Pour créer une IAM politique permettant à Amazon RDS d'accéder à votre compartiment Amazon S3
  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Politiques.

  3. Choisissez Créer une politique, puis choisissez JSON.

  4. Dans Ajouter des actions, filtrez par S3. Ajoutez l'accès ListBucketGetBucketAcl, et GetBucketLocation.

  5. Pour Ajouter une ressource, choisissez Ajouter. Pour Type de ressource, choisissez bucket, puis entrez le nom de votre bucket. Choisissez ensuite Ajouter une ressource.

  6. Choisissez Ajouter un nouveau relevé.

  7. Dans Ajouter des actions, filtrez par S3. Ajoutez l'accès PutObjectListMultipartUploadParts, et AbortMultipartUpload.

  8. Pour Ajouter une ressource, choisissez Ajouter. Pour Type de ressource, choisissez un objet, puis entrez your bucket name/*. Choisissez ensuite Ajouter une ressource.

  9. Choisissez Ajouter un nouveau relevé.

  10. Dans Ajouter des actions, filtrez par S3. Ajoutez un accès ListAllMyBuckets.

  11. Pour Ajouter une ressource, choisissez Ajouter. Pour Type de ressource, sélectionnez Toutes les ressources. Choisissez ensuite Ajouter une ressource.

  12. Si vous utilisez vos propres KMS clés pour chiffrer les données :

    1. Choisissez Ajouter un nouveau relevé.

    2. Dans Ajouter des actions, filtrez parKMS. Ajoutez l'accès GenerateDataKeyet déchiffrez.

    3. Pour Ajouter une ressource, choisissez Ajouter. Pour Type de ressource, sélectionnez Toutes les ressources. Choisissez ensuite Ajouter une ressource.

  13. Choisissez Suivant.

  14. Dans Nom de la stratégie, entrez le nom de cette stratégie.

  15. (Facultatif) Pour Description, saisissez une description pour cette stratégie.

  16. Choisissez Create Policy (Créer une politique).

Pour créer une IAM politique permettant à Amazon RDS d'accéder à votre compartiment Amazon S3
  1. Exécutez la commande create-policy. Dans l'exemple suivant, remplacez iam_policy_name and amzn-s3-demo-bucket avec le nom de votre IAM politique 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": [ "*" ] } ] }'
  2. Une fois la stratégie créée, notez celle ARN de la stratégie. Il te faut le ARN formulaireÉtape 3 : Créez un IAM rôle et associez votre IAM politique.

Pour plus d'informations sur la création d'une IAM politique, voir Création de IAM politiques dans le Guide de IAM l'utilisateur.

Étape 3 : Créez un IAM rôle et associez votre IAM politique

Cette étape suppose que vous avez créé la IAM politique dansÉtape 2 : Création d'une IAM politique. Au cours de cette étape, vous créez un IAM rôle pour votre instance de base de données RDS for Db2, puis vous attachez votre IAM politique au rôle.

Vous pouvez créer un IAM rôle pour votre instance de base de données à l'aide de la console ou du AWS CLI.

Pour créer un IAM rôle et y associer votre IAM politique
  1. Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Roles (Rôles).

  3. Sélectionnez Create role (Créer un rôle).

  4. Pour Type d'entité de confiance, sélectionnez service AWS.

  5. Pour Service ou cas d'utilisation, sélectionnez RDS, puis sélectionnez RDS— Ajouter un rôle à la base de données.

  6. Choisissez Suivant.

  7. Pour les politiques d'autorisations, recherchez et sélectionnez le nom de la IAM politique que vous avez créée.

  8. Choisissez Suivant.

  9. Pour Role name (Nom du rôle), saisissez un nom de rôle.

  10. (Facultatif) Pour Description, saisissez une description pour le nouveau rôle.

  11. Sélectionnez Créer un rôle.

Pour créer un IAM rôle et y associer votre IAM politique
  1. Exécutez la commande create-role. Dans l'exemple suivant, remplacez iam_role_name avec un nom pour votre IAM rôle.

    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" } ] }'
  2. Une fois le rôle créé, notez celui ARN de ce rôle. Vous en avez besoin ARN pour la prochaine étape,Étape 4 : Configuration d'un groupe d'options pour la journalisation des audits DB2.

  3. Exécutez la commande attach-role-policy. Dans l'exemple suivant, remplacez iam_policy_arn avec ARN la IAM politique que vous avez créée dansÉtape 2 : Création d'une IAM politique. Remplacez iam_role_name avec le nom du IAM rôle que vous venez de créer.

    Pour LinuxmacOS, ou Unix :

    aws iam attach-role-policy \ --policy-arn iam_policy_arn \ --role-name iam_role_name

    Dans Windows :

    aws iam attach-role-policy ^ --policy-arn iam_policy_arn ^ --role-name iam_role_name

Pour plus d'informations, consultez la section Création d'un rôle pour déléguer des autorisations à un IAM utilisateur dans le Guide de IAM l'utilisateur.

É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 RDS de base de données Db2 est le suivant :

  1. Créer un groupe d'options ou copier ou modifier un groupe existant.

  2. Ajouter et configurer toutes les options requises.

  3. Associez le groupe d'options à l'instance de base de données.

Après avoir 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
  1. 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.

  2. Ajoutez l'AUDIToption DB2_ 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 ARN le IAM rôle que vous avez créé dansÉtape 3 : Créez un IAM rôle et associez votre IAM politique.

    • Pour S3_ BUCKET _ ARN, entrez le ARN compartiment S3 à utiliser pour vos journaux d'audit DB2. Le compartiment doit se trouver dans la même région que votre instance RDS de base de données Db2. La politique associée au IAM rôle que vous avez saisi doit autoriser les opérations requises sur cette ressource.

  3. 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 instance de base de données Amazon RDS.

Étape 5 : Configuration de la politique d'audit

Pour configurer la politique d'audit pour 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 testdb les catégoriesAUDIT,CHECKING,OBJMAINT, SECMAINTSYSADMIN, etVALIDATE. 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 using master_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'SQLinstruction 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 est testdb.

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.

Modification d'une politique d'audit DB2

Pour modifier la politique d'audit d'une base de données spécifique RDS pour DB2, 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 for Db2 : mettez à jour le S3_BUCKET_ARN paramètre de l'DB2_AUDIToption pour qu'elle pointe vers le nouveau compartiment. Assurez-vous également de mettre à jour la IAM politique attachée au IAM rôle spécifié par le IAM_ROLE_ARN paramètre dans le groupe d'options attaché. Cette IAM politique doit fournir à votre nouveau compartiment les autorisations d'accès requises. Pour plus d'informations sur les autorisations requises dans la IAM politique, consultezCréation d'une IAM politique.

  • 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 S3_BUCKET_ARN les bons IAM_ROLE_ARN paramètres. Pour plus d'informations sur la configuration de ces paramètres pour l'DB2_AUDIToption, 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 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ésactivez la journalisation des audits RDS pour l'instance de base de données DB2 : modifiez votre instance de base de données et supprimez le groupe d'options contenant l'DB2_AUDIToption correspondante. Pour de plus amples informations, veuillez consulter 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_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 envoie RDS 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 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 RDS pour les fichiers journaux au niveau de l'instance de base de données DB2.

Console Amazon S3 avec onglet Objects sélectionné, affichant une liste de dossiers RDS pour les fichiers journaux au niveau de l'instance de base de données 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 RDS pour l'instance de base de données Db2.

Console Amazon S3 avec onglet Objects sélectionné, affichant les fichiers journaux au niveau de la base de données RDS pour l'instance de base de données 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_AUDIToption 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 réessayez d'appeler la procédure stockée. Pour de plus amples informations, veuillez consulter Modification d'une instance de base de données Amazon RDS.

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 for Db2.

  • Le rôle que vous avez spécifié dans le paramètre d'IAM_ROLE_ARNoption 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éation d'une IAM politique.

  • Les paramètres ARNs pour IAM_ROLE_ARN et S3_BUCKET_ARN option sont corrects dans le groupe d'options associé à votre instance de base de données RDS for 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 SQL instruction. 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 manquants. 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.