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 principal do Oracle Cloud Infrastructure. O Oracle Identity Cloud Service era uma oferta independente do tipo SaaS e fornece Relatórios sobre a Atividade do Usuário e similares dentro do serviço.
Diferentemente 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 com base nos dados do OCI Audit e disponibilizar esses relatórios no OCI Dashboard.
Objetivos
-
Criar Pesquisas Salvas no OCI Logging para Relatórios do OCI IAM.
-
Exportar Relatórios do OCI IAM para processamento off-line.
-
Adicione essas Pesquisas ao Painel de Controle do OCI.
Pré-requisitos
- Permissões para ler dados de Auditoria do compartimento que contém o Domínio do IAM do OCI (que será a raiz da tenancy para o Domínio Padrão).
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 do 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.
-
Acesse o Serviço Logging nos recursos Observability & Management na Console do OCI e selecione a seção Pesquisar.
-
Clique em Selecionar logs a serem pesquisados 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.

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 definição Filtrar por horário.
-
Clique em Mostrar Modo Avançado para ativar a capacidade de inserir consultas de texto livre e, em seguida, adicione um dos itens a seguir ao final da consulta padrão (após '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' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as Login, data.additionalDetails.eventId as Result, data.additionalDetails.ssoRp as Provider, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateRelatório de Log-ins com Falha | where data.additionalDetails.eventId='sso.authentication.failure' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as User, data.additionalDetails.eventId as Result, data.message as Comments, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateRelatório de Acesso ao Aplicativo | where data.additionalDetails.eventId = 'sso.session.create.success' or data.additionalDetails.eventId = 'sso.authentication.failure' or data.additionalDetails.eventId = 'sso.session.modify.success' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorDisplayName as User, data.additionalDetails.actorName as Login, data.additionalDetails.eventId as "Success/Failure", data.additionalDetails.ssoRp as Application, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateRelató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 TargetRelatório de Atribuições da Função do Aplicativo | where data.additionalDetails.eventId = 'admin.approle.add.member.success' or data.additionalDetails.eventId = 'admin.approle.remove.member.success' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorDisplayName as Approver, data.additionalDetails.adminAppRoleAppName as "Application Name", data.additionalDetails.adminRefResourceName as Beneficiary, data.additionalDetails.adminRefResourceType as "User/Group", data.additionalDetails.adminResourceName as "Application Role Name", time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as Date, data.additionalDetails.eventId as "Added/Removed"Por exemplo, para o Relatório
Successful Logins, a consulta teria uma aparência semelhante à abaixo.
-
Clique em Pesquisar para usar a consulta atualizada. Se não retornar nenhum resultado, talvez seja necessário modificar o filtro de tempo.

-
Qualquer resultado retornado pode ser exportado clicando em Exportar dados de log (JSON) no menu suspenso Ações acima dos resultados.

Observação: os relatórios do Oracle Identity Cloud Service suportados para download como um arquivo
CSV, enquanto essa exportação só suporta exportaçãoJSON, no entanto, as instruções selecionadas usadas nas consultas acima nivelam oJSONem um único objeto com atributos, o que deve permitir que você converta entre a exportaçãoJSONeCSV, se necessário.
Tarefa 2: Criar uma Pesquisa Salva para seu Relatório
Para evitar a reinserção da consulta toda vez que desejar acessar esses relatórios, você pode aproveitar o recurso Pesquisa Salva do OCI Logging.
-
Depois de validar a consulta, clique em Salvar Pesquisa para permitir que a consulta seja reutilizada e incorporada no painel de controle.
-
Informe um nome para sua pesquisa, como 'Successful_Login_Report' ou similar, bem como uma descrição, e clique em Salvar.
-
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 de 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 Pesquisar.
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 do OCI para permitir que os eventos do OCI IAM sejam revisados centralmente.
-
Navegue até a página de destino da Console do OCI, clique em Oracle Cloud no banner superior e, em seguida, troque para a exibição Painel de Controle.
-
Crie um novo Painel de Controle para os Relatórios do OCI IAM clicando em Novo Painel de Controle.
-
Selecione Criar do Zero e adicione um nome e uma descrição apropriados.

-
Crie um novo Grupo de Painéis de Controle ou atribua esse Painel a um Grupo existente, se apropriado.
-
Clique em Adicionar Widget, selecione Tabela de Dados de Registro em Log e clique em Configurar no novo widget.
-
Forneça um Nome apropriado e selecione sua Busca salva. Adicione um período padrão apropriado.

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

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 equivalente da CLI do OCI é 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 os caracteres de aspas duplas (
") em sua consulta de pesquisa com barras invertidas (\). Ou seja,as "Success/Failure"torna-seas \"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.
Links Relacionados
Confirmações
- Autores - Manoj Gaddam (Gerente de Produtos Principal - OCI Identity/IDCS), Callan Howell-Pavia (Membro Principal da Equipe Técnica - OCI Identity/IDCS)
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.
Generate Identity and Access Management Reports from Oracle Cloud Infrastructure Audit
F89550-03