Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction au niveau gratuit d'Oracle Cloud Infrastructure.
- 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.
Simplifier la surveillance continue des bases de données en automatisant l'inscription d'Oracle Data Safe avec l'interface de ligne de commande OCI
Introduction
Le maintien d'une posture robuste en matière de cybersécurité 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 des accès non autorisés deviennent de plus en plus cruciales.
L'inscription manuelle de plusieurs bases de données dans Oracle Data Safe à l'aide de la console Oracle Data Safe peut être fastidieuse et fastidieuse. Ce tutoriel offre une approche rationalisée pour automatiser le processus d'inscription à l'aide des commandes et des scripts de l'interface de ligne de commande Oracle Cloud Infrastructure (interface de ligne de commande OCI) dans l'interface OCI Cloud Shell, ce qui réduit considérablement les efforts manuels et le temps requis.
Public
- Administrateurs de base de données et administrateurs de sécurité OCI.
Objectifs
-
Automatisez l'inscription d'Oracle Data Safe à l'aide de l'interface de ligne de commande OCI pour réduire les efforts manuels et garantir une configuration cohérente.
Cas d'emploi : automatisation de l'ensemble de l'inscription 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 guiderons tout au long de l'automatisation de l'inscription d'Oracle Database en tant que service (DBaaS) auprès d'Oracle Data Safe à l'aide de l'interface de ligne de commande OCI. Nous allons utiliser un exemple simple pour illustrer le processus, en nous concentrant sur les commandes d'interface de ligne de commande OCI adaptées à un compartiment spécifique dans lequel vous gérez vos opérations Oracle Data Safe. Ce tutoriel peut également servir de référence pour adapter la procédure d'inscription de vos bases de données cible sur site. Pour plus d'informations, reportez-vous à Inscription d'une base de données sur site Oracle.
Pour télécharger des scripts complets, reportez-vous à GitHub Repository.
Prérequis
-
Accédez à OCI Cloud Shell :
Pour commencer à utiliser OCI Cloud Shell, vous devez d'abord accorder l'accès utilisateur via une stratégie Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). Pour plus d'informations, reportez-vous à OCI Cloud Shell.
Exemple de stratégie OCI IAM pour autoriser l'accès :
allow group <GROUP-NAME> to use cloud-shell in tenancy
Si vous voulez indiquer un domaine, utilisez :
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy
-
Droits d'accès pour Oracle Data Safe :
Accordez des droits d'accès au groupe d'utilisateurs sur toutes les ressources Oracle Data Safe. Pour plus d'informations, reportez-vous à Création d'un groupe d'administrateurs Oracle Data Safe.
Exemple de stratégie OCI IAM :
Allow group Data-Safe-Admins to manage data-safe-family in tenancy
-
Créez un compte de service Oracle Data Safe dans toutes les bases de données cible :
Chaque base de données cible pour Oracle Data Safe a besoin d'un compte de service. Les bases de données autonomes incluent cela par défaut, mais pour les bases de données non autonomes, vous devez le créer manuellement. Pour plus d'informations, reportez-vous à Création d'un compte de service Oracle Data Safe sur 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;
Remarque :
- Le mot de passe doit contenir plus de 14 caractères, dont une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial.
- Evitez 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 qu'utilisateur SYS. Pour plus d'informations, reportez-vous à Octroi de rôles au compte de service Oracle Data Safe sur 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ès à OCI Cloud Shell
Accédez à OCI Cloud Shell pour utiliser ses fonctionnalités intégrées.
-
Connectez-vous à la console OCI.
-
Cliquez sur l'icône Cloud Shell/Editeur de code dans l'en-tête de console et sélectionnez Cloud Shell dans le menu déroulant. L'interface de ligne de commande OCI exécutée dans OCI Cloud Shell exécute les commandes au niveau de la région sélectionnée dans le menu de sélection de région de la console au démarrage d'OCI Cloud Shell.
Tâche 2 : créer des adresses privées pour les bases de données cible
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 : une adresse privée Oracle Data Safe ou un connecteur sur site Oracle Data Safe. Dans ce tutoriel, nous allons nous concentrer sur la création d'adresses privées pour l'inscription de bases de données DBaaS.
Nom de script : generate_private_endpoints_and_commands_for_missing_vcns.sh
.
Description : ce script identifie les réseaux cloud virtuels dans un compartiment OCI indiqué qui ne disposent pas d'adresses privées Oracle Data Safe. Il génère un fichier CSV répertoriant les réseaux cloud virtuels manquants et leurs sous-réseaux associés, et crée un script shell contenant les commandes de l'interface de ligne de commande OCI afin de créer les adresses privées nécessaires pour chaque VCN.
Suivez les étapes décrites :
-
Invitez l'utilisateur à saisir l'OCID du compartiment.
-
Identifiez les réseaux cloud virtuels pour lesquels des adresses privées Oracle Data Safe sont manquantes.
-
Répertoriez les réseaux cloud 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 cloud virtuels et des sous-réseaux manquants. -
Créez un script shell nommé
create_private_endpoints_commands.sh
contenant les commandes de l'interface de ligne de commande OCI afin de créer des adresses privées pour les réseaux cloud virtuels identifiés.
Exemple de sortie :
Tâche 3 : génération des informations d'identification de base de données cible au format JSON
Dans ce tutoriel, un seul compte de service Oracle Data Safe est utilisé dans toutes les bases de données cible. Par conséquent, le fichier JSON d'informations d'identification de base de données sera le même pour toutes les bases de données cible.
Nom de script : generate_target_db_credentials.sh
.
Description : ce script invite l'utilisateur à saisir un nom utilisateur et un mot de passe, puis crée un fichier JSON nommé Credentials_Target_DBaaS.json
contenant les informations d'identification fournies. Le fichier JSON est utilisé pour stocker en toute sécurité le nom utilisateur et le mot de passe de la base de données cible.
Suivez les étapes décrites :
-
Invitez l'utilisateur à saisir un nom utilisateur.
-
Invitez l'utilisateur à saisir un mot de passe.
-
Créez un fichier JSON nommé
Credentials_Target_DBaaS.json
contenant le nom utilisateur et le mot de passe.
Exemple de sortie de script :
Tâche 4 : génération des options de connexion d'adresse privée au format JSON
Nom de script : generate_Connection_Options_private_endpoints.sh
.
Description : ce script automatise le processus consistant à répertorier les réseaux cloud virtuels, les sous-réseaux et les adresses privées Oracle Data Safe dans un compartiment OCI. Il génère un fichier CSV contenant des informations détaillées sur chaque adresse privée, y compris les noms de VCN et de sous-réseau associés, et crée des fichiers JSON individuels pour chaque adresse afin de définir les options de connexion Oracle Data Safe.
Suivez les étapes décrites :
-
Demandez à l'utilisateur l'ID de compartiment.
-
Répertoriez tous les réseaux cloud 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 toutes les adresses privées 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 adresse privée. -
Créez des fichiers JSON pour chaque adresse privée afin d'indiquer les options de connexion Oracle Data Safe.
Exemple de sortie de script :
Tâche 5 : inscription de bases de données autonomes à Oracle Data Safe
Lors de l'inscription d'un serveur Oracle Autonomous Database Serverless auprès de Secure Access from Everywhere, vous n'avez pas besoin de sélectionner d'option de connectivité ni de spécifier les détails du compte de service, car ils sont inclus par défaut. Dans ce tutoriel, nous montrons comment gérer et inscrire Oracle Autonomous Database Serverless.
Nom de script : generate_Autonomous_database_details_with_data_safe.sh
.
Description : ce script automatise le processus consistant à répertorier les bases de données autonomes Oracle dans un compartiment OCI et à vérifier leur statut d'inscription 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 inscrites auprès d'Oracle Data Safe. En outre, le script prépare les commandes d'inscription Oracle Data Safe pour chaque base de données non inscrite et les enregistre dans un script shell. Cela permet aux utilisateurs d'inscrire rapidement les bases de données non inscrites en exécutant les commandes générées.
Suivez les étapes décrites :
-
Invite pour l'ID de 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 inscrites.
-
Préparez les commandes d'inscription Oracle Data Safe dans un script shell.
-
Exécutez les commandes d'inscription pour inscrire les bases de données.
Exemple de sortie de script :
Tâche 6 : inscription de bases de données Oracle Cloud à Oracle Data Safe
Nom de script : generate_Cloud_database_details_with_data_safe.sh
.
Description : automatise l'extraction et le traitement des détails de base de données cloud Oracle et de leurs adresses privées, en créant des fichiers de configuration JSON et en générant des commandes d'inscription pour Oracle Data Safe.
Suivez les étapes décrites :
-
Invite pour l'ID de compartiment.
-
Répertoriez les bases de données DBaaS et enregistrez-les dans
Output1.txt
. -
Ajoutez des ID de sous-réseau pour les bases de données dont les ID de cluster de machines virtuelles et de système de base de données sont manquants.
-
Enregistrez les résultats dans
Oracle_Cloud_Databases_Details.csv
. -
Répertoriez les adresses privées et enregistrez-les dans
Datasafe_Private-Endpoint_List.txt
. -
Générez des fichiers JSON pour chaque nom de base de données pluggable.
-
Créez des commandes d'enregistrement dans
Datasafe_CloudDB_Registration_Commands.sh
.
Exemple de sortie de script :
Tâche 7 : mise à jour des programmations d'évaluation de la sécurité et des utilisateurs
Vous pouvez configurer des programmations afin d'enregistrer automatiquement les dernières évaluations de la sécurité et des utilisateurs pour vos bases de données cible dans un compartiment désigné dans OCI. Pour plus d'informations, reportez-vous à Programmation des évaluations de sécurité et à Programmation des évaluations des utilisateurs.
Nom de script : generate_datasafe_assessment_schedules.sh
.
Description : ce script shell est conçu pour automatiser le processus d'extraction des bases de données cible Oracle Data Safe, leurs évaluations de sécurité et utilisateur correspondantes, et pour générer des programmations de mise à jour pour OCI. Le script invite l'utilisateur à saisir un ID de compartiment, extrait les bases de données cible actives dans Oracle Data Safe et génère deux scripts de programmation de mise à jour : un pour les évaluations de sécurité et un pour les évaluations des utilisateurs.
Suivez les étapes décrites :
-
Invite pour l'ID de compartiment.
-
Entrez l'ID compartiment.
-
Liste des cibles actives : enregistrez-les dans
Datasafe_Active_TargetDB_list.txt
. -
Extraire les évaluations : ajoutez les détails à la fin de
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 : démarrer la collecte des journaux d'audit pour les bases de données cible
Lorsqu'une base de données cible est inscrite, Oracle Data Safe détecte automatiquement les traces d'audit disponibles et crée une ressource de trace d'audit correspondante pour chaque base de données cible. Une fois la collecte de trace d'audit démarrée, Oracle Data Safe copie les enregistrements d'audit de la base de données cible dans son référentiel à des fins de surveillance et d'analyse. Vous pouvez contrôler la collecte de données d'audit en la démarrant ou en l'arrêtant si nécessaire. Pour plus d'informations, reportez-vous à la section Traces d'audit.
Nom de 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 trace d'audit pour les bases de données cible Oracle Data Safe. Il invite l'utilisateur à saisir un ID de compartiment et une heure de début de collecte de trace d'audit, extrait les traces d'audit dont le statut est NOT_STARTED et génère un script shell unique pour lancer la collecte de trace d'audit pour toutes les bases de données cible.
Suivez les étapes décrites :
-
Entrer l'ID de compartiment : invite l'utilisateur à saisir l'ID de compartiment OCI.
-
Entrer l'heure de début : invite l'heure de début de la collecte d'audit au format
YYYY-MM-DD
. -
Extraire les traces d'audit : extrait les traces d'audit avec le statut NOT_STARTED à partir d'OCI.
-
Générer un fichier CSV : extrait les données de piste d'audit pertinentes dans
audit_trails.csv
. -
Créer un script : génère
Data_safe_Target_DB_Audit_Collection_Start.sh
avec des commandes permettant de démarrer la collecte d'audit pour toutes les cibles.
Exemple de sortie de script :
Tâche 9 : préparation d'un inventaire Oracle Data Safe
Nom de script : generate_data_safe_db_inventory.sh
.
Description : ce script shell 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.
Suivez les étapes décrites :
-
ID de compartiment d'entrée : invitez l'utilisateur à entrer l'ID de compartiment dans lequel se trouvent les bases de données.
-
Répertorier et filtrer les bases de données : répertoriez toutes les bases de données cible Oracle Data Safe dans le compartiment indiqué et filtrez-les par type.
-
Extraire les détails de base de données :
-
AUTONOMOUS_DATABASE : récupérez des détails tels que le nom d'affichage, l'ID de base de données et le type d'infrastructure.
-
DATABASE_CLOUD_SERVICE : récupérez des détails tels que l'ID de système de base de données, l'ID de cluster de machines virtuelles (gestion des valeurs NULL) et le port de processus d'écoute.
-
INSTALLED_DATABASE : récupérez des informations, notamment l'ID d'instance, les adresses IP et le nom de 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.
-
Nettoyage : enlevez les fichiers temporaires et finalisez la sortie.
Exemple de sortie de script :
Liens connexes
Remerciements
-
Auteur - Alex Kovuru (architecte cloud principal)
-
Contributeur - Indiradarshni Balasundaram (Ingénieur 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.
Streamline Continuous Database Monitoring by Automating Oracle Data Safe Registration with OCI CLI
G15072-01
September 2024