Mejores prácticas para utilizar Database Tools
En esta sección se describen los procedimientos y las prácticas que pueden ayudarle a utilizar Database Tools de forma más fácil y eficaz.
Temas:
Uso de compartimentos
Las conexiones de base de datos son una función útil al otorgar acceso a la base de datos a un usuario específico o a grupos de usuarios definidos. Para ayudar a aislar estas conexiones, utilice políticas para otorgar acceso a conexiones específicas basadas en el rol de un usuario, como se muestra en el siguiente ejemplo:
Para una instancia de Autonomous Data Warehouse utilizada para la generación de informes, cree una conexión de base de datos compartida denominada ReportingDataAccess. Asigne esta conexión a un conjunto específico de usuarios finales de un grupo denominado Data Scientists. Los usuarios de este grupo ahora tienen acceso a los detalles de la conexión a la base de datos, pero están limitados a utilizar solo esta conexión y los roles y privilegios heredados por el usuario que utiliza la conexión para acceder a la base de datos.
También puede crear una conexión de administrador al almacén de datos y asignar un conjunto diferente de usuarios a esa conexión con un grupo denominado DatabaseAdministrators. Mediante compartimentos y políticas, puede separar el acceso a estas conexiones de la siguiente manera:
Grupo Científicos de datos:
- Cree un compartimento denominado Reporting.
- Cree un grupo en este compartimento denominado DataScientists.
- Cree una conexión a base de datos en el compartimento Reporting denominado ReportingDataAccess.
- Cree una política que proporcione acceso a la conexión del compartimento Reporting al grupo DataScientists:
-
Allow group DataScientists to read database-tools-family in compartment Reporting -
Allow group DataScientists to use database-tools-connections in compartment Reporting
-
Grupo Administradores de base de datos:
- Cree un compartimento denominado DBA.
- Cree un grupo en este compartimento denominado DatabaseAdministrators.
- Cree una conexión a base de datos denominada DatabaseAdmin en el compartimento DBA.
- Cree una política que otorgue acceso a la conexión del compartimento DBA a ese grupo:
-
Allow group DatabaseAdministrators to read database-tools-family in compartment DBA -
Allow group DatabaseAdministrators to use database-tools-connections in compartment DBA
-
Estos grupos y conexiones a base de datos específicas del compartimento ayudan a aislar qué usuarios pueden acceder a qué bases de datos y determinar el acceso que tienen.
Uso de puntos finales privados
Al crear conexiones a base de datos a una instancia de Autonomous Database que utiliza un punto final privado, cree un grupo de seguridad de red para proporcionar acceso desde Database Tools a esa base de datos. Al crear el grupo de seguridad de red, se definen reglas de acceso específicas que limitan las IP o los bloques CIDR que se pueden utilizar, así como los puertos o rangos de puertos.
Para la hoja de trabajo de SQL
Para configurar el juego mínimo de reglas de grupo de seguridad de red necesarias para proporcionar acceso desde la hoja de trabajo de SQL de Database Tools en la consola de OCI:
- En la página Detalles del punto final privado, busque el campo IP de origen de conexión inversas en la sección Información de punto final privado. Existen dos direcciones IP.
- Edite el grupo de seguridad de red y agregue reglas para las dos direcciones IP, con acceso al puerto de destino 1522 mediante TCP/IP. Por ejemplo, con dos direcciones IP, 10.0.1.6 y 10.0.1.8, las dos reglas tienen los bloques CIDR 10.0.1.6/32 y 10.0.1.8/32 con acceso al puerto de destino 1522, mediante TCP/IP.
Para SQLcl y bastiones
Para configurar el conjunto mínimo de reglas de grupo de seguridad de red necesarias para proporcionar acceso desde SQLcl de Database Tools mediante un bastión en la consola de OCI:
- En la página Detalles de bastión, busque el elemento de dirección IP de punto final privado en el campo Dirección IP de punto final privado. Solo se muestra una dirección IP.
- Edite el grupo de seguridad de red y agregue reglas para esta dirección IP con acceso al puerto de destino 1522 mediante TCP/IP. Por ejemplo, si se proporciona una dirección IP 10.0.1.9, la regla tiene el bloque CIDR 10.0.1.7/32 con acceso al puerto de destino 1522 mediante TCP/IP.
Estas reglas garantizan que Database Tools tenga acceso solo a la instancia de Autonomous Database seleccionada a través del grupo de seguridad de red desde estas direcciones IP específicas y solo en el puerto 1522 para el acceso bastión mediante SQLcl y el acceso a la hoja de trabajo de SQL en la consola de OCI.
Auditoría
Puede ampliar la pista de auditoría unificada de Oracle Database para capturar atributos de aplicación mediante la configuración de la auditoría para los valores de contexto de aplicación. El espacio de nombres de contexto de aplicación se rellena con los atributos necesarios y esos valores se capturan en la pista de auditoría unificada.
Los atributos de aplicación proporcionados por Database Tools se pueden utilizar para:
- Identifique el principal de IAM autenticado que inició el acceso a la base de datos mediante el servicio Database Tools.
- Correlacionar un registro de seguimiento de auditoría unificado con un evento de auditoría de OCI.
Identificación del principal de IAM autenticado
Para capturar los atributos de contexto de aplicación en la pista de auditoría unificada, primero debe ejecutar el comando AUDIT CONTEXT especificando los atributos adicionales que desea incluir en el registro de auditoría.
Por ejemplo, la siguiente sentencia captura los valores de los atributos de espacio de nombres CLIENTCONTEXT IAM_PRINCIPAL_OCID a RESOURCE_COMPARTMENT_OCID en todos los registros de auditoría.
AUDIT CONTEXT NAMESPACE CLIENTCONTEXT ATTRIBUTES IAM_PRINCIPAL_OCID,IAM_PRINCIPAL_TYPE,
IAM_PRINCIPAL_SUB_TYPE,IAM_PRINCIPAL_RESOURCE_TYPE,IAM_PRINCIPAL_TENANCY_OCID,
OPC_REQUEST_ID,RESOURCE_OCID,RESOURCE_COMPARTMENT_OCIDDespués de agregar los atributos, puede utilizar la siguiente sentencia para comprobar los atributos de contexto de aplicación que se capturan en la pista de auditoría unificada.
SELECT * FROM AUDIT_UNIFIED_CONTEXTS;Los registros de auditoría rellenados en UNIFIED_AUDIT_TRAIL por el servicio Database Tools proporcionan información para las siguientes columnas.
Tabla 8-1 Columnas auditadas
| Columna | Valor |
|---|---|
OS_USERNAME |
Identificador de principal autenticado de IAM posiblemente truncado |
CLIENT_IDENTIFIER |
Caracteres restantes del identificador principal autenticado de IAM |
USERHOST
|
Nombre de host de capa media |
TERMINAL
|
desconocido |
CLIENT_PROGRAM_NAME |
ORDS de herramientas de base de datos |
EXECUTION_ID |
opc-request-id truncado con 64 caracteres |
APPLICATION_CONTEXTS
|
Consulte Tabla 8-2 |
La columna APPLICATION_CONTEXTS se rellena con los valores de los siguientes atributos CLIENTCONTEXT, lo que permite identificar el principal de IAM autenticado que ha iniciado la operación de base de datos.
Tabla 8-2 Columna Application_Contexts
| Contexto | Atributo | Descripción |
|---|---|---|
CLIENTCONTEXT |
IAM_PRINCIPAL_OCID |
ID de principal de IAM |
IAM_PRINCIPAL_TENANCY_OCID |
ID de arrendamiento principal de IAM | |
IAM_PRINCIPAL_TYPE |
Tipo de principal de IAM
|
|
IAM_PRINCIPAL_SUB_TYPE |
Subtipo de principal de IAM
|
|
IAM_PRINCIPAL_RESOURCE_TYPE |
Tipo de recurso de principal de IAM | |
OPC_REQUEST_ID |
ID de solicitud de OPC | |
RESOURCE_OCID |
ID de recurso | |
RESOURCE_COMPARTMENT_OCID |
ID de compartimento de recurso |
Correlación de un registro de seguimiento de auditoría unificado con un evento de auditoría de OCI
Mediante los atributos OPC_REQUEST_ID y RESOURCE_COMPARTMENT_OCID proporcionados en la columna APPLICATION_CONTEXTS y EVENT_TIMESTAMP, es posible encontrar el evento de auditoría que coincida con el registro de pista de auditoría unificado.
Uso de la consola de Oracle Cloud Infrastructure
- En la consola, abra el menú de navegación y seleccione Observación y gestión, seleccione Registro y, a continuación, seleccione Auditoría.
- En el panel izquierdo, seleccione el compartimento.
- En el panel derecho, en el campo Filtros personalizados, introduzca data.request.id= '<opc-request-id value>'.
- En Filtrar por tiempo, seleccione el intervalo de tiempo de la lista desplegable.
- Seleccione Aplicar.
Los resultados aparecen en el separador Explorar eventos.
Uso de la Interfaz de Línea de Comandos (CLI)
Introduzca <REGION ID>, <RESOURCE_COMPARTMENT_OCID> y <OPC_REQUEST_ID> en el siguiente script para buscar el evento de auditoría que coincida con el registro de seguimiento de auditoría unificado.
#!/bin/sh
read -r -d '' body <<EndOfBody
{
"searchQuery": "search \"<RESOURCE_COMPARTMENT_ID>/_Audit\" | (data.request.id='<OPC_REQUEST_ID>') | sort by datetime desc",
"timeStart":"2024-07-19T11:03:56.167Z",
"timeEnd":"2024-07-19T14:03:56.167Z",
"isReturnFieldInfo":false
}
EndOfBody
oci raw-request --target-uri https://logging.<REGION_ID>.oci.oraclecloud.com/20190909/search --http-method POST --request-body "${body}"
Uso de identidades
Actualización de una conexión con un recurso de identidad relacionado
Cuando se actualiza una conexión, la base de datos o el esquema de destino pueden cambiar. Si se asocia una identidad, el servicio Database Tools vuelve a crear el recurso de identidad en la nueva base de datos y esquema de destino. Este proceso puede dejar una credencial huérfana en el esquema y la base de datos anteriores. Si es necesario, la credencial, junto con cualquier sinónimo o permiso asociado, se debe eliminar manualmente.
Configuración de notificaciones en caso de fallo al refrescar la identidad
Si utiliza una identidad para realizar una tarea crítica, desea recibir una notificación en caso de que falle la operación de refrescamiento. Cuando falla la operación de refrescamiento, el token de entidad de recurso ya no se puede utilizar y esto impide que OCI Identity and Access Management autentique la credencial asociada. Utilice OCI Monitoring para crear una alarma para enviar una notificación cuando falle una operación de refrescamiento. Consulte Visualización y Supervisión de una Identidad.
Auditoría de Operaciones de Credenciales
Cuando se crea o actualiza una identidad, se utilizan los detalles de clave privada y token de entidad de recurso para generar o modificar el objeto de credencial de base de datos correspondiente. Según la configuración de la configuración de auditoría de Oracle Database, esta información se puede registrar en los logs de auditoría. Consulte Introducción a la Auditoría.