Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Registrazione di log di audit Db2
Con la funzionalità per la registrazione di log di audit Db2, Amazon RDS registrare le attività del database, inclusi gli utenti che accedono al database e le query eseguite su di esso. RDS carica i log di controllo completati nel tuo bucket Amazon S3, utilizzando il ruolo AWS Identity and Access Management (IAM) che fornisci.
Argomenti
Configurazione della registrazione di log di audit Db2
Per abilitare la registrazione di log di audit per un database Amazon RDS per Db2, si abilita l’opzione DB2_AUDIT nell’istanza database RDS per Db2. Quindi, si configura una policy di audit in modo da abilitare la funzionalità per il database specifico. Per abilitare l’opzione DB2_AUDIT nell’istanza database RDS per Db2, è necessario configurarne le impostazioni. A tale scopo, fornisci ad Amazon Resource Names (ARNs) per il tuo bucket Amazon S3 e al ruolo IAM le autorizzazioni per accedere al tuo bucket.
Per configurare la registrazione di log di audit Db2 per un database RDS per Db2, completa le seguenti fasi.
Argomenti
Fase 1: creazione di un bucket Amazon S3
Se non lo hai già fatto, crea un bucket Amazon S3 in cui Amazon RDS possa caricare i file di log di audit del database RDS per Db2. Per il bucket S3 utilizzato come destinazione dei file dell’audit valgono le seguenti restrizioni:
-
Deve essere uguale Regione AWS all'istanza DB RDS for Db2.
-
Non deve essere aperto al pubblico.
-
Il proprietario del bucket deve essere anche il proprietario del ruolo IAM.
Per informazioni su come creare un bucket Amazon S3, consulta Creazione di un bucket nella Guida per l’utente di Amazon S3.
Una volta abilitata la registrazione di log di audit, Amazon RDS invia automaticamente i log dell’istanza database nelle seguenti posizioni:
-
Log a livello di istanza database:
bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/ -
Log a livello di database:
bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/
Prendi nota dell’ARN del bucket. Questa informazione è necessaria per completare le fasi successive.
Fase 2: creazione di una policy IAM
Crea una policy IAM con le autorizzazioni necessarie per trasferire i file di log di audit dall’istanza database al bucket Amazon S3. Questa fase presuppone che sia disponibile un bucket S3.
Prima di creare la policy, raccogli le seguenti informazioni:
-
L’ARN del bucket.
-
L'ARN per la tua chiave AWS Key Management Service (AWS KMS), se il tuo bucket utilizza la crittografia. SSE-KMS
Crea una policy IAM che includa le seguenti autorizzazioni:
"s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:ListAllMyBuckets"
Nota
Amazon RDS necessita dell's3:ListAllMyBucketsazione interna per verificare che lo stesso sia Account AWS proprietario sia del bucket S3 che dell'istanza DB RDS for Db2.
Se il tuo bucket utilizza la SSE-KMS crittografia, includi anche le seguenti autorizzazioni per il ruolo e la chiave IAM. AWS KMS
Per la policy del ruolo IAM aggiungi le seguenti autorizzazioni.
"kms:GenerateDataKey", "kms:Decrypt"
Includi le seguenti autorizzazioni nella policy chiave per la tua chiave. AWS KMS 111122223333Sostituiscila con il tuo numero di account e AROA123456789EXAMPLE con il nome del tuo ruolo IAM.
{ "Sid": "Allow RDS role to use the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:sts::111122223333:assumed-role/AROA123456789EXAMPLE/RDS-Db2Audit", "arn:aws:iam::111122223333:role/AROA123456789EXAMPLE" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }
Puoi creare una policy IAM utilizzando Console di gestione AWS o il AWS Command Line Interface (AWS CLI).
Per creare una policy IAM per consentire ad Amazon RDS l'accesso a un bucket Amazon S3
Accedi Console di gestione AWS e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione, scegli Policy.
-
Scegli Crea policy, quindi JSON.
-
In Aggiungi azioni, filtra in base a S3. Aggiungi accesso ListBucketGetBucketAcle GetBucketLocation.
-
Per Aggiungi una risorsa, scegli Aggiungi. Per Tipo di risorsa, scegli bucket e inserisci il nome del bucket. Quindi, scegli Aggiungi risorsa.
-
Scegli Aggiungi nuova istruzione.
-
In Aggiungi azioni, filtra in base a S3. Aggiungi accesso PutObjectListMultipartUploadParts, e AbortMultipartUpload.
-
Per Aggiungi una risorsa, scegli Aggiungi. Per Tipo di risorsa, scegliete oggetto e immettete
your bucket name/*. Quindi, scegli Aggiungi risorsa. -
Scegli Aggiungi nuova istruzione.
-
In Aggiungi azioni, filtra in base a S3. Aggiungi accesso ListAllMyBuckets.
-
Per Aggiungi una risorsa, scegli Aggiungi. Per Tipo di risorsa, scegli Tutte le risorse. Quindi, scegli Aggiungi risorsa.
-
Se utilizzi le chiavi KMS personali per crittografare i dati:
-
Scegli Aggiungi nuova istruzione.
-
In Aggiungi azioni, filtra in base a KMS. Aggiungi accesso GenerateDataKeye decrittografa.
-
Per Aggiungi una risorsa, scegli Aggiungi. Per Tipo di risorsa, scegli Tutte le risorse. Quindi, scegli Aggiungi risorsa.
-
-
Scegli Next (Successivo).
-
In Nome policy, inserisci un nome per la policy.
-
(Facoltativo) In Descrizione, inserisci una descrizione per la policy.
-
Scegli Crea policy.
Per creare una policy IAM per consentire ad Amazon RDS l'accesso a un bucket Amazon S3
-
Esegui il comando create-policy. Nell'esempio seguente, sostituisci
iam_policy_nameeamzn-s3-demo-bucketcon un nome per la tua policy IAM e il nome del bucket Amazon S3 di destinazione.Per Linux, macOS o Unix:
aws iam create-policy \ --policy-nameiam_policy_name\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "Statement2", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "Statement3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "Statement4", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "*" ] } ] }'Per Windows:
aws iam create-policy ^ --policy-nameiam_policy_name^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "Statement2", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "Statement3", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "Statement4", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "*" ] } ] }' -
Una volta creata la policy, prendi nota del relativo ARN. L’ARN servirà per Fase 3: creazione di un ruolo IAM e collegamento della policy IAM.
Per informazioni sulla creazione di una policy IAM, consulta Creazione di policy IAM nella Guida per l’utente di IAM.
Fase 3: creazione di un ruolo IAM e collegamento della policy IAM
Questa fase presuppone che tu abbia creato la policy IAM in Fase 2: creazione di una policy IAM. In questa fase, si crea un ruolo IAM per l’istanza database RDS per Db2 e quindi si collega la policy IAM al ruolo.
Puoi creare un ruolo IAM per l’istanza database utilizzando la console o la AWS CLI.
Per creare un ruolo IAM e collegare la policy IAM al ruolo
Accedi Console di gestione AWS e apri la console IAM all'indirizzo. https://console.aws.amazon.com/iam/
-
Nel pannello di navigazione, seleziona Roles (Ruoli).
-
Selezionare Create role (Crea ruolo).
-
Per Tipo di entità attendibile, seleziona Servizio AWS.
-
Per Servizio o caso d’uso, seleziona RDS, quindi RDS – Aggiungi ruolo al database.
-
Scegli Next (Successivo).
-
In Policy di autorizzazione, cerca e seleziona il nome della policy IAM che hai creato.
-
Scegli Next (Successivo).
-
In Role name, (Nome ruolo), inserisci un nome.
-
(Facoltativo) In Description (Descrizione), inserisci una descrizione per il nuovo ruolo.
-
Scegli Crea ruolo.
Per creare un ruolo IAM e collegare la policy IAM al ruolo
-
Esegui il comando create-role. Nell'esempio seguente, sostituiscilo
iam_role_namecon un nome per il tuo ruolo IAM.Per Linux, macOS o Unix:
aws iam create-role \ --role-nameiam_role_name\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'Per Windows:
aws iam create-role ^ --role-nameiam_role_name^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }' -
Una volta creato il ruolo, prendi nota del relativo ARN. Questa informazione è necessaria per la fase successiva, Fase 4: configurazione di un gruppo di opzioni per la registrazione di log di audit Db2.
-
Esegui il comando attach-role-policy. Nell'esempio seguente, sostituisci
iam_policy_arncon l'ARN della policy IAM in cui hai creato. Fase 2: creazione di una policy IAM Sostituisciloiam_role_namecon il nome del ruolo IAM che hai appena creato.Per Linux, macOS o Unix:
aws iam attach-role-policy \ --policy-arniam_policy_arn\ --role-nameiam_role_namePer Windows:
aws iam attach-role-policy ^ --policy-arniam_policy_arn^ --role-nameiam_role_name
Per ulteriori informazioni, consulta la pagina relativa alla creazione di un ruolo per delegare le autorizzazioni a un utente IAM nella Guida per l'utente IAM.
Fase 4: configurazione di un gruppo di opzioni per la registrazione di log di audit Db2
La procedura per aggiungere le opzioni relative alla registrazione di log di audit Db2 a un’istanza database RDS per Db2 è la seguente:
-
Creare un nuovo gruppo di opzioni oppure copiare o modificare un gruppo di opzioni esistente.
-
Aggiungere e configurare tutte le opzioni necessarie.
-
Associare il gruppo di opzioni a questa istanza database.
Una volta aggiunte le opzioni per la registrazione di log di audit Db2, non è necessario riavviare l’istanza database. Non appena il gruppo di opzioni diventa attivo, è possibile creare audit e archiviarne i log nel bucket S3.
Per aggiungere e configurare la registrazione di log di audit Db2 in un gruppo di opzioni di un’istanza database
-
Seleziona una delle seguenti opzioni:
-
Utilizzare un gruppo di opzioni esistente.
-
Creare un gruppo di opzioni database personalizzato e utilizzarlo. Per ulteriori informazioni, consulta Creazione di un gruppo di opzioni.
-
-
Aggiungi l'opzione DB2_AUDIT al gruppo di opzioni e configura le impostazioni delle opzioni. Per ulteriori informazioni sull'aggiunta di opzioni, consulta Aggiunta di un'opzione a un gruppo di opzioni.
-
Per IAM_ROLE_ARN, inserisci l’ARN del ruolo IAM creato in Fase 3: creazione di un ruolo IAM e collegamento della policy IAM.
-
Per S3_BUCKET_ARN, inserisci l’ARN del bucket S3 da utilizzare per i log di audit Db2. Il bucket deve trovarsi nella stessa Regione dell’istanza database RDS per Db2. La policy associata al ruolo IAM che hai inserito deve consentire le operazioni necessarie su questa risorsa.
-
-
Applicare il gruppo di opzioni a un’istanza database nuova o esistente. Scegliere una delle seguenti opzioni:
-
Se si sta creando una nuova istanza database, applicare il gruppo di opzioni quando viene avviata l'istanza.
-
In un’istanza database esistente, applicare il gruppo di opzioni modificando l’istanza e poi collegando il nuovo gruppo di opzioni. Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS.
-
Fase 5: configurazione della policy di audit
Per configurare la policy di audit per il database RDS per Db2, connettiti al database rdsadmin utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Quindi, chiama la stored procedure rdsadmin.configure_db_audit con il nome del database e i valori dei parametri applicabili.
L’esempio seguente si connette al database e configura una policy di audit per testdb con le categorie AUDIT, CHECKING, OBJMAINT, SECMAINT, SYSADMIN e VALIDATE. Il valore di stato BOTH registra gli esiti positivi e negativi e ERROR TYPE ha come valore predefinito NORMAL. Per ulteriori informazioni su come utilizzare questa stored procedure, consulta rdsadmin.configure_db_audit.
db2 "connect to rdsadmin usermaster_userusingmaster_password" db2 "call rdsadmin.configure_db_audit('testdb', 'ALL', 'BOTH', ?)"
Fase 6: verifica della configurazione di audit
Per assicurarti che la policy di audit sia configurata correttamente, verifica lo stato della configurazione di audit.
A tale scopo, connettiti al database rdsadmin utilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Quindi, esegui l’istruzione SQL seguente con il nome del database. Nell'esempio seguente, il nome del DB ètestdb.
db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params, cast(task_output as varchar(500)) as task_output from table(rdsadmin.get_task_status(null,'testdb','CONFIGURE_DB_AUDIT'))" Sample Output TASK_ID TASK_TYPE DATABASE_NAME LIFECYCLE -------------------- -------------------- --------------- ------------- 2 CONFIGURE_DB_AUDIT DB2DB SUCCESS ... continued ... TASK_PARAMS -------------------------------------------------------- { "AUDIT_CATEGORY" : "ALL", "CATEGORY_SETTING" : "BOTH" } ... continued ... TASK_OUTPUT --------------------------------------------------- 2023-12-22T20:27:03.029Z Task execution has started. 2023-12-22T20:27:04.285Z Task execution has completed successfully.
Gestione della registrazione di log di audit Db2
Dopo aver configurato la registrazione di log di audit Db2, è possibile modificare la policy di audit per un database specifico oppure disabilitare la registrazione di log di audit a livello di database o per l’intera istanza database. È inoltre possibile cambiare il bucket Amazon S3 in cui vengono caricati i file di log.
Argomenti
Modifica di una policy di audit Db2
Per modificare la policy di audit relativa a un determinato database RDS per Db2, è possibile eseguire la stored procedure rdsadmin.configure_db_audit. Con questa stored procedure, si possono modificare le categorie, le relative impostazioni e la configurazione del tipo di errore della policy di audit. Per ulteriori informazioni, consulta rdsadmin.configure_db_audit.
Modifica della posizione dei file di log
Per cambiare il bucket Amazon S3 in cui vengono caricati i file di log, è possibile procedere in uno dei seguenti modi:
-
Modificare il gruppo di opzioni corrente collegato all’istanza database RDS per Db2 – Aggiornare l’impostazione
S3_BUCKET_ARNdell’opzioneDB2_AUDITin modo che punti al nuovo bucket. Assicurarsi inoltre di aggiornare la policy IAM collegata al ruolo IAM specificato dall’impostazioneIAM_ROLE_ARNnel gruppo di opzioni collegato. La policy IAM deve fornire al nuovo bucket le autorizzazioni di accesso necessarie. Per informazioni sulle autorizzazioni necessarie nella policy IAM, consulta Creazione di una policy IAM. -
Collegare l’istanza database RDS per Db2 a un gruppo di opzioni diverso – Modificare l’istanza database per cambiare il gruppo di opzioni collegato. Assicurarsi che il nuovo gruppo di opzioni sia configurato con le impostazioni
S3_BUCKET_ARNeIAM_ROLE_ARNcorrette. Per informazioni su come configurare queste impostazioni per l’opzioneDB2_AUDIT, consulta Configurazione di un gruppo di opzioni.
Quando si modifica il gruppo di opzioni, assicurarsi di applicare immediatamente le modifiche. Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS.
Disabilitazione della registrazione di log di audit Db2
Per disabilitare la registrazione di log di audit Db2, è possibile procedere in uno dei seguenti modi:
-
Disabilitare la registrazione di log di audit per l’istanza database RDS per Db2 – Modificare l’istanza database e rimuovere il gruppo di opzioni in cui è inclusa l’opzione
DB2_AUDIT. Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS. -
Disabilitare la registrazione di log di audit per un database specifico – Interrompere la registrazione di log di audit e rimuovere la policy di audit chiamando
rdsadmin.disable_db_auditcon il nome del database. Per ulteriori informazioni, consulta rdsadmin.disable_db_audit.db2 "call rdsadmin.disable_db_audit( 'db_name', ?)"
Visualizzazione dei log di audit
Una volta abilitata la registrazione di log di audit Db2, è necessario attendere almeno un’ora prima che i dati di audit siano visibili nel bucket Amazon S3. Amazon RDS invia automaticamente i log dell’istanza database RDS per Db2 nelle seguenti posizioni:
-
Log a livello di istanza database:
bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/ -
Log a livello di database:
bucket_name/db2-audit-logs/dbi_resource_id/date_time_utc/db_name/
La seguente schermata di esempio della console Amazon S3 mostra un elenco di cartelle per i file di log a livello di istanza database RDS per Db2.
La seguente schermata di esempio della console Amazon S3 mostra i file di log a livello di database per l’istanza database RDS per Db2.
Risoluzione dei problemi relativi alla registrazione di log di audit Db2
Le informazioni riportate di seguito consentono di risolvere i problemi più comuni relativi alla registrazione di log di audit Db2.
Impossibile configurare la policy di audit
Se la chiamata alla stored procedure rdsadmin.configure_db_audit restituisce un errore, è possibile che il gruppo di opzioni con DB2_AUDIT non sia associato all’istanza database RDS per Db2. Modifica l’istanza database in modo da aggiungere il gruppo di opzioni, quindi prova a chiamare nuovamente la stored procedure. Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS.
Nessun dato nel bucket Amazon S3
Se nel bucket Amazon S3 non sono presenti dati relativi alla registrazione di log, controlla quanto segue:
-
Il bucket Amazon S3 deve trovarsi nella stessa Regione dell’istanza database RDS per Db2.
-
Il ruolo specificato nell’impostazione dell’opzione
IAM_ROLE_ARNdeve essere configurato con le autorizzazioni necessarie per caricare i log nel bucket Amazon S3. Per ulteriori informazioni, consulta Creazione di una policy IAM. -
Le impostazioni ARNs for the
IAM_ROLE_ARNandS3_BUCKET_ARNoption sono corrette nel gruppo di opzioni associato all'istanza DB RDS for Db2. Per ulteriori informazioni, consulta Configurazione di un gruppo di opzioni.
È possibile controllare lo stato di attività della configurazione della registrazione di log di audit collegandosi al database ed eseguendo un’istruzione SQL. Per ulteriori informazioni, consulta Verifica della configurazione di audit.
È inoltre possibile controllare gli eventi per scoprire le cause dell’eventuale assenza di log. Per informazioni su come visualizzare gli eventi, consulta Visualizzazione di registri, eventi e flussi nella console Amazon RDS.