Integrar o Oracle Data Safe e o OCI Logging Analytics com o OCI IAM e o Microsoft Entra ID

Introdução

A proteção de bancos de dados Oracle em cenários híbridos e multicloud exige visibilidade completa da atividade do usuário, especialmente quando a autenticação é gerenciada externamente pelo Microsoft Azure Entra ID e pelo Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). Este tutorial destaca uma integração crítica que unifica os logs de auditoria do Oracle Data Safe com metadados avançados do OCI IAM desses provedores de identidade centralizados. O resultado é uma presença abrangente do usuário, oferecendo rastreabilidade de ponta a ponta inigualável para todas as interações do banco de dados, independentemente da fonte de autenticação, aprimorando assim a segurança e simplificando o gerenciamento de acesso.

Por que precisamos disso?

Os logs de auditoria de banco de dados tradicionais geralmente não têm o contexto de identidade crucial necessário para rastrear ações de volta para usuários específicos da nuvem, especialmente quando a autenticação ocorre por meio de provedores de identidade externos. Essa integração aborda diretamente essa lacuna. Ao correlacionar o Oracle Data Safe e o OCI Logging Analytics com os metadados do OCI IAM do Microsoft Azure Entra ID e do OCI IAM, as organizações obtêm maior transparência de auditoria, melhor rastreabilidade do usuário em sistemas híbridos e monitoramento centralizado de atividades de acesso. Esse registro em log unificado e com reconhecimento de identidade é vital para fortalecer a postura de segurança, simplificar as investigações de auditoria e atender a requisitos de conformidade rigorosos em ambientes corporativos modernos.

Públicos

Objetivos

Pré-requisitos

Tarefa 1: Criar um Relatório de Auditoria Personalizado do Oracle Data Safe para Usuários Autenticados Externamente em Todos os Bancos de Dados

  1. Faça log-in na Console do OCI, acesse Oracle Databases, Data Safe - Auditoria de Atividades e clique em Relatórios de auditoria - Todas as Atividades em Recursos Relacionados.

    Autonomous Database

  2. Clique em Gerenciar Colunas e selecione as colunas necessárias.

    Autonomous Database

  3. Em Criar relatório Personalizado, informe os detalhes Nome para exibição, Descrição e Compartimento.

    Autonomous Database

  4. Em Gerenciar programação de relatório, na lista suspensa Frequência de programação, selecione Diariamente e clique em Salvar programação.

    Autonomous Database

Tarefa 2: Configurar sua Instância do OCI Compute para Coleta e Correlação de Dados

Nesta tarefa, configuraremos sua instância do OCI Compute para recuperar detalhes de identidade do usuário do Microsoft Entra ID e do OCI IAM e processar relatórios de auditoria do Oracle Data Safe. O objetivo final é correlacionar IDs de usuários externos em logs de auditoria com metadados de identidade enriquecidos, fornecendo uma pegada de usuário completa.

Observação: Faça download dos seguintes scripts aqui: scripts.

  1. Obter Usuários do ID do Microsoft Entra.

    Execute os comandos a seguir para recuperar informações do usuário do ID do Microsoft Entra usando a API do Microsoft Graph (fetch_azure_ad_users.sh).

    ./fetch_azure_ad_users.sh
    

    Saída:

    [oracle@linux-bastion:~]$ ./fetch_azure_ad_users.sh
    Fetching Access Token...
    Calling Graph API for users list...
    Parsing users and converting to CSV...
    Users list saved to: azure_ad_users.csv
    
    head -3 azure_ad_users.csv
    

    Saída:

    [oracle@linux-bastion:~]$ head -3 azure_ad_users.csv
    "id","displayName","userPrincipalName","mail"
    "b41b0688-c07xxxxxxx3-e9b0db0c1107","Alex Kovuru","akovuruxxxxxxjtripaigmail.onmicrosoft.com","alex.xxxuru@gmail.com"
    "7eb35b90-dc0xxxxxxxxxx-bc0b-48789368e9cf","Anuj Tripathi","anujtxxxxxai_gmail.com#EXT#@anujtripaigmaixxmicrosoft.com","anujtrxxx@gmail.com"
    
  2. Obter Usuários do OCI IAM.

    Execute os comandos a seguir para obter detalhes do usuário do OCI IAM usando a CLI do OCI (oci_user_list_to_csv.sh).

    ./oci_user_list_to_csv.sh
    head -3 oci_iam_users.csv
    

    Saída:

    [oracle@linux-bastion:~]$ ./oci_user_list_to_csv.sh
    CSV file generated: oci_iam_users.csv
    [oracle@linux-bastion:~]$ head -3 oci_iam_users.csv
    id,name,email
    "ocid1.user.oc1..aaaaaaaaqv3tai2mxxxxxxxxxxepkk5hrfinedvj67ieb7phkirwxfeupv3cbq","alexk",alex.kovuxxx@oracle.com
    "ocid1.user.oc1..aaaaaaaaoq7ypwb5xxxxxxxxx2l5i6yjlnsedvkcni3dxdjdkkw5lyf73lma","ag-admin","anujtripaxxxx2@gmail.com"
    [oracle@linux-bastion:~]$
    
  3. Mesclar Dados do Usuário.

    Consolide os dados do usuário extraídos de ambas as origens em um único arquivo CSV padronizado (merge_users_csv.sh).

    ./merge_users_csv.sh
    head -3 merged_users.csv
    

    Saída:

    [oracle@linux-bastion:~]$ ./merge_users_csv.sh
    Merged CSV created: merged_users.csv
    [oracle@linux-bastion:~]$ head -3 merged_users.csv
    id,displayName,userPrincipalName,mail,source
    "7eb35b90-dc0d-4135-bc0b-48789368e9cf","Anuj Tripathi","anujtrip.ai_xxx.com#EXT#@anujtripaigmail.onmicrosoft.com","anujtrixxxx@gmail.com",AzureAD
    "ocid1.user.oc1..aaaaaaaaqv3tai2miu6vtgxxxxxxxxxxxfinedvj67ieb7phkirwxfeupv3cbq","alexk",null,"alex.kovxxxxu@oracle.com",OCI
    [oracle@linux-bastion:~]$
    
  4. Relatório de Auditoria do Serviço Data Safe.

    Faça download, converta, limpe e padronize o relatório de auditoria mais recente do Oracle Data Safe (process_data_safe_report.sh).

    ./process_data_safe_report.sh
    head -3 cleaned_audit_records_final.csv
    

    Saída:

    [oracle@linux-bastion:~]$ ./process_data_safe_report.sh
    Downloading report from OCI Data Safe...
    Converting XLS to CSV...
    convert /home/oracle/DS_AZ_OCI_Custom_External_User_Report_202507240745.xls -> /home/oracle/DS_AZ_OCI_Custom_External_User_Report_202507240745.csv using filter : Text - txt - csv (StarCalc)
    Cleaning the CSV file...
    Extracting specific columns...
    Post-processing the final CSV...
    Final post-processing complete.
    [oracle@linux-bastion:~]$ head -3 cleaned_audit_records_final.csv
    Target,DB user,OS user,Client host,Client ip,Event,Operation status,Operation time,External user
    DBS23AZPDB,ALLUSERS,oracle,linux-bastion,129.146.107.120,LOGOFF BY CLEANUP,SUCCESS,2025-07-10T21:07:37Z,b41b0688-c07e-416d-bf13-xxxxxxxxxc1107
    DBS23AZPDB,ALLUSERS,oracle,linux-bastion,129.146.107.120,CREATE TABLE,SUCCESS,2025-07-10T19:59:07Z,b41b0688-c07e-416d-bf13-xxxxxxxx0c1107
    [oracle@linux-bastion:~]$
    
  5. Correlacionar Dados

    Enriqueça os logs de auditoria do Oracle Data Safe correlacionando IDs de usuário externo com os dados de usuário do OCI IAM mesclados (DataSafe_External_Users_Audit_Dashboard.sh).

    ./DataSafe_External_Users_Audit_Dashboard.sh
    head -3 DataSafe_External_Users_Audit_Dashboard.csv
    

    Saída:

    [oracle@linux-bastion:~]$ ./DataSafe_External_Users_Audit_Dashboard.sh
    Correlated Data : DataSafe_External_Users_Audit_Dashboard.csv
    [oracle@linux-bastion:~]$  head -3 DataSafe_External_Users_Audit_Dashboard.csv
    Target,DB user,OS user,Client host,Client ip,Event,Operation status,Operation time,External user,displayName,mail,source
    DBS23OCI,ANUJ,oracle,linux-bastion,10.0.0.124,LOGON,FAILURE,2025-07-02T17:38:58Z,ocid1.user.oc1..aaaaaaaaam4ulylhebm4zwtiaqsy4xxxxxxxwu6imevy3lihnkejs7h43nlknkywq,anuj.t.tripaxxxx@oracle.com,anuj.t.tripaxxxx@oracle.com,OCI
    DBS23AZPDB,ALLUSERS,oracle,linux-bastion,129.146.107.120,COMMIT,SUCCESS,2025-07-10T19:34:38Z,b41b0688-c07e-416d-bf13-e9b0dbxxx107,Alex Kovuru,alex.kovuruxx@gmail.com,AzureAD
    [oracle@linux-bastion:~]$
    

    Você utilizará um conjunto de scripts de shell fornecidos para automatizar esses processos. Certifique-se de que esses scripts sejam baixados na sua instância do OCI Compute. Para garantir atualizações diárias do painel de controle, programe esses scripts para serem executados por meio de um job cron em sua instância do OCI Compute. Este job deve ser programado para ser executado após o tempo de geração do relatório personalizado do Oracle Data Safe.

Tarefa 3: Configurar o OCI Logging Analytics

  1. Prepare seu Host para Transmitir Logs para o OCI Logging Analytics.

    Execute o comando a seguir para garantir que os logs possam ser lidos pelo oracle-cloud-agent.

    sudo -u oracle-cloud-agent /bin/bash -c "head -3 /home/oracle/DataSafe_External_Users_Audit_Dashboard.csv"
    

    Saída Esperada:

    Target,DB user,OS user,Client host,Client ip,Event,Operation status,Operation time,External user,displayName,mail,source
    DBS23OCI,GLOBAL_USER,labuser,clienthost,49.37.181.25,LOGOFF BY CLEANUP,SUCCESS,2025-07-17T15:26:10Z,ocid1.user.oc1..aaaa...,alexk,alexxxx@example.com,OCI
    DBS23OCI,GLOBAL_USER,labuser,clienthost,49.37.181.25,COMMIT,SUCCESS,2025-07-17T15:15:02Z,ocid1.user.oc1..aaaa...,alexk,alexxxxxx@example.com,OCI
    
  2. Criar um Parser Delimitado para o CSV de Auditoria.

    Criaremos um parser que converte cada linha CSV em campos de log estruturados. O OCI Logging Analytics pode filtrar, enriquecer e visualizar.

    1. Vá para a Console do OCI, navegue até Observabilidade e Gerenciamento, Logging Analytics, Administração, Parsers, Criar Parser e digite as informações necessárias, conforme mostrado na imagem a seguir.

      Autonomous Database

    2. Clique em Campos e mapeie Coluna do Cabeçalho para o Nome dos campos do OCI Logging Analytics.

      Para cada coluna CSV, selecione um campo existente ou crie um Campo Definido pelo Usuário (UDF) se não existir um campo adequado. Use o ícone + para criá-lo conforme necessário.

      Autonomous Database

    3. Clique em Teste de Parser e siga as etapas:

      1. Alterne para Teste do Analisador.

      2. Verifique se as linhas de amostra foram analisadas com sucesso. A grade de visualização deve mostrar cada coluna mapeada para o campo selecionado.

      3. Confirme se a coluna Timestamp foi resolvida corretamente (nenhum erro de parsing; data/fuso horário correto).

      4. Clique em Criar Parser para salvar.

      Autonomous Database

  3. Criar uma Origem de Arquivo que Use o Parser.

    Uma origem informa ao OCI Logging Analytics onde localizar logs (padrões de caminho, método de coleta) e como interpretá-los (parser e metadados).

    Vá para a Console do OCI, navegue até Observabilidade e Gerenciamento, Logging Analytics, Administração, Origens, Criar Origem e digite as informações necessárias conforme mostrado na imagem a seguir e clique em Criar Origem.

    Autonomous Database

  4. Associar a Origem a Entidades e Grupo de Logs.

    As associações ativam o processo de coleta: a origem é vinculada a entidades específicas (como hosts) e os logs coletados são roteados para um grupo de logs designado.

    1. Vá para a Console do OCI, navegue até Logging Analytics, Administração e clique em Origens.

      Autonomous Database

    2. Na página de detalhes Origem, selecione Compartimento que contém as entidades que você deseja associar.

    3. Clique em Entidades Não Associadas para listar entidades do tipo correto que estão disponíveis/elegíveis para associação.

      Autonomous Database

    4. Selecione a opção em Entidades Não Associadas e clique em Adicionar Associação.

    5. Selecione um grupo de logs existente, se disponível. Neste tutorial, criaremos o novo grupo de logs clicando em Criar Grupo de Logs.

      Autonomous Database

      Autonomous Database

    6. Clique em Submeter.

      Autonomous Database

  5. Após o início da ingestão, confirme se os registros podem ser pesquisados e se os campos estão sendo preenchidos conforme esperado.

    Autonomous Database

    Exibir o Explorador de Logs:

    Autonomous Database

Tarefa 4: Explorar Logs e Criar um Painel com Três Widgets

Aproveite o OCI Logging Analytics para visualizar logs de auditoria do Oracle Data Safe enriquecidos com metadados de identidade externos. Crie um painel de controle com o Gráfico de Pizza de Presença do Usuário do Microsoft Azure, o Gráfico de Pizza de Presença do Usuário do OCI e uma Exibição de Tabela de Auditoria Detalhada.

  1. Criar Widget de Gráfico de Pizza de Presença do Usuário do Azure.

    Execute a seguinte consulta do explorador de logs:

    'Log Source' = Demo_AZ_OCI_DS_Source  | where Source = AzureAD | stats count as Azure_Events by 'External User' | sort -Azure_Events
    

    Autonomous Database

    Clique em Ações e Salvar a pesquisa conforme mostrado na imagem a seguir e adicione ao painel (Se o painel não existir, crie um Novo Painel de Controle).

    Autonomous Database

  2. Criar Widget de Gráfico de Pizza de Presença do Usuário do OCI.

    Execute a seguinte consulta do explorador de logs:

    'Log Source' = Demo_AZ_OCI_DS_Source  | where Source = OCI | stats count as OCI_Events by 'External User' | sort -OCI_Events
    

    Autonomous Database

    Clique em Ações, Salvar a pesquisa conforme mostrado na imagem a seguir e adicione ao painel de controle existente.

    Autonomous Database

  3. Criar View de Tabela de Auditoria Detalhada.

    Execute a seguinte consulta do explorador de logs:

    'Log Source' = Demo_AZ_OCI_DS_Source | fields 'Target Name', db_user, OS_user, Client, 'Host IP Address (Client)', Event, Operation_status, externalId, 'External User', mail, Source, -Entity, -'Entity Type', -'Host Name (Server)', -'Problem Priority', -Label, -'Log Source'
    

    Autonomous Database

    Clique em Ações, Salvar a pesquisa conforme mostrado na imagem a seguir e adicione ao painel de controle existente.

    Autonomous Database

  4. Veja o Painel Salvo.

    Vá para a Console do OCI, navegue até Logging Analytics, Administração, Painéis de Controle e clique no painel de controle criado (Demo_AZ_OCI_DS_DashBoard).

    Autonomous Database

Confirmações

Mais Recursos de Aprendizado

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.