Génération de rapports Identity and Access Management à partir d'Oracle Cloud Infrastructure Audit
Introduction
Les domaines d'identité Oracle Cloud Infrastructure (OCI) succèdent à Oracle Identity Cloud Service et intègrent toutes les fonctionnalités d'Oracle Identity Cloud Service dans un service Oracle Cloud Infrastructure de base. Oracle Identity Cloud Service était une offre SaaS autonome qui fournit des rapports sur l'activité des utilisateurs et similaires dans le service.
Contrairement à Oracle Identity Cloud Service, les domaines d'identité OCI existent dans le contexte OCI plus large. Un principe de conception OCI consiste à utiliser des fonctionnalités de service communes dans la mesure du possible. Par conséquent, certains des rapports mis à disposition dans Oracle Identity Cloud Service sont en phase d'abandon, car les données utilisées sont désormais disponibles via la fonctionnalité de service commun fournie par OCI Audit.
Ce tutoriel explique comment créer les rapports en phase d'abandon à partir des données OCI Audit et les rendre disponibles dans le tableau de bord OCI.
Objectifs
-
Créez des recherches enregistrées dans OCI Logging pour les rapports OCI IAM.
-
Exportez les rapports OCI IAM pour un traitement hors ligne.
-
Ajoutez ces recherches au tableau de bord OCI.
Prérequis
- Droits d'accès permettant de lire les données d'audit pour le compartiment contenant le domaine OCI IAM (qui sera la racine de location du domaine par défaut).
Tâche 1 : Explorer les événements d'audit OCI Identity and Access Management
Chaque service OCI crée des enregistrements d'audit sur une action utilisateur ou de service, et OCI IAM ne fait pas exception, en créant des enregistrements d'audit sur l'accès utilisateur, ainsi que tout changement ou événement survenant dans OCI IAM.
-
Accédez au service Logging sous les fonctionnalités Observability & Management dans la console OCI, puis sélectionnez la section Rechercher.
-
Cliquez sur Sélectionner les journaux à rechercher pour définir le contexte de la recherche de journal sur le compartiment contenant le domaine d'identité OCI IAM pour lequel générer le rapport.

Après avoir sélectionné le compartiment approprié, vous verrez probablement plusieurs entrées pour l'activité utilisateur ou de service, les entrées spécifiques dépendant de la façon dont votre location est utilisée. Vous pouvez également voir vos propres événements de connexion ou d'autres événements de connexion. Si vous ne voyez aucune entrée, assurez-vous que vous avez sélectionné la région appropriée en développant Autres options de recherche ou développez la fenêtre de temps en modifiant le paramètre Filtrer par heure.
-
Cliquez sur Afficher le mode avancé pour afficher la possibilité de saisir des requêtes en texte libre, puis ajoutez l'un des éléments suivants à la fin de la requête par défaut (après "trier par descente de date/heure") pour générer le même contenu qui a été inclus dans le rapport Oracle Identity Cloud Service.
Rapport Requête Rapport sur les connexion réussies | where data.additionalDetails.eventId = 'sso.session.create.success' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as Login, data.additionalDetails.eventId as Result, data.additionalDetails.ssoRp as Provider, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateRapport sur les échecs de connexions | where data.additionalDetails.eventId='sso.authentication.failure' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as User, data.additionalDetails.eventId as Result, data.message as Comments, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateRapport sur les accès à l'application | where data.additionalDetails.eventId = 'sso.session.create.success' or data.additionalDetails.eventId = 'sso.authentication.failure' or data.additionalDetails.eventId = 'sso.session.modify.success' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorDisplayName as User, data.additionalDetails.actorName as Login, data.additionalDetails.eventId as "Success/Failure", data.additionalDetails.ssoRp as Application, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateRapport de journal d'audit | where data.additionalDetails.eventId = 'sso.app.access.success' or data.additionalDetails.eventId = 'sso.app.access.failure' or data.additionalDetails.eventId = 'sso.session.create.success' or data.additionalDetails.eventId = 'sso.authentication.failure' or data.additionalDetails.eventId = 'sso.session.delete.success' or data.additionalDetails.eventId = 'admin.user.create.success' or data.additionalDetails.eventId = 'admin.user.activated.success' or data.additionalDetails.eventId = 'admin.user.deactivated.success' or data.additionalDetails.eventId = 'admin.user.update.success' or data.additionalDetails.eventId = 'admin.user.delete.success' or data.additionalDetails.eventId = 'admin.user.password.reset.success' or data.additionalDetails.eventId = 'admin.me.password.reset.success' or data.additionalDetails.eventId = 'admin.me.password.change.success' or data.additionalDetails.eventId = 'admin.policy.create.success' or data.additionalDetails.eventId = 'admin.rule.create.success' or data.additionalDetails.eventId = 'admin.policy.update.success' or data.additionalDetails.eventId = 'admin.rule.update.success' or data.additionalDetails.eventId = 'admin.passwordpolicy.create.success' or data.additionalDetails.eventId = 'admin.passwordpolicy.update.success' or data.additionalDetails.eventId = 'admin.grant.create.success' or data.additionalDetails.eventId = 'admin.grant.delete.success' or data.additionalDetails.eventId = 'admin.group.create.success' or data.additionalDetails.eventId = 'admin.group.add.member.success' or data.additionalDetails.eventId = 'admin.group.remove.member.success' or data.additionalDetails.eventId = 'admin.group.delete.success' or data.additionalDetails.eventId = 'admin.app.create.success' or data.additionalDetails.eventId = 'admin.app.update.success' or data.additionalDetails.eventId = 'admin.app.delete.success' or data.additionalDetails.eventId = 'admin.app.activated.success' or data.additionalDetails.eventId = 'admin.app.deactivated.success' or data.additionalDetails.eventId = 'notification.delivery.success' or data.additionalDetails.eventId = 'notification.delivery.failure' or data.additionalDetails.eventId = 'sso.auth.factor.initiated' or data.additionalDetails.eventId = 'sso.bypasscode.create.success' | select time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as Date, data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as Actor, data.additionalDetails.eventId as "Event Id", data.message as "Event Description", data.additionalDetails.adminResourceName as TargetEtat Affectations de rôle d'application | where data.additionalDetails.eventId = 'admin.approle.add.member.success' or data.additionalDetails.eventId = 'admin.approle.remove.member.success' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorDisplayName as Approver, data.additionalDetails.adminAppRoleAppName as "Application Name", data.additionalDetails.adminRefResourceName as Beneficiary, data.additionalDetails.adminRefResourceType as "User/Group", data.additionalDetails.adminResourceName as "Application Role Name", time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as Date, data.additionalDetails.eventId as "Added/Removed"Par exemple, pour le rapport
Successful Logins, la requête ressemblerait à ce qui suit.
-
Cliquez sur Rechercher pour utiliser la requête mise à jour. S'il ne renvoie aucun résultat, vous devrez peut-être modifier le filtre d'heure.

-
Les résultats renvoyés peuvent être exportés en cliquant sur Exporter les données de journal (JSON) dans la liste déroulante Actions au-dessus des résultats.

Remarque : Oracle Identity Cloud Service signale la prise en charge du téléchargement en tant que fichier
CSValors que cet export ne prend en charge que l'exportJSON. Toutefois, les instructions SELECT utilisées dans les requêtes ci-dessus mettent à plat le fichierJSONen un seul objet avec des attributs, ce qui doit vous permettre de convertir entre l'exportJSONetCSVsi nécessaire.
Tâche 2 : créer une recherche enregistrée pour votre rapport
Pour éviter de ressaisir la requête chaque fois que vous souhaitez accéder à ces rapports, vous pouvez tirer parti de la fonctionnalité de recherche enregistrée d'OCI Logging.
-
Une fois la requête validée, cliquez sur Enregistrer la recherche pour la réutiliser et l'intégrer dans le tableau de bord.
-
Entrez le nom de la recherche, par exemple 'Successful_Login_Report' ou similaire, ainsi que la description, puis cliquez sur Enregistrer.
-
Dans l'interface des recherches enregistrées, vous pouvez cliquer de nouveau sur votre recherche pour obtenir le dernier ensemble de données.
Remarque : vous ne pouvez pas exporter directement les résultats à partir de l'interface de recherche enregistrée. Vous devez plutôt utiliser l'option Explorer avec la recherche de journal dans la liste déroulante Actions, puis exporter les résultats à partir de la vue de recherche.
Tâche 3 : ajout du rapport à un tableau de bord OCI
En plus d'accéder aux rapports à partir du service OCI Logging, ils peuvent également être disponibles via la fonctionnalité de tableau de bord d'OCI, afin de permettre la révision centralisée des événements OCI IAM.
-
Accédez à la page de destination de la console OCI, cliquez sur Oracle Cloud dans la bannière supérieure, puis passez à la vue Tableau de bord.
-
Créez un tableau de bord pour les rapports OCI IAM en cliquant sur Nouveau tableau de bord.
-
Sélectionnez Créer à partir de zéro, puis ajoutez un nom et une description appropriés.

-
Créez un groupe de tableaux de bord ou affectez-le à un groupe existant, le cas échéant.
-
Cliquez sur Ajouter un widget, sélectionnez Table de données de journalisation, puis cliquez sur Configurer sur le nouveau widget.
-
Indiquez un nom approprié, puis sélectionnez votre recherche enregistrée. Ajoutez une période par défaut appropriée.

-
Modifiez la présentation et ajoutez d'autres recherches enregistrées, le cas échéant.

Automatiser l'extraction des données de rapport
Les approches ci-dessus permettent d'effectuer des rapports ad hoc sur les données IAM. Toutefois, pour les opérations en cours, il peut être nécessaire d'automatiser l'extraction de ces données. Pour ce faire, vous pouvez utiliser l'API OCI, l'interface de ligne de commande OCI ou l'un des kits SDK OCI.
L'API SearchLogs peut être appelée à l'aide d'une demande similaire à la suivante, en ajustant la période et en ajoutant la requête à partir de la recherche de journal initiale :
POST https://logging.<region>.oci.oraclecloud.com/20190909/search?limit=1000
Body:
{
"timeStart": "2025-01-01T00:00:00.000Z",
"timeEnd": "2025-01-02T00:00:00.000Z",
"searchQuery": "<log search query from Task #1>",
"isReturnFieldInfo": false
}
La commande d'interface de ligne de commande OCI équivalente est la suivante :
oci logging-search search-logs --search-query "<log search query from Task #1>" --time-start "2025-01-01T00:00:00.000Z" --time-end "2025-01-02T00:00:00.000Z" --is-return-field-info false
Remarque : évitez les guillemets doubles (
") dans votre requête de recherche avec des barres obliques inverses (\). Autrement dit,as "Success/Failure"devientas \"Success/Failure\".
Si vous préférez que les événements d'audit soient propagés vers un autre système, OCI Connector Hub ou OCI Events peuvent être utilisés pour faciliter la transmission des journaux, par exemple dans Implémenter la sécurité multicloud à l'aide d'OCI Audit pour capturer les événements à partir d'OCI Identity and Access Management couvrant la transmission d'audit à Azure Sentinel.
Liens connexes
Accusés de réception
- Auteurs - Manoj Gaddam (Responsable produit principal - OCI Identity/IDCS), Callan Howell-Pavia (Membre principal du personnel technique - OCI Identity/IDCS)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Generate Identity and Access Management Reports from Oracle Cloud Infrastructure Audit
F89546-03