Générer des rapports de gestion des identités et des accès à partir du service de vérification pour Oracle Cloud Infrastructure
Présentation
Les domaines d'identité d'Oracle Cloud Infrastructure (OCI) sont le successeur d'Oracle Identity Cloud Service et intègrent toutes les capacités d'Oracle Identity Cloud Service dans un service Oracle Cloud Infrastructure de base. Oracle Identity Cloud Service était une offre autonome de type SaaS et 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 les capacités de service communes lorsque cela est possible. Par conséquent, certains des rapports qui ont été mis à disposition dans Oracle Identity Cloud Service sont en cours d'abandon, car les données qu'ils ont utilisées sont maintenant disponibles au moyen de la capacité de service commune fournie par OCI Audit.
Ce tutoriel explique comment créer des rapports obsolètes à partir des données du service de vérification pour OCI et les rendre disponibles dans le tableau de bord OCI.
Objectifs
-
Créer des recherches enregistrées dans le service de journalisation OCI pour les rapports OCI IAM.
-
Exporter les rapports OCI IAM pour un traitement hors ligne.
-
Ajoutez ces recherches au tableau de bord OCI.
Conditions requises
- Autorisations de lecture des données de vérification pour le compartiment contenant le domaine OCI IAM (qui sera la racine de la location pour le domaine par défaut).
Tâche 1 : Explorer les événements de vérification de la gestion des identités et des accès pour OCI
Chaque service OCI crée des enregistrements de vérification pour les actions de l'utilisateur ou du service, et l'OCI IAM ne fait pas exception, en créant des enregistrements de vérification pour l'accès de l'utilisateur, ainsi que pour toute modification ou tout événement survenant dans l'OCI IAM.
-
Accédez au service Journalisation sous les fonctions Observabilité et gestion de la console OCI, puis sélectionnez la section Rechercher.
-
Cliquez sur Sélectionner les journaux à rechercher pour régler le contexte de la recherche de journaux au compartiment contenant le domaine d'identité OCI IAM pour lequel vous souhaitez générer le rapport.

Après avoir sélectionné le compartiment approprié, vous verrez probablement plusieurs entrées pour l'activité d'utilisateur ou de service, les entrées spécifiques étant dépendantes 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 d'avoir sélectionné la région appropriée en développant Options de recherche supplémentaires, ou développez la fenêtre de temps en modifiant le paramètre Filtrer par heure.
-
Cliquez sur Afficher le mode avancé pour activer la possibilité d'entrer des interrogations en texte libre, puis ajoutez l'un des éléments suivants à la fin de l'interrogation par défaut (après 'trier par date et heure desc') pour générer le même contenu qui a été inclus dans le rapport Oracle Identity Cloud Service.
Rapport Interrogation Rapport sur les connexions 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 connexion | 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 l'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 Journal de vérification | 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 TargetRapport sur les affectations de rôles 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, l'interrogation ressemblerait à celle ci-dessous.
-
Cliquez sur Rechercher pour utiliser l'interrogation mise à jour. S'il ne retourne aucun résultat, vous devrez peut-être modifier le filtre de temps.

-
Tous les résultats retourné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.

Note : Les rapports Oracle Identity Cloud Service prennent en charge le téléchargement en tant que fichier
CSValors que cette exportation ne prend en charge que l'exportationJSON. Toutefois, les énoncés sélectionnés utilisés dans les interrogations ci-dessus nivellentJSONen un seul objet avec des attributs, ce qui devrait vous permettre de convertir entre l'exportationJSONetCSVsi nécessaire.
Tâche 2 : Créer une recherche enregistrée pour votre rapport
Pour éviter d'entrer de nouveau l'interrogation chaque fois que vous souhaitez accéder à ces rapports, vous pouvez utiliser la fonction de recherche enregistrée du service de journalisation pour OCI.
-
Une fois l'interrogation validée, cliquez sur Enregistrer la recherche pour permettre la réutilisation et l'intégration de l'interrogation dans le tableau de bord.
-
Entrez un nom pour votre recherche, par exemple 'Successful_Login_Report' ou similaire, ainsi qu'une description, puis cliquez sur Enregistrer.
-
À partir de l'interface Recherches enregistrées, vous pouvez cliquer de nouveau dans votre recherche pour obtenir le dernier jeu de données.
Note : Vous ne pouvez pas exporter directement les résultats à partir de l'interface de recherche enregistrée. Vous devez plutôt utiliser Explorer avec la recherche dans les journaux à partir de la liste déroulante Actions, puis exporter les résultats à partir de la vue de recherche.
Tâche 3 : Ajouter le rapport à un tableau de bord OCI
En plus d'accéder aux rapports à partir du service de journalisation OCI, ils peuvent également être disponibles au moyen de la fonction de tableau de bord d'OCI, pour permettre l'examen centralisé des événements OCI IAM.
-
Naviguez jusqu'à la page de renvoi de la console OCI, cliquez sur Oracle Cloud dans la bannière supérieure, puis passez à la vue Tableau de bord.
-
Créez un nouveau tableau de bord pour les rapports OCI IAM, en cliquant sur Nouveau tableau de bord.
-
Sélectionnez Créer à partir de zéro et ajoutez un nom et une description appropriés.

-
Créez un nouveau 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 dans 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 disposition et ajoutez d'autres recherches enregistrées, le cas échéant.

Automatisation de l'extraction des données du rapport
Les approches ci-dessus permettent d'effectuer des rapports ad hoc sur les données IAM. Cependant, 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'une des trousses SDK OCI.
L'API SearchLogs peut être appelée à l'aide d'une demande similaire à la suivante, en ajustant l'intervalle de temps et en ajoutant l'interrogation à partir de la recherche de journaux 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
Note : Échappez les guillemets doubles (
") dans votre interrogation de recherche avec des barres obliques inverses (\). Par exemple,as "Success/Failure"devientas \"Success/Failure\".
Si vous préférez que les événements de vérification soient poussés vers un autre système, le centre de connecteurs pour OCI ou les événements pour OCI peuvent être utilisés pour faciliter le transfert de journaux, par exemple dans Mettre en oeuvre la sécurité multinuage à l'aide du service de vérification pour OCI pour saisir des événements du service de gestion des identités et des accès pour OCI couvrant le transfert du service de vérification vers Azure Sentinel.
Liens connexes
Remerciements
- Authors - Manoj Gaddam (Gestionnaire principal de produit - OCI Identity/IDCS), Callan Howell-Pavia (Membre principal du personnel technique - OCI Identity/IDCS)
Ressources d'apprentissage supplémentaires
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Generate Identity and Access Management Reports from Oracle Cloud Infrastructure Audit
G25137-02