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.
Simplifique o Monitoramento Contínuo do Banco de Dados Automatizando o Registro do Oracle Data Safe com a CLI do OCI
Introdução
Manter uma postura robusta de segurança cibernética para bancos de dados Oracle é essencial no complexo ambiente de ameaças atual. O monitoramento contínuo é fundamental para identificar proativamente vulnerabilidades, configurações incorretas e ameaças potenciais antes que elas possam ser exploradas. À medida que as ameaças cibernéticas se tornam mais sofisticadas e direcionadas, as avaliações regulares de conformidade, atividades incomuns e acesso não autorizado se tornam cada vez mais cruciais.
O registro manual de vários bancos de dados no Oracle Data Safe usando a console do Oracle Data Safe pode ser trabalhoso e demorado. Este tutorial oferece uma abordagem simplificada para automatizar o processo de registro usando comandos e scripts da Interface de Linha de Comando (CLI do OCI) do Oracle Cloud Infrastructure na interface do OCI Cloud Shell, reduzindo significativamente o esforço manual e o tempo necessário.
Público-alvo
- Administradores de banco de dados e administradores de segurança do OCI.
Objetivos
-
Automatize o registro do Oracle Data Safe usando a CLI do OCI para reduzir os esforços manuais e garantir uma configuração consistente.
Caso de uso: Automatizando todo o registro e gerenciamento do Oracle Database as a service (DBaaS) com o Oracle Data Safe usando a CLI do OCI.
Neste tutorial, orientaremos você na automação do registro do Oracle Database as a service (DBaaS) no Oracle Data Safe usando a CLI do OCI. Usaremos um exemplo simples para demonstrar o processo, com foco nos comandos da CLI do OCI adaptados a um compartimento específico no qual você gerencia suas operações do Oracle Data Safe. Este tutorial também pode servir como referência para adaptar o procedimento para registrar seus bancos de dados de destino locais. Para obter mais informações, consulte Registrar um Banco de Dados Oracle Local.
Para fazer download de scripts completos, consulte GitHub Repository.
Pré-requisitos
-
Acesse o OCI Cloud Shell:
Para começar a usar o OCI Cloud Shell, primeiro conceda acesso ao usuário por meio de uma política do OCI IAM (Oracle Cloud Infrastructure Identity and Access Management). Para obter mais informações, consulte OCI Cloud Shell.
Exemplo de política do OCI IAM para permitir o acesso:
allow group <GROUP-NAME> to use cloud-shell in tenancy
Se quiser especificar um domínio, use:
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy
-
Permissão para o Oracle Data Safe:
Conceda permissão de grupo de usuários em todos os recursos do Oracle Data Safe. Para obter mais informações, consulte Criar um Grupo de Administradores do Oracle Data Safe.
Exemplo de política do OCI IAM:
Allow group Data-Safe-Admins to manage data-safe-family in tenancy
-
Criar uma Conta de Serviço do Oracle Data Safe em Todos os Bancos de Dados de Destino:
Cada banco de dados de destino do Oracle Data Safe precisa de uma conta de serviço. Os Autonomous Databases incluem isso por padrão, mas para não Autonomous Databases, você deve criá-lo manualmente. Para obter mais informações, consulte Criar uma Conta de Serviço do Oracle Data Safe em Seu Banco de Dados de Destino.
Comando SQL:
CREATE USER DATASAFEADMIN identified by password DEFAULT TABLESPACE "DATA" TEMPORARY TABLESPACE "TEMP"; GRANT CONNECT, RESOURCE TO DATASAFEADMIN;
Observação:
- A senha deve ter mais de 14 caracteres, incluindo letra maiúscula, letra minúscula, número e caractere especial.
- Evite usar tablespaces SYSTEM ou SYSAUX.
Para conceder atribuições, faça download do script
datasafe_privileges.sql
e execute-o na console do Oracle Data Safe. Execute o script como SYS. Para obter mais informações, consulte Conceder Atribuições à Conta de Serviço do Oracle Data Safe em Seu Banco de Dados de Destino.Amostra de Saída de Script:
SQL> @datasafe_privileges.sql DATASAFEADMIN GRANT ALL Enter value for USERNAME (case sensitive matching the username from dba_users) Setting USERNAME to DATASAFEADMIN Enter value for TYPE (grant/revoke) Setting TYPE to GRANT Enter value for MODE (audit_collection/audit_setting/data_discovery/masking/assessment/all) Setting MODE to ALL Granting AUDIT_COLLECTION privileges to "DATASAFEADMIN" ... Granting AUDIT_SETTING privileges to "DATASAFEADMIN" ... Granting DATA_DISCOVERY role to "DATASAFEADMIN" ... Granting MASKING role to "DATASAFEADMIN" ... Granting ASSESSMENT role to "DATASAFEADMIN" ... Done. Disconnected from Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.1.0.0.0 [oracle@dbcs21c ~]$
Tarefa 1: Acessar o OCI Cloud Shell
Acesse o OCI Cloud Shell para utilizar seus recursos integrados.
-
Faça log-in na Console do OCI.
-
Clique no ícone Cloud Shell/Code Editor no cabeçalho da console e selecione Cloud Shell no menu drop-down. Observe que a CLI do OCI em execução no OCI Cloud Shell executará comandos na região selecionada no menu de seleção da região da console quando o OCI Cloud Shell for iniciado.
Tarefa 2: Criar Pontos Finais Privados para Bancos de Dados de Destino
O Oracle Data Safe suporta conectividade com bancos de dados Oracle usando endereços IP públicos ou privados. Para bancos de dados com endereços IP privados, você tem duas opções: um ponto final privado do Oracle Data Safe ou um conector local do Oracle Data Safe. Neste tutorial, nos concentraremos na criação de pontos finais privados para registrar bancos de dados DBaaS.
Nome do Script: generate_private_endpoints_and_commands_for_missing_vcns.sh
.
Descrição: Este script identifica VCNs em um compartimento do OCI especificado que não tem pontos finais privados do Oracle Data Safe. Ele gera um arquivo CSV listando as VCNs ausentes e suas sub-redes associadas e cria um script shell que contém comandos da CLI do OCI para criar os pontos finais privados necessários para cada VCN.
Siga as etapas:
-
Solicite ao usuário o OCID do compartimento.
-
Identifique VCNs que não têm pontos finais privados do Oracle Data Safe.
-
Liste as VCNs ausentes e suas sub-redes associadas.
-
Gere um arquivo CSV chamado
list_vcns_without_private_endpoints.csv
com detalhes de VCNs e sub-redes ausentes. -
Crie um script shell chamado
create_private_endpoints_commands.sh
contendo comandos da CLI do OCI para criar pontos finais privados para as VCNs identificadas.
Amostra de saída:
Tarefa 3: Gerar Credenciais do Banco de Dados de Destino no Formato JSON
Neste tutorial, uma única conta de serviço do Oracle Data Safe é usada em todos os bancos de dados de destino. Portanto, o arquivo JSON da credencial do banco de dados será o mesmo para todos os bancos de dados de destino.
Nome do Script: generate_target_db_credentials.sh
.
Descrição: Este script solicita que o usuário informe um nome de usuário e uma senha e, em seguida, cria um arquivo JSON chamado Credentials_Target_DBaaS.json
contendo as credenciais fornecidas. O arquivo JSON é usado para armazenar com segurança o nome de usuário e a senha do banco de dados de destino.
Siga as etapas:
-
Solicite que o usuário insira um nome de usuário.
-
Solicite que o usuário informe uma senha.
-
Crie um arquivo JSON chamado
Credentials_Target_DBaaS.json
contendo o nome de usuário e a senha.
Amostra de Saída de Script:
Tarefa 4: Gerar Opções de Conexão de Ponto Final Privado no Formato JSON
Nome do Script: generate_Connection_Options_private_endpoints.sh
.
Descrição: Esse script automatiza o processo de listagem de VCNs, sub-redes e pontos finais privados do Oracle Data Safe em um compartimento do OCI. Ele gera um arquivo CSV contendo informações detalhadas sobre cada ponto final privado, incluindo nomes de VCN e sub-rede associados, e cria arquivos JSON individuais para cada ponto final para definir as opções de conexão do Oracle Data Safe.
Siga as etapas:
-
Solicite ao usuário o ID do compartimento.
-
Liste todas as VCNs e salve a saída em
vcn_list.txt
. -
Liste todas as sub-redes e salve a saída em
subnet_list.txt
. -
Liste todos os pontos finais privados do Oracle Data Safe e salve a saída em
PE_list.txt
. -
Gere um arquivo CSV chamado
list_All_private_endpoints_details.csv
com informações detalhadas sobre cada ponto final privado. -
Crie arquivos JSON para cada ponto final privado para especificar opções de conexão do Oracle Data Safe.
Amostra de Saída de Script:
Tarefa 5: Registrar Autonomous Databases no Oracle Data Safe
Ao registrar um Oracle Autonomous Database Serverless com Acesso Seguro de Qualquer Lugar, você não precisa selecionar uma opção de conectividade ou especificar detalhes da conta de serviço, pois eles são incluídos por padrão. Neste tutorial, demonstramos como gerenciar e registrar o Oracle Autonomous Database Serverless.
Nome do Script: generate_Autonomous_database_details_with_data_safe.sh
.
Descrição: Esse script automatiza o processo de listar os Oracle Autonomous Databases em um compartimento do OCI e verificar o status de registro do Oracle Data Safe. Ele gera um arquivo CSV contendo detalhes de todos os Oracle Autonomous Databases e cria arquivos JSON para bancos de dados não registrados no Oracle Data Safe. Além disso, o script prepara os comandos de registro do Oracle Data Safe para cada banco de dados não registrado e os salva em um script shell. Isso permite que os usuários registrem rapidamente bancos de dados não registrados executando os comandos gerados.
Siga as etapas:
-
Prompt para o ID do compartimento.
-
Gere um arquivo CSV com detalhes do Oracle Autonomous Database.
-
Crie arquivos JSON para bancos de dados não registrados.
-
Preparar comandos de registro do Oracle Data Safe em um script shell.
-
Execute os comandos de registro para registrar os bancos de dados.
Amostra de Saída de Script:
Tarefa 6: Registrar Bancos de Dados do Oracle Cloud no Oracle Data Safe
Nome do Script: generate_Cloud_database_details_with_data_safe.sh
.
Descrição: Automatiza a extração e o processamento de detalhes do banco de dados em nuvem da Oracle e seus pontos finais privados, criando arquivos de configuração JSON e gerando comandos de registro para o Oracle Data Safe.
Siga as etapas:
-
Prompt para o ID do compartimento.
-
Liste os bancos de dados DBaaS e salve em
Output1.txt
. -
Anexe IDs de sub-rede para bancos de dados sem IDs de cluster de VMs e IDs de sistema de banco de dados.
-
Salve os resultados em
Oracle_Cloud_Databases_Details.csv
. -
Liste pontos finais privados e salve em
Datasafe_Private-Endpoint_List.txt
. -
Gere arquivos JSON para cada nome de PDB.
-
Crie comandos de registro em
Datasafe_CloudDB_Registration_Commands.sh
.
Amostra de Saída de Script:
Tarefa 7: Atualizar as Programações de Avaliação de Segurança e do Usuário
Você pode configurar programações para salvar automaticamente as avaliações de segurança e usuário mais recentes para seus bancos de dados de destino em um compartimento designado no OCI. Para obter mais informações, consulte Programar Avaliações de Segurança e Programar Avaliações do Usuário.
Nome do Script: generate_datasafe_assessment_schedules.sh
.
Descrição: Esse script shell foi projetado para automatizar o processo de recuperação de bancos de dados de destino do Oracle Data Safe, suas avaliações de segurança e usuário correspondentes e gerar programações de atualização para o OCI. O script solicita ao usuário um ID de compartimento, recupera bancos de dados de destino ativos no Oracle Data Safe e gera dois scripts de programação de atualização - um para avaliações de segurança e outro para avaliações do usuário.
Siga as etapas:
-
Prompt para o ID do compartimento.
-
Informe o ID do compartimento.
-
Listar Alvos Ativos: Salve em
Datasafe_Active_TargetDB_list.txt
. -
Recuperar Avaliações: Anexe os detalhes a
Datasafe_Active_TargetDBs.txt
. -
Gerar Scripts: Crie
schedule_security_assessments.sh
eschedule_user_assessments.sh
.
Amostra de Saída de Script:
Tarefa 8: Começar a coletar os logs de Auditoria dos Bancos de Dados de Destino
Quando um banco de dados de destino é registrado, o Oracle Data Safe detecta automaticamente as trilhas de auditoria disponíveis e cria um recurso de trilha de auditoria correspondente para cada banco de dados de destino. Depois que a coleta de trilha de auditoria é iniciada, o Oracle Data Safe copia registros de auditoria do banco de dados de destino para seu repositório para monitoramento e análise. Você pode controlar a coleta de dados de auditoria iniciando ou interrompendo-a conforme necessário. Para obter mais informações, consulte Trilhas de Auditoria.
Nome do Script: Generate_DataSafe_Audit_Collection_Scripts.sh
.
Descrição: O script, Generate_DataSafe_Audit_Collection_Scripts.sh
, automatiza o processo de coleta de dados da trilha de auditoria para bancos de dados de destino do Oracle Data Safe. Ele solicita ao usuário um ID de compartimento e um horário inicial de coleta de trilha de auditoria, recupera as trilhas de auditoria com o status NOT_STARTED e gera um script de shell único para iniciar a coleta de trilha de auditoria para todos os bancos de dados de destino.
Siga as etapas:
-
Informar ID do Compartimento: Solicita ao usuário o ID do compartimento do OCI.
-
Informar Hora Inicial: Solicita a hora inicial da coleta de auditoria no formato
YYYY-MM-DD
. -
Extrair Trilhas de Auditoria: Recupera trilhas de auditoria com o status NOT_STARTED do OCI.
-
Gerar CSV: Extrai dados relevantes da trilha de auditoria para
audit_trails.csv
. -
Criar Script: Gera
Data_safe_Target_DB_Audit_Collection_Start.sh
com comandos para iniciar a coleta de auditoria para todos os destinos.
Amostra de Saída de Script:
Tarefa 9: Preparar um Inventário do Oracle Data Safe
Nome do Script: generate_data_safe_db_inventory.sh
.
Descrição: Esse script shell interage com o OCI para recuperar e processar informações do banco de dados de destino do Oracle Data Safe com base em seus tipos: AUTONOMOUS_DATABASE, DATABASE_CLOUD_SERVICE e INSTALLED_DATABASE. Ele gera arquivos de saída com informações detalhadas sobre cada tipo de banco de dados.
Siga as etapas:
-
ID do Compartimento de Entrada: Solicite que o usuário informe o ID do compartimento no qual os bancos de dados estão localizados.
-
Listar e Filtrar Bancos de Dados: Liste todos os bancos de dados de destino do Oracle Data Safe no compartimento especificado e filtre-os por tipo.
-
Recuperar Detalhes do Banco de Dados:
-
AUTONOMOUS_DATABASE: Recupera detalhes como nome para exibição, ID do banco de dados e tipo de infraestrutura.
-
DATABASE_CLOUD_SERVICE: Recupera detalhes como ID do sistema de banco de dados, ID do cluster de VMs (tratando valores nulos) e porta do listener.
-
INSTALLED_DATABASE: Recupera informações, incluindo ID da instância, endereços IP e nome do serviço.
-
-
Gerar Arquivos de Saída: Crie arquivos separados para cada tipo de banco de dados com os detalhes coletados.
-
Limpeza: Remova os arquivos temporários e finalize a saída.
Amostra de Saída de Script:
Links Relacionados
Confirmações
-
Autor - Alex Kovuru (Arquiteto de Nuvem Principal)
-
Colaborador - Indiradarshni Balasundaram (Engenheiro de Nuvem)
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.
Streamline Continuous Database Monitoring by Automating Oracle Data Safe Registration with OCI CLI
G15076-01
September 2024