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.
Mensajes de lectura publicados en un flujo de OCI desde Oracle Access Governance Event Data Publisher
Introducción
La publicación de datos de eventos es un proceso para exportar datos únicos y publicar continuamente eventos de datos en curso en sistemas externos, como una cuenta en la nube de Oracle Cloud Infrastructure (OCI). Con Oracle Access Governance, tiene la flexibilidad de exportar eventos de datos puntuales y publicar continuamente, como identidad, recopilaciones de identidades, políticas, recursos, acceso a recursos, etc., a su arrendamiento en la nube. Puede utilizar estos datos para obtener estadísticas, almacenar datos para el cumplimiento o analizar datos de gobernanza y gestión de acceso.
Un evento hace referencia a cualquier cambio en el estado de los datos que se produce cuando se crean, modifican o suprimen componentes de Oracle Access Governance, como identidad, políticas, recursos, etc. Mediante Event Data Publisher, los administradores obtienen un control completo sobre los datos de acceso e identidad y pueden utilizarlos para automatizar el registro de eventos y simplificar los informes de cumplimiento.
El flujo de publicación de eventos de datos utiliza cubos de OCI para la exportación puntual y publica actualizaciones posteriores en flujos de OCI o cubos de OCI según el tamaño del archivo.
En este tutorial, le mostraremos cómo Oracle Access Governance captura y publica las actualizaciones de usuario en OCI en flujos de OCI y cómo consumir y decodificar estos mensajes de flujo mediante un script a través de OCI Cloud Shell.
Nota: Event Data Publisher soporta la exportación de identidades, recopilaciones de identidades, políticas y recursos; sin embargo, este tutorial se centra en la captura de eventos para identidades.
Descripción general del script de shell
El objetivo de este script de shell es recuperar y descodificar los mensajes publicados en un flujo de OCI. Estos mensajes están codificados de una manera que los hace ilegibles en su formato raw. Al ejecutar el script, puede ver los mensajes en un formato claro y legible para el usuario, lo que garantiza que se pueda acceder a la información crítica incluso después de que desaparezca de la consola de OCI.
En concreto, el script crea un cursor para marcar un punto de partida para leer mensajes del flujo de OCI especificado. El cursor se basa en un desplazamiento especificado y una partición cuyos valores se recuperan mediante la producción de un mensaje de flujo de prueba. Mediante el cursor, el script recupera mensajes del flujo de OCI. Finalmente, el script procesa y decodifica cada mensaje recuperado.
Público Objetivo
Administradores de Oracle Access Governance y Oracle Cloud Infrastructure Identity and Access Management (OCI IAM).
Objetivos
-
Recupere los parámetros clave para el flujo de OCI.
-
Modifique algunos atributos para uno o más usuarios de OCI desde la consola.
-
Realice la carga de datos en Oracle Access Governance for OCI.
-
Configure el entorno de OCI Cloud Shell para ejecutar el script.
-
Lea los mensajes de flujo ejecutando el script.
Requisitos
-
Una instancia de Oracle Access Governance con derechos administrativos. Para obtener más información, consulte Configuración de la instancia de servicio y Acerca de los roles de aplicación.
-
Un arrendamiento de OCI integrado con Oracle Access Governance. Para obtener más información, consulte Integración con Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM).
-
Event Data Publisher configurado de Oracle Access Governance a OCI. Para obtener más información, consulte Configuración de Event Data Publisher en Oracle Access Governance.
Tarea 1: Recuperación de parámetros clave para el flujo de OCI
En esta tarea, nos conectaremos a la consola de OCI para recuperar los parámetros clave para el flujo.
-
Conéctese a la consola de OCI, vaya a Analytics & AI, Messaging y haga clic en Streaming.
-
Asegúrese de seleccionar el compartimento en el que se encuentra el flujo y haga clic en el flujo para ver los detalles.
-
Anote los valores para el OCID de flujo y el punto final de mensajes.
-
Haga clic en Producir mensaje de prueba, introduzca el mensaje de ejemplo como Datos y haga clic en Producir. Debe devolver un mensaje Correcto.
-
Haga clic en Cancelar para cerrar la ventana Probar flujo.
-
Haga clic en Cargar mensajes para comprobar el mensaje de prueba.
-
En la sección Mensajes recientes, anote los valores Partición y Desplazamiento.
Tarea 2: Actualización de atributos de usuario en OCI
En esta tarea, realizaremos cambios en los atributos de usuario en OCI.
-
Vaya a la consola de OCI, vaya a Identidad y seguridad y haga clic en Dominios.
-
Seleccione el dominio y haga clic en Usuarios. Haga clic en el usuario que desea actualizar y haga clic en Editar usuario.
-
Actualice los valores de País, Título, Departamento, Centro de costos, Tipo de usuario, Número de empleado, etc.
-
Haga clic en Guardar cambios.
Nota: Opcionalmente, puede actualizar algunos usuarios más si lo prefiere.
Tarea 3: Carga de datos en Oracle Access Governance
En esta tarea, realizaremos la carga de datos en Oracle Access Governance para sincronizar los cambios de OCI.
-
Inicie sesión en Oracle Access Governance, vaya a Administración de servicios y Sistemas orquestados.
-
Localice el sistema orquestado para OCI, haga clic en el icono de tres puntos (▶) y seleccione Gestionar integración.
-
Haga clic en Cargar datos ahora y espere a que finalice la carga de datos.
Tarea 4: Configuración de OCI Cloud Shell para ejecutar un script para capturar mensajes del flujo
En esta tarea, configuraremos OCI Cloud Shell y utilizaremos el script proporcionado para descodificar los mensajes publicados por Oracle Access Governance.
-
Vaya a la consola de OCI, haga clic en Cloud Shell desde la esquina superior derecha y espere a que se inicialice la ventana de Cloud Shell.
-
Inicialice los siguientes parámetros.
export STREAM_OCID=<STREAM_OCID_VALUE> export ENDPOINT=<MESSAGES_ENDPOINT> export CURSOR_TYPE="AFTER_OFFSET" export PARTITION=<PARTITION> export OFFSET=<OFFSET>
-
Sustituya los parámetros
STREAM_OCID
,ENDPOINT
,PARTITION
yOFFSET
para el flujo por los valores capturados en la tarea 1. -
CURSOR_TYPE
se define enAFTER_OFFSET
para incluir todos los mensajes generados después del valor de desplazamiento especificado para la lectura. No modifique este valor.Nota: Se puede obtener un valor de ejemplo para el desplazamiento del mensaje de prueba, pero debe seleccionar un valor después del cual desea capturar los mensajes. Esto es lo que hace
CURSOR_TYPE
comoAFTER_OFFSET
.
-
-
Cree un archivo de script de shell y conviértalo en ejecutable.
touch ag-streaming.sh chmod u+x ag-streaming.sh
-
Abra el script con vi editor.
vi ag-streaming.sh
-
Pulse i para introducir el modo de inserción. Pegue el siguiente contenido y, a continuación, pulse Esc y :wq! para guardar los cambios.
#!/bin/bash # Validate required environment variables required_vars=("STREAM_OCID" "ENDPOINT" "CURSOR_TYPE" "PARTITION" "OFFSET") for var in "${required_vars[@]}"; do if [ -z "${!var}" ]; then echo "Error: Environment variable $var is not set." exit 1 fi done # Create a cursor for the OCI Stream # echo "Creating a cursor for the OCI Stream..." oci streaming stream cursor create-cursor \ --partition "$PARTITION" \ --stream-id "$STREAM_OCID" \ --type "$CURSOR_TYPE" \ --offset "$OFFSET" \ --endpoint "$ENDPOINT" > cursor.json # Extract cursor value cursor=$(jq -r '.data.value' cursor.json) if [ -z "$cursor" ]; then echo "Error: Failed to retrieve cursor value." exit 1 fi # Read messages from the OCI Stream echo "Reading messages from the OCI Stream..." messages=$(oci streaming stream message get \ --stream-id "$STREAM_OCID" \ --cursor "$cursor" \ --endpoint "$ENDPOINT") # Check if messages were retrieved if [ -z "$messages" ] || ! echo "$messages" | jq -e '.data[] | select(.key != null)' > /dev/null 2>&1; then echo "No valid messages found." exit 1 fi # Extract and decode the data from messages echo "Processing messages..." # Extract and count the number of messages message_count=$(echo "$messages" | jq -r '.data[] | select(.key != null) | .value' | wc -l) echo "$messages" | jq -r '.data[] | select(.key != null) | .value' | while read -r value; do if [ -n "$value" ]; then counter=$((counter + 1)) echo echo "Decoding message $counter of $message_count..." # Base64 decode the message decoded_message=$(echo "$value" | base64 --decode 2>/dev/null || echo "Error decoding message") final_decoded_message=$(echo "$decoded_message" | base64 --decode 2>/dev/null || echo "Error decoding message further") # Print the decoded message echo "Decoded Message : $final_decoded_message" fi done
-
Ejecute la secuencia de comandos y redirija los mensajes de salida a un archivo (messages_dump.txt se utiliza como ejemplo). También puede ejecutar el script para mostrar mensajes en la consola.
./ag-streaming.sh > messages_dump.txt
-
Descargue el archivo
messages_dump.txt
de OCI Cloud Shell para comprobar los mensajes descodificados de las actualizaciones de usuario realizadas anteriormente.
En este tutorial, hemos aprendido a leer mensajes de un flujo de OCI que se publican desde el editor de datos de eventos en Oracle Access Governance. Hemos visto cómo podemos aprovechar la interfaz de línea de comandos (CLI) de OCI mediante OCI Cloud Shell para leer los mensajes en función de un desplazamiento especificado. Estos mensajes contienen cambios relacionados con usuarios, grupos, recursos y asociaciones de políticas de OCI y, por lo tanto, son importantes desde la perspectiva de auditoría, cumplimiento y generación de informes.
Pasos Siguientes
Después de completar este tutorial, puede analizar el contenido de los mensajes de eventos de datos publicados desde Oracle Access Governance hasta los flujos de OCI. Opcionalmente, puede configurar más procesos para analizar los mensajes de evento para requisitos de conformidad y auditoría. También puede mover datos de flujos a un almacén de datos autónomo para realizar análisis y una visualización avanzados. Los datos también se pueden mover a OCI Object Storage para almacenamiento a largo plazo o para ejecutar trabajos de Hadoop/Spark.
Enlaces relacionados
Agradecimientos
- Autor: Anuj Tripathi (arquitecto principal de nube, ingeniería de soluciones de NA)
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.
Read Messages Published to an OCI Stream from Oracle Access Governance Event Data Publisher
G20545-01
November 2024