Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeurs pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Capturez les événements Oracle Cloud Guard dans Oracle Analytics Cloud
Introduction
Ce tutoriel explique en détail la transmission des événements Oracle Cloud Guard à Oracle Autonomous JSON Database (AJD) et leur capture dans Oracle Analytics Cloud. Un tutoriel ultérieur analysera et affichera les événements Cloud Guard 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 dans les régions. Il permet de maintenir une posture de sécurité cloud pour assurer la sécurité des locations OCI. Pour plus d'informations, reportez-vous à Oracle Cloud Guard.
-
Oracle Analytics Cloud : Oracle Analytics Cloud est une plate-forme d'analyse et Business Intelligence (BI) cloud entièrement gérée, conçue comme une plate-forme complète qui permet aux professionnels et aux analystes de repérer les informations et les tendances pour prendre des décisions basées sur les données. Pour plus d'informations, reportez-vous à Oracle Analytics Cloud.
Architecture de niveau supérieur
Objectifs
- Capturez les événements Oracle Cloud Guard dans Oracle Analytics Cloud.
Prérequis
-
Compréhension générale d'OCI, d'OCI Events Service et d'Oracle Cloud Guard.
-
Provisionner Oracle Autonomous Database et connaître Oracle REST Data Services (ORDS).
-
Connaissances de base sur OCI Functions et la sécurité.
Tâche 1 : configurer Oracle Cloud Guard pour déclencher des événements cloud
Configurez Oracle Cloud Guard pour qu'il réponde aux recettes de détecteur. Les règles de répondeur doivent s'assurer que le statut de l'événement Oracle Cloud Guard est défini sur Activé, comme indiqué dans l'image suivante.
Tâche 2 : création de règles de service OCI Events pour détecter les problèmes Oracle Cloud Guard et appeler OCI Functions
-
OCI Events Service vous permet de créer une automatisation basée sur les modifications d'état des ressources dans la location. L'utilisation d'événements permet aux équipes de développement de réagir automatiquement lorsqu'une ressource change d'état.
Pour obtenir les événements, accédez à Observation 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 indiqué 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 la capture d'écran suivante.
Ajoutez une action pour transférer les événements Cloud Guard vers une fonction, comme indiqué ci-dessous.
Configurer les types d'événement.
Tâche 3 : créer une fonction pour transmettre des événements à AJD
-
Accédez à la console OCI, accédez aux services de développeur et cliquez sur Fonctions.
-
Sélectionnez une application existante ou cliquez sur Créer une application. Créez des fonctions OCI dans votre application. Pour plus d'informations, reportez-vous à Fonctions QuickStart sur Cloud Shell.
Remarque : en supposant que vous avez satisfait aux prérequis.
-
Exécutez la commande suivante pour afficher votre application dans la liste des applications.
fn ls apps
-
Il est recommandé de créer d'abord une fonction Python boilerplate. La commande
fn init – runtime oci-event-to-db
génère 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 : mettre à plat 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 Events. Exécutez l'instruction SQL suivante.
SELECT * FROM EVENTS
-
Etant donné que les événements Oracle Cloud Guard sont stockés au format JSON (Java Script Object Notation), ils doivent être mis à plat ou convertis au format relationnel pour qu'Oracle Analytics Cloud puisse analyser les données.
Pour mettre à plat la base de données, procédez comme suit :
-
Créez un index sur la table Events et exécutez l'instruction SQL suivante pour le mettre à plat.
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 : connexion à Oracle Analytics Cloud
-
Une fois la base de données convertie au format relationnel à partir de JSON, connectez-vous à Oracle Analytics Cloud. Accédez à la console OCI, accédez à l'instance AJD et, en cliquant sur la connexion de base de données, fournissez les informations d'identification et téléchargez le portefeuille, comme indiqué dans l'image suivante.
-
Connectez-vous à Oracle Analytics Cloud, cliquez sur Créer une connexion, cliquez sur Oracle Autonomous Data Warehouse et sélectionnez le portefeuille téléchargé à l'étape 1.
-
Une fois la connexion établie, OAC l'affiche sous Connexions comme suit.
-
Cliquez deux fois sur la connexion pour créer un ensemble de données dans OAC, développez le schéma et faites glisser la table sur le canevas.
Remerciements
-
Auteurs - Murtuza Madarwala (Ingénieur solutions cloud), Phil Dolbow (Ingénieur solutions cloud)
-
Contributeur - Kevin Colwell (Ingénieur solutions cloud)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation produit, consultez le site Oracle Help Center.
Capture Oracle Cloud Guard Events into Oracle Analytics Cloud
G27471-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.