Exportando Logs PostgreSQL para o Serviço Object Storage
Exporte logs PostgreSQL, incluindo logs de auditoria gerados pela extensão pgaudit
, para um bucket do Oracle Cloud Infrastructure Object Storage para que você possa arquivar, fazer download e acessá-los diretamente do Object Storage para melhorar a acessibilidade e os aspectos de gerenciamento de log.
Pré-requisitos
Para que você possa configurar um sistema de banco de dados para exportar logs PostgreSQL para um bucket do serviço Object Storage, o bucket deve existir e você deve conceder ao OCI Database with PostgreSQL acesso para upload no bucket. Se você precisar criar um novo bucket, consulte Criando um Bucket do Serviço Object Storage. Para criar políticas que permitam o acesso de recursos ao bucket, consulte Política Obrigatória do Serviço IAM.
Política de IAM Obrigatória
O OCI Database with PostgreSQL usa controladores de recursos para autenticar e acessar outros recursos do Oracle Cloud Infrastructure, como buckets do Object Storage. Você pode conceder a um sistema de banco de dados, a um conjunto específico de sistemas de banco de dados ou a todos os sistemas de banco de dados acesso ao bucket do Object Storage.
Para conceder a um sistema de banco de dados específico acesso para ler buckets e gravar objetos em um bucket, use as seguintes políticas:
allow any-user to read buckets in compartment <compartment-name> where ALL {request.principal.id = '<dbsystem_OCID>', target.bucket.name = '<bucket_name>'}
allow any-user to manage objects in compartment <compartment-name> where ALL {request.principal.id = '<dbsystem_OCID>', target.bucket.name = '<bucket_name>'}
Para conceder a todos os sistemas de banco de dados acesso a um bucket de leitura e gravação de objetos em um bucket, use as seguintes políticas:
allow any-user to read buckets in compartment <compartment-name> where ALL {request.resource.type = 'postgresqldbsystem', target.bucket.name = '<bucket name>'}
allow any-user to manage objects in compartment <compartment-name> where ALL {request.resource.type = 'postgresqldbsystem', target.bucket.name = '<bucket name>'}
Os grupos dinâmicos permitem agrupar o OCI Database with PostgreSQL como atores principais, semelhantes aos grupos de usuários. Primeiro, os sistemas de banco de dados que precisam de acesso devem ser colocados em um grupo dinâmico e, em seguida, o grupo dinâmico recebe acesso para fazer upload de objetos para o bucket.
A associação ao grupo dinâmico depende de um conjunto de critérios que você define, denominados regras de correspondência. O exemplo a seguir mostra uma regra de correspondência que inclui todos os sistemas de banco de dados em um compartimento definido:
all { resource.type='postgresqldbsystem', resource.compartment.id = 'ocid1.compartment.oc1..exampleuniqueID'}
Você também pode usar tags definidas ao criar grupos dinâmicos para controle de acesso mais específico, por exemplo:
all { resource.type = 'postgresqldbsystem', tag.<tagnamespace>.<tagkey>.value='<tagvalue>'}
Para obter mais informações, consulte Gerenciando Grupos Dinâmicos e Criando um Grupo Dinâmico.
Para conceder a grupos dinâmicos acesso para ler buckets e gravar objetos em um bucket, use uma política como a seguinte:
Allow dynamic-group <PSQL_DynamicGroup> to read buckets in compartment <compartment-name> where ALL {target.bucket.name = '<bucket name>'}
Allow dynamic-group <PSQL_DynamicGroup> to manage objects in compartment <compartment-name> where ALL {target.bucket.name = '<bucket name>'}
Configurando um Sistema de Banco de Dados para Exportação de Log
Após configurar o acesso do controlador de recursos, configure o sistema de banco de dados do OCI Database with PostgreSQL para exportar logs para o Object Storage definindo parâmetros de configuração personalizados. Talvez seja necessário criar ou copiar uma configuração para especificar os seguintes parâmetros de configuração:
oci.log_destination
:oci_object_storage
oci.log_destination_os_namespace
: O namespace do serviço Object Storage para a tenancyoci.log_destination_os_bucket_name
: O nome do bucket do serviço Object Storage para o qual os logs são exportados
Depois de ter uma configuração que tenha detalhes de exportação de log especificados, aplique essa configuração ao sistema de banco de dados. Para obter mais informações, consulte Alterando a Configuração Aplicada a um Sistema de Banco de Dados.
Detalhes do Objeto
Os logs são submetidos a upload para o bucket do Object Storage especificado usando a seguinte convenção de nomenclatura:
<DBSYSTEM_ID>/<DB_INSTANCEID>/postgresql-<DATE>_######.csv.gz
<DBSYSTEM_ID>
: O ID do sistema de banco de dados do OCI Database with PostgreSQL.<DB_INSTANCEID>
: O ID da instância do banco de dados PostgreSQL.<DATE>
: A data em que os logs foram gerados, no formatoYYYY-MM-DD
.######
: O número de sequência.
Por exemplo:
mydbsystem/instance123/postgresql-2025-01-27_000001.csv.gz