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.
Generación de informes de gestión de identidades y accesos de Oracle Cloud Infrastructure Audit
Introducción
Los dominios de identidad de Oracle Cloud Infrastructure (OCI) son los sucesores de Oracle Identity Cloud Service y llevan todas las capacidades de Oracle Identity Cloud Service a un servicio principal de Oracle Cloud Infrastructure. Oracle Identity Cloud Service era una oferta independiente similar a SaaS y proporciona informes sobre la actividad del usuario y similares en el servicio.
A diferencia de Oracle Identity Cloud Service, los dominios de identidad de OCI existen en el contexto de OCI más amplio. Un principio de diseño de OCI es utilizar capacidades de servicio comunes cuando sea posible y, como resultado, algunos de los informes que se pusieron a disposición en Oracle Identity Cloud Service están en desuso, ya que los datos que utilizaron ahora están disponibles a través de la capacidad de servicio común proporcionada por OCI Audit.
En este tutorial se muestra cómo crear los informes en desuso a partir de los datos de OCI Audit y hacer que esos informes estén disponibles en OCI Dashboard.
Objetivos
-
Cree búsquedas guardadas en OCI Logging para informes de OCI IAM.
-
Exporte informes de OCI IAM para el procesamiento fuera de línea.
-
Agregue esas búsquedas al panel de control de OCI.
Requisitos
- Permisos para leer los datos de auditoría del compartimento que contiene el dominio de OCI IAM (que será la raíz de arrendamiento del dominio por defecto).
Tarea 1: Exploración de los eventos de auditoría de OCI Identity and Access Management
Cada servicio de OCI crea registros de auditoría en una acción de usuario o servicio, y OCI IAM no es una excepción, creando registros de auditoría en el acceso de usuario, así como cualquier cambio o evento que se produzca dentro de OCI IAM.
-
Acceda al servicio Logging en las capacidades Observability & Management de la consola de OCI y, a continuación, seleccione la sección Search.
-
Haga clic en Seleccionar logs para buscar para definir el contexto de la búsqueda de logs en el compartimento que contiene el dominio de identidad de OCI IAM para el que desea generar el informe.
Después de seleccionar el compartimento relevante, es probable que vea varias entradas para la actividad de usuario o servicio, y las entradas específicas dependerán de cómo se utilice su arrendamiento. También puede ver sus propios eventos de inicio de sesión u otros. Si no ve ninguna entrada, asegúrese de que tiene la región correcta seleccionada ampliando Más opciones de búsqueda o amplíe la ventana de tiempo modificando la configuración Filtrar por tiempo.
-
Haga clic en Mostrar modo avanzado para activar la capacidad de introducir consultas de texto libre y, a continuación, agregue una de las siguientes opciones al final de la consulta por defecto (después de 'ordenar por fecha/hora desc') para generar el mismo contenido que se incluyó en el informe de Oracle Identity Cloud Service.
Informe Consulta Informe de inicios de sesión correctos | donde data.additionalDetails.eventId = 'sso.session.create.success' | seleccione data.additionalDetails.domainDisplayName como Dominio, data.additionalDetails.actorName como Conexión, data.additionalDetails.eventId como Resultado, data.additionalDetails.ssoRp como Proveedor, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') como Fecha Informe de Conexiones Fallidas | donde data.additionalDetails.eventId='sso.authentication.failure' | seleccione data.additionalDetails.domainDisplayName como Dominio, data.additionalDetails.actorName como Usuario, data.additionalDetails.eventId como Resultado, data.message como Comentarios, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') como Fecha Informe de acceso a aplicaciones | donde data.additionalDetails.eventId = 'sso.session.create.success' o data.additionalDetails.eventId = 'sso.authentication.failure' o data.additionalDetails.eventId = 'sso.session.modify.success' | seleccione data.additionalDetails.domainDisplayName como Dominio, data.additionalDetails.actorDisplayName como Usuario, data.additionalDetails.actorName como Conexión, data.additionalDetails.eventId como "Correcto/Fallo", data.additionalDetails.ssoRp como Aplicación, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') como Fecha Informe de log de auditoría | where data.additionalDetails.eventId = ‘sso.app.access.success’ or data.additionalDetails.eventId = ‘sso.app.access.failure’ or data.additionalDetails.eventId = ‘sso.session.create.success’ or data.additionalDetails.eventId = ‘sso.authentication.failure’ or data.additionalDetails.eventId = ‘sso.session.delete.success’ or data.additionalDetails.eventId = ‘admin.user.create.success’ or data.additionalDetails.eventId = ‘admin.user.activated.success’ or data.additionalDetails.eventId = ‘admin.user.deactivated.success’ or data.additionalDetails.eventId = ‘admin.user.update.success’ or data.additionalDetails.eventId = ‘admin.user.delete.success’ or data.additionalDetails.eventId = ‘admin.user.password.reset.success’ or data.additionalDetails.eventId = ‘admin.me.password.reset.success’ or data.additionalDetails.eventId = ‘admin.me.password.change.success’ or data.additionalDetails.eventId = ‘admin.policy.create.success’ or data.additionalDetails.eventId = ‘admin.rule.create.success’ or data.additionalDetails.eventId = ‘admin.policy.update.success’ or data.additionalDetails.eventId = ‘admin.rule.update.success’ or data.additionalDetails.eventId = ‘admin.passwordpolicy.create.success’ or data.additionalDetails.eventId = ‘admin.passwordpolicy.update.success’ or data.additionalDetails.eventId = ‘admin.grant.create.success’ or data.additionalDetails.eventId = ‘admin.grant.delete.success’ or data.additionalDetails.eventId = ‘admin.group.create.success’ or data.additionalDetails.eventId = ‘admin.group.add.member.success’ or data.additionalDetails.eventId = ‘admin.group.remove.member.success’ or data.additionalDetails.eventId = ‘admin.group.delete.success’ or data.additionalDetails.eventId = ‘admin.app.create.success’ or data.additionalDetails.eventId = ‘admin.app.update.success’ or data.additionalDetails.eventId = ‘admin.app.delete.success’ or data.additionalDetails.eventId = ‘admin.app.activated.success’ or data.additionalDetails.eventId = ‘admin.app.deactivated.success’ or data.additionalDetails.eventId = ‘notification.delivery.success’ or data.additionalDetails.eventId = ‘notification.delivery.failure’ or data.additionalDetails.eventId = ‘sso.auth.factor.initiated’ or data.additionalDetails.eventId = ‘sso.bypasscode.create.success’ | select time_format(datetime, ‘yyyy-MM-dd hh:mm:ss z’) as Date, data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as Actor, data.additionalDetails.eventId as “Event Id”, data.message as “Event Description”, data.additionalDetails.adminResourceName as Target Informe de asignaciones de rol de aplicación | donde data.additionalDetails.eventId = 'admin.approle.add.member.success' o data.additionalDetails.eventId = 'admin.approle.remove.member.success' | seleccione data.additionalDetails.domainDisplayName como Dominio, data.additionalDetails.actorDisplayName como Aprobador, data.additionalDetails.adminAppRoleAppName como "Nombre de Aplicación", data.additionalDetails.adminRefResourceName como Beneficiario, data.additionalDetails.adminRefResourceType como "Usuario/Grupo", data.additionalDetails.adminResourceName como "Nombre de Rol de Aplicación", time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') como Fecha, data.additionalDetails.eventId como "Añadido/Eliminado" Por ejemplo, para el informe
Successful Logins
, la consulta sería similar a la siguiente. -
Haga clic en Buscar para utilizar la consulta actualizada. Si no devuelve ningún resultado, puede que necesite modificar el filtro de tiempo.
-
Los resultados devueltos se pueden exportar haciendo clic en Exportar datos de log (JSON) en la lista desplegable Acciones situada encima de los resultados.
Nota: Oracle Identity Cloud Service informa de que se puede descargar como un archivo
CSV
mientras que esta exportación solo soporta la exportaciónJSON
. Sin embargo, las sentencias select utilizadas en las consultas anteriores simplificanJSON
en un único objeto con atributos, lo que debería permitir convertir entre la exportaciónJSON
yCSV
si es necesario.
Tarea 2: Creación de una búsqueda guardada para el informe
Para evitar volver a introducir la consulta cada vez que desee acceder a estos informes, puede aprovechar la capacidad Búsqueda guardada de OCI Logging.
-
Una vez validada la consulta, haga clic en Guardar búsqueda para permitir que la consulta se reutilice y embeba en el panel de control.
-
Introduzca un nombre para la búsqueda, como 'Successful_Login_Report' o similar, así como una descripción y, a continuación, haga clic en Guardar.
-
En la interfaz de búsquedas guardadas, puede hacer clic de nuevo en la búsqueda para obtener el último juego de datos.
Nota: No puede exportar directamente los resultados desde la interfaz de búsqueda guardada; en su lugar, debe utilizar Explorar con búsqueda de log en la lista desplegable Acciones y, a continuación, exportar los resultados desde la vista Búsqueda.
Tarea 3: Adición del informe a un panel de control de OCI
Además de acceder a los informes desde el servicio OCI Logging, también se pueden poner a disposición a través de la capacidad del panel de control de OCI, para permitir que los eventos de OCI IAM se revisen de forma centralizada.
-
Navegue a la página de llegada de la consola de OCI, haga clic en Oracle Cloud en el banner superior y, a continuación, cambie a la vista Panel de control.
-
Cree un nuevo panel de control para los informes de OCI IAM haciendo clic en Nuevo panel de control.
-
Seleccione Build from Scratch (Crear desde nuevo) y agregue un nombre y una descripción adecuados.
-
Cree un nuevo grupo de paneles de control o asigne este panel de control a un grupo existente si corresponde.
-
Haga clic en Agregar widget, seleccione Tabla de datos de registro y, a continuación, haga clic en Configurar en el nuevo widget.
-
Proporcione un nombre adecuado y, a continuación, seleccione la búsqueda guardada. Agregue un periodo de tiempo por defecto adecuado.
-
Modifique el diseño y agregue otras búsquedas guardadas según corresponda.
Automatización de la extracción de los datos del informe
Los enfoques anteriores proporcionan la posibilidad de realizar informes ad hoc sobre los datos de IAM. Sin embargo, para las operaciones en curso, puede haber un requisito para automatizar la extracción de estos datos. Para ello, puede aprovechar la API de OCI, la CLI de OCI o uno de los SDK de OCI.
La API SearchLogs se puede llamar mediante una solicitud similar a la siguiente, ajustando el rango de tiempo y agregando la consulta desde la búsqueda de log inicial:
POST https://logging.<region>.oci.oraclecloud.com/20190909/search?limit=1000
Body:
{
"timeStart": "2025-01-01T00:00:00.000Z",
"timeEnd": "2025-01-02T00:00:00.000Z",
"searchQuery": "<log search query from Task #1>",
"isReturnFieldInfo": false
}
El comando equivalente de la CLI de OCI es el siguiente:
oci logging-search search-logs --search-query "<log search query from Task #1>" --time-start "2025-01-01T00:00:00.000Z" --time-end "2025-01-02T00:00:00.000Z" --is-return-field-info false
Nota: evite los caracteres de comillas dobles (
"
) en la consulta de búsqueda con barras invertidas (\
). Es decir,as "Success/Failure"
se convierte enas \"Success/Failure\"
.
Si prefiere que los eventos de auditoría se transfieran a un sistema alternativo, se podría utilizar OCI Connector Hub o OCI Events para facilitar el reenvío de logs, como en Implantación de la seguridad multinube mediante OCI Audit para capturar eventos de OCI Identity and Access Management que abarcan el reenvío de auditoría a Azure Sentinel.
Enlaces relacionados
Agradecimientos
- Autores: Manoj Gaddam (gestor de productos principal: OCI Identity/IDCS), Callan Howell-Pavia (miembro principal del personal técnico: OCI Identity/IDCS)
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, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Generate Identity and Access Management Reports from Oracle Cloud Infrastructure Audit
F89545-02
January 2025