Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Démarrer avec le niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Saisir des événements Oracle Cloud Guard dans Oracle Analytics Cloud
Présentation
Ce tutoriel explique comment transmettre des événements Oracle Cloud Guard à Oracle Autonomous JSON Database (AJD) et les saisir dans Oracle Analytics Cloud. Il y aura un tutoriel ultérieur qui analysera et affichera les événements de protection d'infrastructure en nuage dans Oracle Analytics Cloud.
-
Oracle Cloud Guard : Oracle Cloud Guard est un service Oracle Cloud Infrastructure (OCI) natif qui aide les clients à surveiller et à détecter les ressources entre les régions. Il permet de maintenir un niveau de sécurité en nuage pour assurer la sécurité des locations OCI. Pour plus d'informations, voir Oracle Cloud Guard.
-
Oracle Analytics Cloud : Oracle Analytics Cloud est une plate-forme d'intelligence d'affaires et d'analyse entièrement gérée, basée sur le nuage, conçue comme une plate-forme complète qui permet aux utilisateurs professionnels et aux analystes de découvrir des informations et des tendances pour prendre des décisions fondées sur les données. Pour plus d'informations, voir Oracle Analytics Cloud.
Architecture de haut niveau
Objectifs
- Saisissez les événements Oracle Cloud Guard dans Oracle Analytics Cloud.
Préalables
-
Compréhension de haut niveau d'OCI, du service d'événements OCI et d'Oracle Cloud Guard.
-
Provisionner Oracle Autonomous Database et une connaissance d'Oracle REST Data Services (ORDS).
-
Connaissance de base du service des fonctions et de la sécurité pour OCI.
Tâche 1 : Configurer Oracle Cloud Guard pour déclencher des événements en nuage
Configurer Oracle Cloud Guard pour répondre aux recettes du détecteur. Les règles de répondant doivent s'assurer que le statut de l'événement Oracle Cloud Guard est réglé à Activé, comme illustré dans l'image suivante.
Tâche 2 : Créer des règles du service d'événements OCI pour détecter les problèmes Oracle Cloud Guard et appeler le service des fonctions pour OCI
-
OCI Events Service vous permet de créer une automatisation en fonction des modifications d'état des ressources de la location. À l'aide d'événements, les équipes de développement peuvent répondre automatiquement lorsqu'une ressource change d'état.
Pour obtenir les événements, naviguez jusqu'à Observabilité et gestion et cliquez sur Service d'événements. Créez une règle et configurez le type d'événement qui sera écrit dans la fonction, comme illustré dans l'image suivante.
-
Cliquez sur l'icône représentant des points de suspension (trois points verticaux) pour modifier les événements Oracle Cloud Guard et les envoyer à une fonction, comme illustré dans l'image suivante.
Ajoutez une action pour transférer des événements du service de protection d'infrastructure en nuage vers une fonction, comme illustré ci-dessous.
Configurer les types d'événement.
Tâche 3 : Créer une fonction pour transmettre les événements à AJD
-
Allez à la console OCI, naviguez jusqu'à Services de développement et cliquez sur Fonctions.
-
Sélectionnez une application existante ou cliquez sur Créer une application. Créez un service des fonctions pour OCI dans votre application. Pour plus d'informations, voir Fonctions QuickStart sur Cloud Shell.
Note : En supposant que vous avez terminé avec succès les préalables.
-
Exécutez la commande suivante pour voir votre application dans la liste des applications.
fn ls apps
-
Il est recommandé de créer d'abord une fonction Python standard. La commande
fn init – runtime oci-event-to-db
générera un dossier nomméoci-event-to-db
avec trois fichiers nommésfunc.py
,func.yaml
etrequirements.txt
. -
Une table AJD doit exister et être activée pour REST. Comme indiqué dans l'image ci-dessous.
-
Mettez à jour le contenu du fichier
func.py
avec le code suivant.import io import json import re import requests eventTable="https://mrj6p3vkk4ramuu-cgdata.adb.us-ashburn-1.oraclecloudapps.com/ords/cguser/event/" from fdk import response def handler(ctx, data: io.BytesIO=None): try: bodytxt = data.getvalue() body = json.loads(bodytxt) # print("event type: " + body["eventType"]) # print("compartment name: " + body["data"]["compartmentName"]) headers = {'Content-type': 'application/json', 'accept': 'application/json'} req = requests.post(eventTable, json={ "event": body }, headers=headers) except (Exception, ValueError) as ex: print('ERROR:', ex, flush=True) raise return response.Response( ctx, response_data=[ json.loads(req.text)["id"] ], # response_data=json.loads(req.text), headers={"Content-Type": "application/json"} )
-
Mettez à jour le contenu du fichier
func.yaml
avec le code suivant.schema_version: 20180708 name: oci-event-to-db version: 0.0.44 runtime: python build_image: fnproject/python:3.11-dev run_image: fnproject/python:3.11 entrypoint: /python/bin/fdk /function/func.py handler memory: 256
-
Mettez à jour le contenu du fichier
requirements.txt
avec le code suivant.Requests oci fdk
-
Exécutez la commande suivante pour déployer votre fonction.
fn -v deploy -app oci-event-to-db
Tâche 4 : Aplanir la base de données à l'aide d'ORDS
-
Une fois les événements Oracle Cloud Guard stockés dans AJD, recherchez les activités Oracle Cloud Guard dans la base de données en consultant la table Événements. Exécutez l'instruction SQL suivante.
SELECT * FROM EVENTS
-
Comme les événements Oracle Cloud Guard sont stockés au format JSON (Java Script Object Notation), ils doivent être aplatis ou convertis en format relationnel pour qu'Oracle Analytics Cloud puisse analyser les données.
Pour aplanir la base de données, procédez comme suit :
-
Créez un index sur la table Événements et exécutez l'énoncé SQL suivant pour l'aplanir.
Create search index event_idx on event (event) for JSON parameters ('DATAGUIDE ON');
-
Créez une vue.
exec dbms_json.create_view_on_path('flat_event', 'event', 'event', '$’);
-
-
Exécutez l'instruction SQL suivante pour vérifier les colonnes créées dans les étapes ci-dessus.
SELECT COLUMN_NAME,DATA_TYPE FROM all_tab_columns where table_name ='FLAT_EVENT' order BY column_id;
Vous devriez voir les colonnes avec le type de données comme indiqué dans l'image suivante.
Tâche 5 : Se connecter à Oracle Analytics Cloud
-
Une fois la base de données convertie au format relationnel à partir de JSON, connectez-vous à Oracle Analytics Cloud. Allez à la console OCI et naviguez jusqu'à l'instance AJD. Cliquez sur la connexion à la base de données pour fournir les données d'identification et télécharger le portefeuille, comme illustré dans l'image suivante.
-
Connectez-vous à Oracle Analytics Cloud, cliquez sur Créer une connexion, puis sur Oracle Autonomous Data Warehouse et sélectionnez le portefeuille qui a été téléchargé à l'étape 1.
-
Une fois la connexion établie, OAC l'affiche sous Connections comme suit.
-
Cliquez deux fois sur la connexion pour créer un nouveau jeu de données dans OAC, développez le schéma et faites glisser la table vers le canevas.
Remerciements
-
Auteurs - Murtuza Madarwala (ingénieur de solution en nuage), Phil Dolbow (ingénieur de solution en nuage)
-
Contributeur - Kevin Colwell (ingénieur de solution en nuage)
Autres ressources d'apprentissage
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.
Capture Oracle Cloud Guard Events into Oracle Analytics Cloud
G27470-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.