Exportation des journaux PostgreSQL vers le stockage d'objets
Exportez les journaux PostgreSQL, y compris les journaux de vérification générés par l'extension pgaudit, vers un seau d'Oracle Cloud Infrastructure Object Storage afin que vous puissiez les archiver, les télécharger et y accéder directement à partir du service de stockage d'objets pour améliorer l'accessibilité et la gestion des journaux.
Préalables
Avant de pouvoir configurer un système de base de données pour exporter les journaux PostgreSQL vers un seau de stockage d'objets, le seau doit exister et vous devez accorder aux ressources OCI Database with PostgreSQL l'accès pour le chargement vers le seau. Si vous devez créer un nouveau seau, voir Création d'un seau de stockage d'objets. Pour créer des politiques qui permettent aux ressources d'accéder au seau, voir Politique IAM requise.
Politique GIA requise
OCI Database with PostgreSQL utilise des principaux de ressource pour authentifier et accéder à d'autres ressources Oracle Cloud Infrastructure, telles que les seaux de stockage d'objets. Vous pouvez accorder à un système de base de données, à un jeu spécifique de systèmes de base de données ou à tous les systèmes de base de données l'accès au seau de stockage d'objets.
Pour accorder à un système de base de données spécifique l'accès à des seaux de lecture et à l'écriture d'objets dans un seau, utilisez les politiques suivantes :
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>'}Pour accorder à tous les systèmes de base de données l'accès à des seaux de lecture et écrire des objets dans un seau, utilisez les politiques suivantes :
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>'}Les groupes dynamiques vous permettent de regrouper les bases de données OCI Database with PostgreSQL avec des systèmes de base de données PostgreSQL en tant qu'acteurs principaux, similaires aux groupes d'utilisateurs. Tout d'abord, les systèmes de base de données qui ont besoin d'un accès doivent être placés dans un groupe dynamique, puis le groupe dynamique est autorisé à charger des objets dans le seau.
L'appartenance au groupe dynamique dépend d'un ensemble de critères que vous définissez, appelés règles de correspondance. L'exemple suivant présente une règle de correspondance incluant tous les systèmes de base de données d'un compartiment défini :
all { resource.type='postgresqldbsystem', resource.compartment.id = 'ocid1.compartment.oc1..exampleuniqueID'}Vous pouvez également utiliser des marqueurs définis lors de la création de groupes dynamiques pour un contrôle d'accès plus spécifique, par exemple :
all { resource.type = 'postgresqldbsystem', tag.<tagnamespace>.<tagkey>.value='<tagvalue>'}Pour plus d'informations, voir Gestion des groupes dynamiques et Création d'un groupe dynamique.
Pour accorder à des groupes dynamiques l'accès à des seaux de lecture et d'écriture et à des objets dans un seau, utilisez une politique telle que :
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>'}Configurer un système de base de données pour l'exportation de journaux
Après avoir configuré l'accès au principal de ressource, configurez le système de base de données OCI Database with PostgreSQL pour exporter les journaux vers le stockage d'objets en définissant des paramètres de configuration personnalisés. Vous devrez peut-être créer ou copier une configuration pour spécifier les paramètres de configuration suivants :
oci.log_destination:oci_object_storageoci.log_destination_os_namespace: Espace de noms du stockage d'objets pour la locationoci.log_destination_os_bucket_name: Nom du seau de stockage d'objets vers lequel les journaux sont exportés
Une fois que vous avez défini une configuration avec les détails d'exportation de journal, appliquez cette configuration au système de base de données. Pour plus d'informations, voir Modification de la configuration appliquée à un système de base de données.
Détails de l'objet
Les journaux sont chargés vers le seau de stockage d'objets spécifié à l'aide de la convention d'attribution de nom suivante :
<DBSYSTEM_ID>/<DB_INSTANCEID>/postgresql-<DATE>_######.csv.gz
<DBSYSTEM_ID>: ID de la base de données OCI Database with PostgreSQL.<DB_INSTANCEID>: ID instance de la base de données PostgreSQL.<DATE>: Date à laquelle les journaux ont été générés, au formatYYYY-MM-DD.######: Numéro de séquence.
Exemple :
mydbsystem/instance123/postgresql-2025-01-27_000001.csv.gz