Observação:

Gerar Relatórios de Gerenciamento de Identidade e Acesso do Oracle Cloud Infrastructure Audit

Introdução

Os Domínios de Identidade do OCI (Oracle Cloud Infrastructure) são os sucessores do Oracle Identity Cloud Service e trazem todos os recursos do Oracle Identity Cloud Service para um serviço básico do Oracle Cloud Infrastructure. O Oracle Identity Cloud Service era uma oferta independente semelhante a SaaS e fornece Relatórios sobre a Atividade do Usuário e similares dentro do serviço.

Ao contrário do Oracle Identity Cloud Service, os Domínios de Identidade do OCI existem no contexto maior do OCI. Um princípio de design da OCI é usar recursos de serviço comuns sempre que possível e, como resultado, alguns dos Relatórios que foram disponibilizados no Oracle Identity Cloud Service estão sendo descontinuados, pois os dados que eles utilizaram agora estão disponíveis por meio do recurso de serviço comum fornecido pelo OCI Audit.

Este tutorial demonstra como construir os relatórios obsoletos a partir dos dados do OCI Audit e disponibilizar esses relatórios no OCI Dashboard.

Objetivos

Pré-requisitos

Tarefa 1: Explorar os Eventos de Auditoria do OCI Identity and Access Management

Cada serviço do OCI cria registros de Auditoria na ação do usuário ou serviço, e o OCI IAM não é exceção, criando registros de Auditoria no acesso do Usuário, bem como qualquer alteração ou evento que ocorra no OCI IAM.

  1. Acesse o Serviço Logging nos recursos Observability & Management na Console do OCI e selecione a seção Pesquisar.

  2. Clique em Selecionar logs para pesquisar para definir o contexto da pesquisa de log para o compartimento que contém o Domínio de Identidades do OCI IAM para o qual você deseja gerar o relatório.

    Adicionando o Compartimento à Pesquisa de Log

    Depois de selecionar o compartimento relevante, você provavelmente verá várias entradas para a atividade do usuário ou do serviço, com as entradas específicas dependendo de como sua tenancy está sendo usada. Você também pode ver seus próprios ou outros eventos de login. Se você não vir nenhuma entrada, certifique-se de ter a região correta selecionada expandindo Mais Opções de Pesquisa ou expanda a janela de tempo modificando a configuração Filtrar por tempo.

  3. Clique em Mostrar Modo Avançado para ativar a capacidade de inserir consultas de texto livre e, em seguida, adicione um dos seguintes itens ao final da consulta padrão (depois de 'classificar por desc de data e hora') para gerar o mesmo conteúdo que foi incluído no relatório do Oracle Identity Cloud Service.

    Relatório Consulta
    Relatório de Log-ins Bem-sucedidos | where data.additionalDetails.eventId = 'sso.session.create.success' | selecione data.additionalDetails.domainDisplayName como Domínio, data.additionalDetails.actorName como Log-in, data.additionalDetails.eventId como Resultado, data.additionalDetails.ssoRp como Provedor, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') como Data
    Relatório de Log-ins com Falha | where data.additionalDetails.eventId='sso.authentication.failure' | selecione data.additionalDetails.domainDisplayName como Domínio, data.additionalDetails.actorName como Usuário, data.additionalDetails.eventId como Resultado, data.message como Comentários, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') como Data
    Relatório de Acesso ao Aplicativo | onde data.additionalDetails.eventId = 'sso.session.create.success' ou data.additionalDetails.eventId = 'sso.authentication.failure' ou data.additionalDetails.eventId = 'sso.session.modify.success' | selecione data.additionalDetails.domainDisplayName como Domínio, data.additionalDetails.actorDisplayName como Usuário, data.additionalDetails.actorName como Log-in, data.additionalDetails.eventId como "Sucesso/Falha", data.additionalDetails.ssoRp como Aplicativo, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') como Data
    Relatório de Log de Auditoria | 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
    Relatório de Atribuições da Atribuição do Aplicativo | onde data.additionalDetails.eventId = 'admin.approle.add.member.success' ou data.additionalDetails.eventId = 'admin.approle.remove.member.success' | selecione data.additionalDetails.domainDisplayName como Domínio, data.additionalDetails.actorDisplayName como Aprovador, data.additionalDetails.adminAppRoleAppName como "Nome do Aplicativo", data.additionalDetails.adminRefResourceName como Beneficiário, data.additionalDetails.adminRefResourceType como "Usuário/Grupo", data.additionalDetails.adminResourceName como "Nome da Atribuição do Aplicativo", time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') como Data, data.additionalDetails.eventId como "Adicionado/Removido"

    Por exemplo, para o Relatório Successful Logins, a consulta seria semelhante à seguinte.

    Representação da Consulta de Acesso ao Aplicativo na Pesquisa Avançada

  4. Clique em Pesquisar para usar a consulta atualizada. Se não retornar resultados, talvez seja necessário modificar o filtro de tempo.

    Resultados de Amostra da Consulta de Acesso ao Aplicativo

  5. Todos os resultados retornados podem ser exportados clicando em Exportar dados de log (JSON) no menu suspenso Ações acima dos resultados.

    Exportando Dados de Log da Pesquisa de Log

    Observação: Os relatórios do Oracle Identity Cloud Service suportam o download como um arquivo CSV, enquanto essa exportação só suporta a exportação JSON, no entanto, as instruções de seleção usadas nas consultas acima nivelam o JSON para um único objeto com atributos, o que deve permitir que você converta entre a exportação JSON e CSV, se necessário.

Tarefa 2: Criar uma Pesquisa Salva para o Relatório

Para evitar a reinserção da consulta sempre que desejar acessar esses relatórios, você pode aproveitar o recurso de Pesquisa Salva do OCI Logging.

  1. Depois de validar a consulta, clique em Salvar Pesquisa para permitir que a consulta seja reutilizada e incorporada ao painel.

  2. Informe um nome para sua pesquisa, como 'Successful_Login_Report' ou similar, bem como descrição, e clique em Salvar.

  3. Na Interface de Pesquisas Salvas, você pode clicar novamente na pesquisa para obter o conjunto de dados mais recente.

Observação: não é possível exportar diretamente os resultados da Interface da Pesquisa Salva, em vez disso, você precisa usar Explorar com Pesquisa de Log no menu suspenso Ações e exportar os resultados da exibição Pesquisa.

Tarefa 3: Adicionar o Relatório a um Painel de Controle do OCI

Além de acessar os relatórios do serviço OCI Logging, eles também podem ser disponibilizados por meio do recurso de painel de controle da OCI, para permitir que os eventos do OCI IAM sejam analisados centralmente.

  1. Navegue até a página inicial da Console do OCI, clique no Oracle Cloud no banner superior e, em seguida, passe para a exibição Painel de Controle.

  2. Crie um novo Painel de Controle para os Relatórios do OCI IAM clicando em Novo Painel de Controle.

  3. Selecione Criar do Zero e adicione um nome e uma descrição apropriados.

    Criando um Painel de Controle para exibir os Relatórios do IAM.

  4. Crie um novo Grupo de Painéis de Controle ou atribua este Painel de Controle a um Grupo existente, se apropriado.

  5. Clique em Adicionar Widget, selecione Tabela de Dados de Log e, em seguida, clique em Configurar no novo widget.

  6. Forneça um Nome apropriado e selecione sua Pesquisa Salva. Adicione um período padrão apropriado.

    Criando um Widget para o Relatório de Acesso ao Aplicativo.

  7. Modifique o layout e adicione outras Pesquisas Salvas conforme apropriado.

    Painel de Controle de Amostra com vários Relatórios do IAM

Automatizando a extração dos dados do relatório

As abordagens acima fornecem a capacidade de executar relatórios ad-hoc em dados do IAM. No entanto, para operações em andamento, pode haver um requisito para automatizar a extração desses dados. Para fazer isso, você pode aproveitar a API do OCI, a CLI do OCI ou um dos SDKs do OCI.

A API SearchLogs pode ser chamada usando uma solicitação semelhante à seguinte, ajustando o intervalo de tempo e adicionando a consulta da Pesquisa 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
}

O comando da CLI do OCI equivalente é o seguinte:

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

Observação: Escape de caracteres de aspas duplas (") na consulta de pesquisa com barras invertidas (\), ou seja, as "Success/Failure" se torna as \"Success/Failure\".

Se você preferir que os Eventos de Auditoria sejam enviados para um sistema alternativo, o OCI Connector Hub ou o OCI Events poderá ser usado para facilitar o encaminhamento de logs, como em Implementar a segurança multicloud usando o OCI Audit para capturar eventos do OCI Identity and Access Management, abrangendo o encaminhamento de Auditoria para o Azure Sentinel.

Confirmações

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.