Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Introduction à l' niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles propres à votre environnement en nuage.
Simplifier la surveillance continue des bases de données en automatisant l'enregistrement d'Oracle Data Safe avec l'interface de ligne de commande OCI
Présentation
Le maintien d'une cybersécurité robuste pour les bases de données Oracle est essentiel dans l'environnement de menaces complexe d'aujourd'hui. La surveillance continue est essentielle pour identifier de manière proactive les vulnérabilités, les erreurs de configuration et les menaces potentielles avant qu'elles ne puissent être exploitées. À mesure que les cybermenaces deviennent plus sophistiquées et ciblées, des évaluations régulières de la conformité, des activités inhabituelles et un accès non autorisé deviennent de plus en plus cruciales.
L'enregistrement manuel de plusieurs bases de données dans Oracle Data Safe à l'aide de la console Oracle Data Safe peut être laborieux et chronophage. Ce tutoriel offre une approche simplifiée pour automatiser le processus d'inscription à l'aide des commandes et des scripts de l'interface de ligne de commande OCI (interface de ligne de commande d'Oracle Cloud Infrastructure) dans l'interface OCI Cloud Shell, réduisant considérablement l'effort manuel et le temps requis.
Public cible
- Administrateurs de base de données et administrateurs de la sécurité OCI.
Objectifs
-
Automatisez l'enregistrement d'Oracle Data Safe à l'aide de l'interface de ligne de commande OCI pour réduire les efforts manuels et assurer une configuration cohérente.
Cas d'utilisation : Automatisation de l'ensemble de l'enregistrement et de la gestion d'Oracle Database en tant que service (DBaaS) avec Oracle Data Safe à l'aide de l'interface de ligne de commande OCI.
Dans ce tutoriel, nous vous présenterons l'automatisation de l'enregistrement d'Oracle Database en tant que service (DBaaS) avec Oracle Data Safe à l'aide de l'interface de ligne de commande OCI. Nous utiliserons un exemple simple pour démontrer le processus, en nous concentrant sur les commandes de l'interface de ligne de commande OCI adaptées à un compartiment spécifique où vous gérez vos opérations Oracle Data Safe. Ce tutoriel peut également servir de référence pour adapter la procédure d'enregistrement des bases de données cibles sur place. Pour plus d'informations, voir Enregistrer une base de données Oracle sur place.
Pour télécharger des scripts complets, voir Référentiel GitHub.
Préalables
-
Accédez à OCI Cloud Shell :
Pour commencer à utiliser OCI Cloud Shell, vous devez d'abord accorder l'accès des utilisateurs au moyen d'une politique Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). Pour plus d'informations, voir Cloud Shell pour OCI.
Exemple de politique IAM OCI pour autoriser l'accès :
allow group <GROUP-NAME> to use cloud-shell in tenancy
Si vous voulez spécifier un domaine, utilisez :
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy
-
Autorisation pour Oracle Data Safe :
Accorder l'autorisation de groupe d'utilisateurs à toutes les ressources Oracle Data Safe. Pour plus d'informations, voir Créer un groupe d'administrateurs d'Oracle Data Safe.
Exemple de politique IAM OCI :
Allow group Data-Safe-Admins to manage data-safe-family in tenancy
-
Créer un compte de service Oracle Data Safe dans toutes les bases de données cibles :
Chaque base de données cible pour Oracle Data Safe a besoin d'un compte de service. Les bases de données autonomes l'incluent par défaut, mais pour les bases de données non autonomes, vous devez les créer manuellement. Pour plus d'informations, voir Créer un compte de service Oracle Data Safe dans la base de données cible.
Commande SQL :
CREATE USER DATASAFEADMIN identified by password DEFAULT TABLESPACE "DATA" TEMPORARY TABLESPACE "TEMP"; GRANT CONNECT, RESOURCE TO DATASAFEADMIN;
Note :
- Le mot de passe doit comporter plus de 14 caractères, dont une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial.
- Évitez d'utiliser des tablespaces SYSTEM ou SYSAUX.
Pour accorder des rôles, téléchargez et exécutez le script
datasafe_privileges.sql
à partir de la console Oracle Data Safe. Exécutez le script en tant que SYS. Pour plus d'informations, voir Accorder des rôles au compte de service Oracle Data Safe dans la base de données cible.Exemple de sortie de script :
SQL> @datasafe_privileges.sql DATASAFEADMIN GRANT ALL Enter value for USERNAME (case sensitive matching the username from dba_users) Setting USERNAME to DATASAFEADMIN Enter value for TYPE (grant/revoke) Setting TYPE to GRANT Enter value for MODE (audit_collection/audit_setting/data_discovery/masking/assessment/all) Setting MODE to ALL Granting AUDIT_COLLECTION privileges to "DATASAFEADMIN" ... Granting AUDIT_SETTING privileges to "DATASAFEADMIN" ... Granting DATA_DISCOVERY role to "DATASAFEADMIN" ... Granting MASKING role to "DATASAFEADMIN" ... Granting ASSESSMENT role to "DATASAFEADMIN" ... Done. Disconnected from Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.1.0.0.0 [oracle@dbcs21c ~]$
Tâche 1 : Accéder à Cloud Shell pour OCI
Accédez à Cloud Shell pour OCI afin d'utiliser ses capacités intégrées.
-
Connectez-vous à la console OCI.
-
Cliquez sur l'icône Cloud Shell/Ééditeur de code dans l'en-tête de la console et sélectionnez Cloud Shell dans le menu déroulant. Notez que l'interface de ligne de commande OCI s'exécutant dans OCI Cloud Shell exécutera les commandes par rapport à la région sélectionnée dans le menu de sélection de région de la console au moment du démarrage d'OCI Cloud Shell.
Tâche 2 : Créer des points d'extrémité privés pour les bases de données cibles
Oracle Data Safe prend en charge la connectivité aux bases de données Oracle à l'aide d'adresses IP publiques ou privées. Pour les bases de données avec des adresses IP privées, vous disposez de deux options : un point d'extrémité privé Oracle Data Safe ou un connecteur sur place Oracle Data Safe. Dans ce tutoriel, nous allons nous concentrer sur la création de points d'extrémité privés pour l'enregistrement des bases de données DBaaS.
Nom du script : generate_private_endpoints_and_commands_for_missing_vcns.sh
.
Description : Ce script identifie les réseaux en nuage virtuels d'un compartiment OCI spécifié qui ne comportent pas de points d'extrémité privés Oracle Data Safe. Il génère un fichier CSV répertoriant les réseaux en nuage virtuels manquants et les sous-réseaux associés, et crée un script d'interpréteur de commandes contenant l'interface de ligne de commande OCI pour créer les points d'extrémité privés nécessaires pour chaque VCN.
Voici la marche à suivre :
-
Invitez l'utilisateur pour l'OCID du compartiment.
-
Identifiez les réseaux en nuage virtuels pour lesquels il manque des points d'extrémité privés Oracle Data Safe.
-
Répertoriez les réseaux en nuage virtuels manquants et leurs sous-réseaux associés.
-
Générez un fichier CSV nommé
list_vcns_without_private_endpoints.csv
avec les détails des réseaux en nuage virtuels et des sous-réseaux manquants. -
Créez un script d'interpréteur de commandes nommé
create_private_endpoints_commands.sh
contenant les commandes de l'interface de ligne de commande OCI pour créer des points d'extrémité privés pour les réseaux en nuage virtuels identifiés.
Exemple de sortie :
Tâche 3 : Générer les données d'identification de la base de données cible au format JSON
Dans ce tutoriel, un seul compte de service Oracle Data Safe est utilisé pour toutes les bases de données cibles. Par conséquent, le fichier JSON des données d'identification de base de données sera le même pour toutes les bases de données cibles.
Nom du script : generate_target_db_credentials.sh
.
Description : Ce script invite l'utilisateur à entrer un nom d'utilisateur et un mot de passe, puis crée un fichier JSON nommé Credentials_Target_DBaaS.json
contenant les données d'identification fournies. Le fichier JSON est utilisé pour stocker en toute sécurité le nom d'utilisateur et le mot de passe de la base de données cible.
Voici la marche à suivre :
-
Invitez l'utilisateur à entrer un nom d'utilisateur.
-
Invitez l'utilisateur à entrer un mot de passe.
-
Créez un fichier JSON nommé
Credentials_Target_DBaaS.json
contenant le nom d'utilisateur et le mot de passe.
Exemple de sortie de script :
Tâche 4 : Générer les options de connexion de point d'extrémité privé au format JSON
Nom du script : generate_Connection_Options_private_endpoints.sh
.
Description : Ce script automatise le processus de liste des réseaux en nuage virtuels, des sous-réseaux et des points d'extrémité privés Oracle Data Safe dans un compartiment OCI. Il génère un fichier CSV contenant des informations détaillées sur chaque point d'extrémité privé, y compris les noms de VCN et de sous-réseau associés, et crée des fichiers JSON individuels pour chaque point d'extrémité afin de définir les options de connexion à Oracle Data Safe.
Voici la marche à suivre :
-
Invitez l'utilisateur pour l'ID compartiment.
-
Répertoriez tous les réseaux en nuage virtuels et enregistrez la sortie dans
vcn_list.txt
. -
Répertoriez tous les sous-réseaux et enregistrez la sortie dans
subnet_list.txt
. -
Répertoriez tous les points d'extrémité privés d'Oracle Data Safe et enregistrez la sortie dans
PE_list.txt
. -
Générez un fichier CSV nommé
list_All_private_endpoints_details.csv
avec des informations détaillées sur chaque point d'extrémité privé. -
Créez des fichiers JSON pour chaque point d'extrémité privé afin de spécifier les options de connexion à Oracle Data Safe.
Exemple de sortie de script :
Tâche 5 : Enregistrer des bases de données autonomes dans Oracle Data Safe
Lors de l'enregistrement d'une base de données Oracle Autonomous Database Serverless avec un accès sécurisé de partout, vous n'avez pas besoin de sélectionner d'option de connectivité ni de spécifier les détails du compte de service, car ceux-ci sont inclus par défaut. Dans ce tutoriel, nous montrerons comment gérer et enregistrer Oracle Autonomous Database Serverless.
Nom du script : generate_Autonomous_database_details_with_data_safe.sh
.
Description : Ce script automatise le processus de liste des bases de données autonomes Oracle dans un compartiment OCI et de vérification de leur statut d'enregistrement Oracle Data Safe. Il génère un fichier CSV contenant les détails de toutes les bases de données autonomes Oracle et crée des fichiers JSON pour les bases de données qui ne sont pas enregistrées dans Oracle Data Safe. En outre, le script prépare les commandes d'enregistrement d'Oracle Data Safe pour chaque base de données non enregistrée et les enregistre dans un script d'interpréteur de commandes. Cela permet aux utilisateurs d'enregistrer rapidement les bases de données non enregistrées en exécutant les commandes générées.
Voici la marche à suivre :
-
Invite pour l'ID compartiment.
-
Générez un fichier CSV avec les détails d'Oracle Autonomous Database.
-
Créez des fichiers JSON pour les bases de données non enregistrées.
-
Préparez les commandes d'enregistrement d'Oracle Data Safe dans un script d'interpréteur de commandes.
-
Exécutez les commandes d'enregistrement pour enregistrer les bases de données.
Exemple de sortie de script :
Tâche 6 : Enregistrer des bases de données Oracle Cloud dans Oracle Data Safe
Nom du script : generate_Cloud_database_details_with_data_safe.sh
.
Description : Automatise l'extraction et le traitement des détails de la base de données en nuage Oracle et de leurs points d'extrémité privés, en créant des fichiers de configuration JSON et en générant des commandes d'enregistrement pour Oracle Data Safe.
Voici la marche à suivre :
-
Invite pour l'ID compartiment.
-
Répertoriez les bases de données DBaaS et enregistrez-les dans
Output1.txt
. -
Ajoutez des ID sous-réseau pour les bases de données dont les ID grappe de machines virtuelles et les ID système de base de données sont manquants.
-
Enregistrez les résultats dans
Oracle_Cloud_Databases_Details.csv
. -
Répertoriez les points d'extrémité privés et enregistrez-les dans
Datasafe_Private-Endpoint_List.txt
. -
Générez des fichiers JSON pour chaque nom de base de données enfichable.
-
Créez des commandes d'enregistrement dans
Datasafe_CloudDB_Registration_Commands.sh
.
Exemple de sortie de script :
Tâche 7 : Mettre à jour les programmes d'évaluation de la sécurité et des utilisateurs
Vous pouvez configurer des programmes pour enregistrer automatiquement les dernières évaluations de sécurité et d'utilisateur pour vos bases de données cibles dans un compartiment désigné dans OCI. Pour plus d'informations, voir Programmer des évaluations de sécurité et Programmer des évaluations d'utilisateurs.
Nom du script : generate_datasafe_assessment_schedules.sh
.
Description : Ce script d'interpréteur de commandes est conçu pour automatiser le processus d'extraction des bases de données cibles Oracle Data Safe, leurs évaluations de sécurité et d'utilisateur correspondantes, et pour générer des programmes de mise à jour pour OCI. Le script invite l'utilisateur à entrer un ID compartiment, extrait les bases de données cibles actives dans Oracle Data Safe et génère deux scripts de programmation de mise à jour, l'un pour les évaluations de sécurité et l'autre pour les évaluations d'utilisateur.
Voici la marche à suivre :
-
Invite pour l'ID compartiment.
-
Entrez l'ID compartiment.
-
Lister les cibles actives : Enregistrez-les dans
Datasafe_Active_TargetDB_list.txt
. -
Extraire des évaluations : Ajoutez des détails à
Datasafe_Active_TargetDBs.txt
. -
Générer des scripts : Créez
schedule_security_assessments.sh
etschedule_user_assessments.sh
.
Exemple de sortie de script :
Tâche 8 : Commencer à collecter les journaux de vérification pour les bases de données cibles
Lorsqu'une base de données cible est enregistrée, Oracle Data Safe détecte automatiquement les pistes de vérification disponibles et crée une ressource de piste de vérification correspondante pour chaque base de données cible. Une fois la collecte de la piste de vérification démarrée, Oracle Data Safe copie les enregistrements de vérification de la base de données cible dans son référentiel pour la surveillance et l'analyse. Vous pouvez contrôler la collecte des données de vérification en la démarrant ou en l'arrêtant au besoin. Pour plus d'informations, voir Pistes de vérification.
Nom du script : Generate_DataSafe_Audit_Collection_Scripts.sh
.
Description : Le script, Generate_DataSafe_Audit_Collection_Scripts.sh
, automatise le processus de collecte des données de piste de vérification pour les bases de données cibles Oracle Data Safe. Il invite l'utilisateur à entrer un ID compartiment et une heure de début de collecte de piste de vérification, extrait les pistes de vérification avec le statut NOT_STARTED et génère un script d'interpréteur de commandes unique pour lancer la collecte de piste de vérification pour toutes les bases de données cibles.
Voici la marche à suivre :
-
Entrer un ID compartiment : Invite l'utilisateur pour l'ID compartiment OCI.
-
Entrer l'heure de début : Invites pour l'heure de début de la collecte de vérification au format
YYYY-MM-DD
. -
Extraire les pistes de vérification : Extrait les pistes de vérification ayant le statut NOT_STARTED à partir d'OCI.
-
Générer un fichier CSV : Extrait les données de piste de vérification pertinentes dans
audit_trails.csv
. -
Créer un script : Génère
Data_safe_Target_DB_Audit_Collection_Start.sh
avec des commandes pour démarrer la collecte de vérification pour toutes les cibles.
Exemple de sortie de script :
Tâche 9 : Préparer un inventaire Oracle Data Safe
Nom du script : generate_data_safe_db_inventory.sh
.
Description : Ce script d'interpréteur de commandes interagit avec OCI pour extraire et traiter les informations de base de données cible Oracle Data Safe en fonction de leurs types : AUTONOMOUS_DATABASE, DATABASE_CLOUD_SERVICE et INSTALLED_DATABASE. Il génère des fichiers de sortie avec des informations détaillées sur chaque type de base de données.
Voici la marche à suivre :
-
ID compartiment d'entrée : Invitez l'utilisateur à entrer l'ID compartiment où se trouvent les bases de données.
-
Lister et filtrer les bases de données : Listez toutes les bases de données cibles Oracle Data Safe dans le compartiment spécifié et filtrez-les par type.
-
Extraire les détails de la base de données :
-
AUTONOMOUS_DATABASE : Extrayez des détails tels que le nom d'affichage, l'ID base de données et le type d'infrastructure.
-
DATABASE_CLOUD_SERVICE : Extrayez des détails tels que l'ID système de base de données, l'ID grappe de machines virtuelles (traitement des valeurs nulles) et le port du module d'écoute.
-
INSTALLED_DATABASE : Extraire les informations, notamment l'ID instance, les adresses IP et le nom du service.
-
-
Générer des fichiers de sortie : Créez des fichiers distincts pour chaque type de base de données avec les détails collectés.
-
Nettoyer : Supprimez les fichiers temporaires et finalisez la sortie.
Exemple de sortie de script :
Liens connexes
Confirmation
-
Auteur - Alex Kovuru (architecte en nuage principal)
-
Contributeur - Indiradarshni Balasundaram (ingénieur en nuage)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.
Streamline Continuous Database Monitoring by Automating Oracle Data Safe Registration with OCI CLI
G15071-01
September 2024