Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Optimice la supervisión continua de bases de datos automatizando el registro de Oracle Data Safe con la CLI de OCI
Introducción
Mantener una sólida postura de ciberseguridad para las bases de datos de Oracle es esencial en el complejo entorno de amenazas actual. La supervisión continua es clave para identificar de forma proactiva vulnerabilidades, configuraciones erróneas y amenazas potenciales antes de que se puedan explotar. A medida que las amenazas cibernéticas se vuelven más sofisticadas y específicas, las evaluaciones periódicas para el cumplimiento, las actividades inusuales y el acceso no autorizado son cada vez más cruciales.
El registro manual de varias bases de datos en Oracle Data Safe mediante la consola de Oracle Data Safe puede requerir mucho trabajo y mucho tiempo. Este tutorial ofrece un enfoque optimizado para automatizar el proceso de registro mediante comandos y scripts de la interfaz de línea de comandos de Oracle Cloud Infrastructure (OCI CLI) dentro de la interfaz de OCI Cloud Shell, lo que reduce significativamente el esfuerzo y el tiempo manuales necesarios.
Público Objetivo
- Administradores de base de datos y administradores de seguridad de OCI.
Objetivos
-
Automatice el registro de Oracle Data Safe mediante la CLI de OCI para reducir los esfuerzos manuales y garantizar una configuración coherente.
Caso de uso: automatizar todo el registro y la gestión de Oracle Database como servicio (DBaaS) con Oracle Data Safe mediante la CLI de OCI.
En este tutorial, le guiaremos a través de la automatización del registro de Oracle Database como servicio (DBaaS) con Oracle Data Safe mediante la CLI de OCI. Utilizaremos un ejemplo sencillo para demostrar el proceso, centrándonos en los comandos de la CLI de OCI adaptados a un compartimento específico en el que gestione sus operaciones de Oracle Data Safe. Este tutorial también puede servir como referencia para adaptar el procedimiento de registro de las bases de datos de destino locales. Para obtener más información, consulte Registro de una base de datos local de Oracle.
Para descargar scripts completos, consulte GitHub Repository.
Requisitos
-
Acceda a OCI Cloud Shell:
Para empezar a utilizar OCI Cloud Shell, primero debe otorgar acceso de usuario mediante una política de Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). Para obtener más información, consulte OCI Cloud Shell.
Ejemplo de política de OCI IAM para permitir el acceso:
allow group <GROUP-NAME> to use cloud-shell in tenancy
Si desea especificar un dominio, utilice:
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy
-
Permiso para Oracle Data Safe:
Otorgue permiso de grupo de usuarios a todos los recursos de Oracle Data Safe. Para obtener más información, consulte Creación de un grupo de administradores de Oracle Data Safe.
Ejemplo de política de OCI IAM:
Allow group Data-Safe-Admins to manage data-safe-family in tenancy
-
Crear una cuenta de servicio de Oracle Data Safe en todas las bases de datos de destino:
Cada base de datos de destino de Oracle Data Safe necesita una cuenta de servicio. Las bases de datos autónomas incluyen esto por defecto, pero para las bases de datos no autónomas, debe crearlo manualmente. Para obtener más información, consulte Creación de una cuenta de servicio de Oracle Data Safe en su base de datos de destino.
Comando SQL:
CREATE USER DATASAFEADMIN identified by password DEFAULT TABLESPACE "DATA" TEMPORARY TABLESPACE "TEMP"; GRANT CONNECT, RESOURCE TO DATASAFEADMIN;
Nota:
- La contraseña debe tener más de 14 caracteres, incluidos una letra mayúscula, una letra minúscula, un número y un carácter especial.
- Evite utilizar tablespaces SYSTEM o SYSAUX.
Para otorgar roles, descargue y ejecute el script
datasafe_privileges.sql
desde la consola de Oracle Data Safe. Ejecute el archivo de comandos como SYS. Para obtener más información, consulte Otorgamiento de roles a la cuenta de servicio de Oracle Data Safe en la base de datos de destino.Salida de script de ejemplo:
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 ~]$
Tarea 1: Acceso a OCI Cloud Shell
Acceda a OCI Cloud Shell para utilizar sus capacidades integradas.
-
Conéctese a la consola de OCI.
-
Haga clic en el icono de Cloud Shell/Code Editor en la cabecera de la consola y seleccione Cloud Shell en el menú desplegable. Tenga en cuenta que la CLI de OCI que se ejecuta en OCI Cloud Shell ejecutará comandos con la región seleccionada en el menú de selección de región de consola cuando se inició OCI Cloud Shell.
Tarea 2: Creación de puntos finales privados para bases de datos de destino
Oracle Data Safe soporta la conectividad a bases de datos de Oracle mediante direcciones IP públicas o privadas. Para bases de datos con direcciones IP privadas, tiene dos opciones: un punto final privado de Oracle Data Safe o un conector local de Oracle Data Safe. En este tutorial, nos centraremos en la creación de puntos finales privados para registrar bases de datos DBaaS.
Nombre del script: generate_private_endpoints_and_commands_for_missing_vcns.sh
.
Descripción: este script identifica las VCN en un compartimento de OCI especificado que carecen de puntos finales privados de Oracle Data Safe. Genera un archivo CSV que muestra las VCN que faltan y sus subredes asociadas y crea un script de shell que contiene comandos de la CLI de OCI para crear los puntos finales privados necesarios para cada VCN.
Realice los pasos:
-
Solicite al usuario el OCID del compartimento.
-
Identifique las VCN a las que les faltan puntos finales privados de Oracle Data Safe.
-
Muestre las VCN que faltan y sus subredes asociadas.
-
Genere un archivo CSV denominado
list_vcns_without_private_endpoints.csv
con detalles de las redes virtuales en la nube y las subredes que faltan. -
Cree un script de shell denominado
create_private_endpoints_commands.sh
que contenga comandos de la CLI de OCI para crear puntos finales privados para las VCN identificadas.
Salida de ejemplo:
Tarea 3: Generación de credenciales de base de datos de destino en formato JSON
En este tutorial, se utiliza una única cuenta de servicio de Oracle Data Safe en todas las bases de datos de destino. Por lo tanto, el archivo JSON de credenciales de base de datos será el mismo para todas las bases de datos de destino.
Nombre del script: generate_target_db_credentials.sh
.
Descripción: este script solicita al usuario que introduzca un nombre de usuario y una contraseña y, a continuación, crea un archivo JSON denominado Credentials_Target_DBaaS.json
que contiene las credenciales proporcionadas. El archivo JSON se utiliza para almacenar de forma segura el nombre de usuario y la contraseña de la base de datos de destino.
Realice los pasos:
-
Solicite al usuario que introduzca un nombre de usuario.
-
Solicite al usuario que introduzca una contraseña.
-
Cree un archivo JSON denominado
Credentials_Target_DBaaS.json
que contenga el nombre de usuario y la contraseña.
Salida de script de ejemplo:
Tarea 4: Generar opciones de conexión de punto final privado en formato JSON
Nombre del script: generate_Connection_Options_private_endpoints.sh
.
Descripción: este script automatiza el proceso de enumeración de VCN, subredes y puntos finales privados de Oracle Data Safe en un compartimento de OCI. Genera un archivo CSV que contiene información detallada sobre cada punto final privado, incluidos los nombres de subred y VCN asociados, y crea archivos JSON individuales para cada punto final para definir las opciones de conexión de Oracle Data Safe.
Realice los pasos:
-
Solicite al usuario el ID de compartimento.
-
Muestre todas las redes virtuales en la nube y guarde la salida en
vcn_list.txt
. -
Muestre todas las subredes y guarde la salida en
subnet_list.txt
. -
Muestre todos los puntos finales privados de Oracle Data Safe y guarde la salida en
PE_list.txt
. -
Genere un archivo CSV denominado
list_All_private_endpoints_details.csv
con información detallada sobre cada punto final privado. -
Cree archivos JSON para cada punto final privado para especificar las opciones de conexión de Oracle Data Safe.
Salida de script de ejemplo:
Tarea 5: Registro de bases de datos autónomas en Oracle Data Safe
Al registrar una instancia de Oracle Autonomous Database Serverless con Secure Access from Everywhere, no es necesario que seleccione una opción de conectividad ni especifique los detalles de la cuenta de servicio, ya que se incluyen por defecto. En este tutorial, demostramos cómo gestionar y registrar Oracle Autonomous Database Serverless.
Nombre del script: generate_Autonomous_database_details_with_data_safe.sh
.
Descripción: este script automatiza el proceso de mostrar las bases de datos autónomas de Oracle en un compartimento de OCI y comprobar su estado de registro de Oracle Data Safe. Genera un archivo CSV que contiene detalles de todas las bases de datos autónomas de Oracle y crea archivos JSON para bases de datos que no están registradas con Oracle Data Safe. Además, el script prepara los comandos de registro de Oracle Data Safe para cada base de datos no registrada y los guarda en un script de shell. Esto permite a los usuarios registrar rápidamente bases de datos no registradas mediante la ejecución de los comandos generados.
Realice los pasos:
-
Petición de datos de ID de compartimento.
-
Genere un archivo CSV con los detalles de Oracle Autonomous Database.
-
Cree archivos JSON para bases de datos no registradas.
-
Prepare los comandos de registro de Oracle Data Safe en un script de shell.
-
Ejecute los comandos de registro para registrar las bases de datos.
Salida de script de ejemplo:
Tarea 6: Registro de bases de datos de Oracle Cloud en Oracle Data Safe
Nombre del script: generate_Cloud_database_details_with_data_safe.sh
.
Descripción: automatiza la extracción y el procesamiento de los detalles de la base de datos en la nube de Oracle y sus puntos finales privados, creando archivos de configuración de JSON y generando comandos de registro para Oracle Data Safe.
Realice los pasos:
-
Petición de datos de ID de compartimento.
-
Muestre las bases de datos DBaaS y guárdelas en
Output1.txt
. -
Agregue ID de subred para las bases de datos que carecen de ID de cluster de VM e ID de sistema de base de datos.
-
Guarde los resultados en
Oracle_Cloud_Databases_Details.csv
. -
Muestre los puntos finales privados y guárdelos en
Datasafe_Private-Endpoint_List.txt
. -
Genere archivos JSON para cada nombre de PDB.
-
Cree comandos de registro en
Datasafe_CloudDB_Registration_Commands.sh
.
Salida de script de ejemplo:
Tarea 7: Actualización de los programas de seguridad y evaluación de usuario
Puede configurar programas para guardar automáticamente las últimas evaluaciones de seguridad y usuario para las bases de datos de destino en un compartimento designado en OCI. Para obtener más información, consulte Programación de evaluaciones de seguridad y Programación de evaluaciones de usuario.
Nombre del script: generate_datasafe_assessment_schedules.sh
.
Descripción: este script de shell está diseñado para automatizar el proceso de recuperación de bases de datos de destino de Oracle Data Safe, sus evaluaciones de usuario y seguridad correspondientes y la generación de programas de actualización para OCI. El script solicita al usuario un ID de compartimento, recupera las bases de datos de destino activas en Oracle Data Safe y genera dos scripts de programa de actualización: uno para evaluaciones de seguridad y otro para evaluaciones de usuario.
Realice los pasos:
-
Petición de datos de ID de compartimento.
-
Introduzca el ID de compartimiento.
-
Mostrar destinos activos: guarde en
Datasafe_Active_TargetDB_list.txt
. -
Recuperar evaluaciones: agregue detalles a
Datasafe_Active_TargetDBs.txt
. -
Generar scripts: cree
schedule_security_assessments.sh
yschedule_user_assessments.sh
.
Salida de script de ejemplo:
Tarea 8: Iniciar la recopilación de logs de auditoría para las bases de datos de destino
Cuando se registra una base de datos de destino, Oracle Data Safe detecta automáticamente las pistas de auditoría disponibles y crea un recurso de pista de auditoría correspondiente para cada base de datos de destino. Una vez iniciada la recopilación de pistas de auditoría, Oracle Data Safe copia los registros de auditoría de la base de datos de destino en su repositorio para la supervisión y el análisis. Puede controlar la recopilación de datos de auditoría iniciándola o parándola según sea necesario. Para obtener más información, consulte Pistas de auditoría.
Nombre del script: Generate_DataSafe_Audit_Collection_Scripts.sh
.
Descripción: el script, Generate_DataSafe_Audit_Collection_Scripts.sh
, automatiza el proceso de recopilación de datos de pista de auditoría para bases de datos de destino de Oracle Data Safe. Solicita al usuario un ID de compartimento y una hora de inicio de recopilación de pista de auditoría, recupera las pistas de auditoría con el estado NOT_STARTED y genera un único script de shell para iniciar la recopilación de pistas de auditoría para todas las bases de datos de destino.
Realice los pasos:
-
Introducir ID de compartimento: solicita al usuario el ID de compartimento de OCI.
-
Introducir hora de inicio: solicita la hora de inicio de recopilación de auditoría en formato
YYYY-MM-DD
. -
Recuperar pistas de auditoría: recupera pistas de auditoría con el estado NOT_STARTED de OCI.
-
Generar CSV: extrae los datos de pista de auditoría relevantes en
audit_trails.csv
. -
Crear Script: Genera
Data_safe_Target_DB_Audit_Collection_Start.sh
con comandos para iniciar la recopilación de auditoría para todos los destinos.
Salida de script de ejemplo:
Tarea 9: Preparación de un inventario de Oracle Data Safe
Nombre del script: generate_data_safe_db_inventory.sh
.
Descripción: este script de shell interactúa con OCI para recuperar y procesar la información de la base de datos de destino de Oracle Data Safe en función de sus tipos: AUTONOMOUS_DATABASE, DATABASE_CLOUD_SERVICE y INSTALLED_DATABASE. Genera archivos de salida con información detallada sobre cada tipo de base de datos.
Realice los pasos:
-
ID de compartimento de entrada: solicite al usuario que introduzca el ID de compartimento donde se encuentran las bases de datos.
-
Mostrar y filtrar bases de datos: muestre todas las bases de datos de destino de Oracle Data Safe en el compartimento especificado y filtrelas por tipo.
-
Recuperar detalles de base de datos:
-
AUTONOMOUS_DATABASE: recupere detalles como el nombre mostrado, el ID de base de datos y el tipo de infraestructura.
-
DATABASE_CLOUD_SERVICE: recupere detalles como el ID del sistema de base de datos, el ID del cluster de VM (manejo de valores nulos) y el puerto del listener.
-
INSTALLED_DATABASE: recupere información, incluido el ID de instancia, las direcciones IP y el nombre del servicio.
-
-
Generar archivos de salida: cree archivos independientes para cada tipo de base de datos con los detalles recopilados.
-
Limpieza: elimine los archivos temporales y finalice la salida.
Salida de script de ejemplo:
Enlaces relacionados
Agradecimientos
-
Autor: Alex Kovuru (arquitecto principal de nube)
-
Colaborador - Indiradarshni Balasundaram (Ingeniero de la nube)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visita education.oracle.com/learning-explorer para convertirte en un Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Streamline Continuous Database Monitoring by Automating Oracle Data Safe Registration with OCI CLI
G15070-01
September 2024