Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Ler Mensagens Publicadas em um OCI Stream do Editor de Dados de Eventos do Oracle Access Governance
Introdução
A Publicação de Dados de Eventos é um processo para exportar dados únicos e publicar continuamente eventos de dados contínuos para sistemas externos, como uma conta na nuvem da Oracle Cloud Infrastructure (OCI). Com o Oracle Access Governance, você tem a flexibilidade de exportar eventos únicos e publicar continuamente eventos de dados, como identidade, coleções de identidades, política, recurso, acesso a recursos etc., para sua tenancy na nuvem. Você pode usar esses dados para derivar insights, armazenar dados para conformidade ou para analisar dados de gerenciamento de acesso e governança.
Um evento refere-se a qualquer alteração no estado dos dados que ocorre quando há criação, modificação ou exclusão de componentes do Oracle Access Governance, como identidade, políticas, recursos etc. Usando o Event Data Publisher, os administradores obtêm controle total sobre o acesso e os dados de identidade e podem usá-los para automatizar o registro de eventos e simplificar os relatórios de conformidade.
O fluxo de Publicação de Eventos de Dados usa buckets do OCI para exportação única e publica atualizações subsequentes em streams do OCI ou buckets do OCI, dependendo do tamanho do arquivo.
Neste tutorial, mostraremos como as atualizações do usuário no OCI são capturadas e publicadas nos fluxos do OCI pelo Oracle Access Governance e como consumir e decodificar essas mensagens de fluxo usando um script por meio do OCI Cloud Shell.
Observação: o Editor de Dados de Eventos suporta a exportação de identidades, coleções de identidades, políticas e recursos; no entanto, este tutorial se concentra na captura de eventos para identidades.
Visão Geral do Script Shell
O objetivo desse script shell é recuperar e decodificar mensagens publicadas em um fluxo do OCI. Essas mensagens são codificadas de uma forma que as torna ilegíveis em seu formato bruto. Ao executar o script, você pode ver as mensagens em um formato claro e legível por humanos, garantindo que as informações críticas estejam acessíveis mesmo depois que elas desaparecerem da Console do OCI.
Especificamente, o script cria um cursor para marcar um ponto de partida para ler mensagens do fluxo do OCI especificado. O cursor é baseado em um deslocamento especificado e em uma partição cujos valores são extraídos produzindo uma mensagem de fluxo de teste. Usando o cursor, o script extrai mensagens do fluxo do OCI. Eventualmente, o script processa e decodifica cada mensagem recuperada.
Público-alvo
Administradores do Oracle Access Governance e do Oracle Cloud Infrastructure Identity and Access Management (OCI IAM).
Objetivos
-
Recupere os principais parâmetros do seu fluxo do OCI.
-
Modifique alguns atributos para um ou mais usuários do OCI na console.
-
Execute o carregamento de dados no Oracle Access Governance for OCI.
-
Configure o ambiente do OCI Cloud Shell para executar o script.
-
Leia as mensagens de fluxo executando o script.
Pré-requisitos
-
Uma instância do Oracle Access Governance com direitos administrativos. Para obter mais informações, consulte Configurar Instância de Serviço e Sobre Atribuições de Aplicativo.
-
Uma tenancy do OCI integrada ao Oracle Access Governance. Para obter mais informações, consulte Integrar ao Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM).
-
Editor de Dados de Eventos configurado do Oracle Access Governance para o OCI. Para obter mais informações, consulte Configurar Editor de Dados de Eventos no Oracle Access Governance.
Tarefa 1: Recuperar Parâmetros-Chave do OCI Stream
Nesta tarefa, faremos log-in na Console do OCI para recuperar os principais parâmetros do stream.
-
Faça log-in na Console do OCI, navegue até Analytics & AI, Messaging e clique em Streaming.
-
Certifique-se de selecionar o compartimento no qual seu stream está localizado e clique no stream para exibir detalhes.
-
Anote os valores do OCID e do Ponto Final de Mensagens do stream.
-
Clique em Produzir Mensagem de Teste, digite a mensagem de amostra como Dados e clique em Produzir. Ela deve retornar uma mensagem de Sucesso.
-
Clique em Cancelar para fechar a janela Testar Fluxo.
-
Clique em Carregar Mensagens para verificar a mensagem de teste.
-
Na seção Mensagens Recentes, anote os valores de Partição e Deslocamento.
Tarefa 2: Atualizar Atributos do Usuário no OCI
Nesta tarefa, faremos alterações nos atributos do usuário no OCI.
-
Vá para a Console do OCI, navegue até Identidade e Segurança e clique em Domínios.
-
Selecione seu domínio e clique em Usuários. Clique no usuário que você deseja atualizar e clique em Editar Usuário.
-
Atualize os valores de País, Título, Departamento, Centro de Custos, Tipo de Usuário, Número do Funcionário e assim por diante.
-
Clique em Salvar alterações.
Observação: Se preferir, você poderá atualizar mais alguns usuários.
Tarefa 3: Executar Carga de Dados no Oracle Access Governance
Nesta tarefa, executaremos o carregamento de dados no Oracle Access Governance para sincronizar as alterações do OCI.
-
Faça log-in no Oracle Access Governance, navegue até Administração de Serviços e Sistemas Orquestrados.
-
Localize o sistema orquestrado para o OCI, clique no ícone de três pontos (IPv) e selecione Gerenciar Integração.
-
Clique em Carregar dados agora e aguarde a conclusão da carga de dados.
Tarefa 4: Configurar o OCI Cloud Shell para Executar Script para Capturar Mensagens do Stream
Nesta tarefa, configuraremos o OCI Cloud Shell e usaremos o script fornecido para decodificar mensagens publicadas pelo Oracle Access Governance.
-
Vá para a Console do OCI, clique em Cloud Shell no canto superior direito e aguarde a inicialização da janela do cloud shell.
-
Inicialize os parâmetros a seguir.
export STREAM_OCID=<STREAM_OCID_VALUE> export ENDPOINT=<MESSAGES_ENDPOINT> export CURSOR_TYPE="AFTER_OFFSET" export PARTITION=<PARTITION> export OFFSET=<OFFSET>
-
Substitua os parâmetros
STREAM_OCID
,ENDPOINT
,PARTITION
eOFFSET
do stream pelos valores capturados na Tarefa 1. -
O
CURSOR_TYPE
é definido comoAFTER_OFFSET
para incluir todas as mensagens geradas após o valor de deslocamento especificado para leitura. Não modifique esse valor.Observação: Um valor de amostra para o deslocamento pode ser obtido da mensagem de teste, mas você deve escolher um valor após o qual deseja capturar as mensagens. Isso é o que o
CURSOR_TYPE
comoAFTER_OFFSET
faz.
-
-
Crie um arquivo de script shell e torne-o executável.
touch ag-streaming.sh chmod u+x ag-streaming.sh
-
Abra o script com o vi editor.
vi ag-streaming.sh
-
Pressione i para entrar no Modo de Inserção. Cole o conteúdo a seguir e pressione Esc e :wq! para salvar as alterações.
#!/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
-
Execute o script e redirecione as mensagens de saída para um arquivo (messages_dump.txt é usado como exemplo). Como alternativa, você pode executar o script para exibir mensagens no console.
./ag-streaming.sh > messages_dump.txt
-
Faça download do arquivo
messages_dump.txt
do OCI Cloud Shell para verificar as mensagens decodificadas das atualizações do usuário feitas anteriormente.
Neste tutorial, aprendemos a ler mensagens de um stream do OCI que são publicadas no editor de dados de eventos no Oracle Access Governance. Vimos como podemos aproveitar a CLI (Interface de Linha de Comando) do OCI usando o OCI Cloud Shell para ler as mensagens com base em um deslocamento especificado. Essas mensagens contêm alterações pertencentes a usuários, grupos, recursos e associações de políticas do OCI e, portanto, são importantes da perspectiva de auditoria, conformidade e geração de relatórios.
Próximas Etapas
Após concluir este tutorial, você poderá analisar o conteúdo das mensagens de evento de dados publicadas do Oracle Access Governance para fluxos do OCI. Opcionalmente, você pode configurar processos adicionais para analisar as mensagens de evento para requisitos de auditoria e conformidade. Você também pode mover dados de fluxos para o Autonomous Data Warehouse para executar análise e visualização avançadas. Os dados também podem ser movidos para o OCI Object Storage para armazenamento de longo prazo ou para executar jobs do Hadoop/Spark.
Links Relacionados
Confirmações
- Autor - Anuj Tripathi (Arquiteto de Nuvem Principal, Engenharia de Soluções de NA)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Read Messages Published to an OCI Stream from Oracle Access Governance Event Data Publisher
G20551-01
November 2024