DB2 - Protezione del database

Questo capitolo descrive la sicurezza del database.

introduzione

Il database e le funzioni DB2 possono essere gestiti da due diverse modalità di controlli di sicurezza:

  1. Authentication
  2. Authorization

Autenticazione

L'autenticazione è il processo di conferma che un utente accede solo in conformità con i diritti per eseguire le attività che è autorizzato a svolgere. L'autenticazione utente può essere eseguita a livello di sistema operativo o di database stesso. Utilizzando strumenti di autenticazione per la biometria come la retina e le stampe di figure sono in uso per mantenere il database da hacker o utenti malintenzionati.

La sicurezza del database può essere gestita dall'esterno del sistema di database db2. Ecco alcuni tipi di processo di autenticazione della sicurezza:

  • Basato sulle autenticazioni del sistema operativo.
  • Lightweight Directory Access Protocol (LDAP)

Per DB2, il servizio di sicurezza fa parte del sistema operativo come prodotto separato. Per l'autenticazione, richiede due credenziali diverse, ovvero ID utente o nome utente e password.

Autorizzazione

È possibile accedere al database DB2 e alle sue funzionalità all'interno del sistema di database DB2, che è gestito dal gestore database DB2. L'autorizzazione è un processo gestito dal gestore database DB2. Il gestore ottiene le informazioni sull'utente attualmente autenticato, che indicano a quale operazione di database l'utente può eseguire o accedere.

Di seguito sono riportati diversi modi di autorizzazioni disponibili per l'autorizzazione:

Primary permission: Concede direttamente l'ID di autorizzazione.

Secondary permission: Concede ai gruppi e ai ruoli se l'utente è un membro

Public permission: Concede pubblicamente a tutti gli utenti.

Context-sensitive permission: Concede al ruolo contesto attendibile.

L'autorizzazione può essere concessa agli utenti in base alle seguenti categorie:

  • Autorizzazione a livello di sistema
  • Amministratore di sistema [SYSADM]
  • Controllo del sistema [SYSCTRL]
  • Manutenzione del sistema [SYSMAINT]
  • Monitor di sistema [SYSMON]

Le autorità forniscono il controllo sulla funzionalità a livello di istanza. L'autorità fornisce privilegi di gruppo, per controllare la manutenzione e le operazioni di autorizzazione. Ad esempio, database e oggetti di database.

  • Autorizzazione a livello di database
  • Amministratore della sicurezza [SECADM]
  • Amministratore del database [DBADM]
  • Controllo degli accessi [ACCESSCTRL]
  • Accesso ai dati [DATAACCESS]
  • Amministratore SQL. [SQLADM]
  • Amministratore della gestione del carico di lavoro [WLMADM]
  • Spiega [SPIEGAZIONE]

Le autorità forniscono controlli all'interno del database. Altre autorizzazioni per il database includono LDAD e CONNECT.

  • Object-Level Authorization: L'autorizzazione a livello di oggetto implica la verifica dei privilegi quando viene eseguita un'operazione su un oggetto.
  • Content-based Authorization: L'utente può avere accesso in lettura e scrittura a singole righe e colonne su una particolare tabella utilizzando il controllo dell'accesso basato su etichetta [LBAC].

Le tabelle DB2 ei file di configurazione vengono utilizzati per registrare le autorizzazioni associate ai nomi di autorizzazione. Quando un utente tenta di accedere ai dati, le autorizzazioni registrate verificano le seguenti autorizzazioni:

  • Nome di autorizzazione dell'utente
  • Quale gruppo appartiene all'utente
  • Quali ruoli vengono concessi direttamente all'utente o indirettamente a un gruppo
  • Autorizzazioni acquisite tramite un contesto attendibile.

Mentre si lavora con le istruzioni SQL, il modello di autorizzazione DB2 considera la combinazione delle seguenti autorizzazioni:

  • Autorizzazioni concesse all'ID di autorizzazione principale associato alle istruzioni SQL.
  • ID di autorizzazione secondari associati alle istruzioni SQL.
  • Concesso al PUBBLICO
  • Concesso al ruolo del contesto attendibile.

Autorità a livello di istanza

Parliamo di alcune autorità relative all'istanza.

Autorità di amministrazione del sistema (SYSADM)

È l'autorità amministrativa di livello più alto a livello di istanza. Gli utenti con l'autorizzazione SYSADM possono eseguire alcuni database e comandi del gestore database all'interno dell'istanza. Gli utenti con autorizzazione SYSADM possono eseguire le seguenti operazioni:

  • Aggiorna un database
  • Ripristina un database
  • Aggiorna il file di configurazione del gestore database.

Autorità di controllo del sistema (SYSCTRL)

È il livello più alto nell'autorità di controllo del sistema. Fornisce l'esecuzione di operazioni di manutenzione e utilità sull'istanza del gestore database e sui suoi database. Queste operazioni possono influire sulle risorse di sistema, ma non consentono l'accesso diretto ai dati nel database.

Gli utenti con autorizzazione SYSCTRL possono eseguire le seguenti azioni:

  • Aggiornamento del database, del nodo o della directory DCS (Distributed Connect Service)
  • Forzare gli utenti fuori dal livello di sistema
  • Creazione o eliminazione di un livello di database
  • Creazione, modifica o eliminazione di uno spazio tabella
  • Utilizzando qualsiasi spazio sul tavolo
  • Ripristino del database

Autorità di manutenzione del sistema (SYSMAINT)

È un secondo livello di autorità di controllo del sistema. Fornisce l'esecuzione di operazioni di manutenzione e utilità sull'istanza del gestore database e sui suoi database. Queste operazioni influiscono sulle risorse di sistema senza consentire l'accesso diretto ai dati nel database. Questa autorizzazione è progettata per consentire agli utenti di mantenere i database all'interno di un'istanza del gestore database che contiene dati sensibili.

Solo gli utenti con SYSMAINT o autorizzazioni di sistema di livello superiore possono eseguire le seguenti attività:

  • Prendendo backup
  • Ripristino del backup
  • Ripristina il roll forward
  • Avvio o arresto dell'istanza
  • Ripristino dei tablespace
  • Esecuzione del comando db2trc
  • Acquisizione di istantanee del monitor di sistema nel caso di un utente a livello di istanza o di un utente a livello di database.

Un utente con SYSMAINT può eseguire le seguenti attività:

  • Interroga lo stato di un tablespace
  • Aggiornamento dei file della cronologia del registro
  • Riorganizzazione delle tabelle
  • Utilizzo di RUNSTATS (statistiche del catalogo della raccolta)

Autorità di monitoraggio del sistema (SYSMON)

Con questa autorizzazione, l'utente può monitorare o acquisire istantanee dell'istanza del gestore database o del suo database. L'autorizzazione SYSMON consente all'utente di eseguire le seguenti attività:

  • OTTIENI GLI INTERRUTTORI DEL MONITOR DEL DATABASE MANAGER
  • OTTIENI INTERRUTTORI DI MONITOR
  • OTTIENI UN'ISTANTANEA
  • ELENCO
    • ELENCO DATABASE ATTIVI
    • ELENCO APPLICAZIONI
    • ELENCO GRUPPI DI PARTIZIONE DATABASE
    • ELENCO APPLICAZIONI DCS
    • LISTA PACCHETTI
    • TABELLE ELENCO
    • ELENCO CONTENITORI SPAZIO TABELLA
    • ELENCO TABLESPACES
    • LIST UTITLITIES
  • RESET MONITOR
  • AGGIORNAMENTO INTERRUTTORI MONITOR

Autorità di database

Ogni autorità del database detiene l'ID di autorizzazione per eseguire alcune azioni sul database. Queste autorità di database sono diverse dai privilegi. Ecco l'elenco di alcune autorità di database:

ACCESSCTRL: consente di concedere e revocare tutti i privilegi degli oggetti e le autorizzazioni del database.

BINDADD: Permette di creare un nuovo pacchetto nel database.

CONNECT: Permette di connettersi al database.

CREATETAB: Permette di creare nuove tabelle nel database.

CREATE_EXTERNAL_ROUTINE: Permette di creare una procedura utilizzabile dalle applicazioni e dagli utenti dei database.

DATAACCESS: Consente di accedere ai dati archiviati nelle tabelle del database.

DBADM: Funge da amministratore del database. Fornisce tutte le altre autorizzazioni al database tranne ACCESSCTRL, DATAACCESS e SECADM.

EXPLAIN: Consente di spiegare i piani di query senza richiedere loro di detenere i privilegi per accedere ai dati nelle tabelle.

IMPLICIT_SCHEMA: Consente a un utente di creare uno schema implicitamente creando un oggetto utilizzando un'istruzione CREATE.

LOAD: Consente di caricare i dati nella tabella.

QUIESCE_CONNECT: Consente di accedere al database mentre è inattivo (temporaneamente disabilitato).

SECADM: Consente di agire come amministratore della sicurezza per il database.

SQLADM: Consente di monitorare e ottimizzare le istruzioni SQL.

WLMADM: Consente di agire come amministratore del carico di lavoro

Privilegi

SETSESSIONUSER

I privilegi dell'ID di autorizzazione implicano azioni sugli ID di autorizzazione. Esiste un solo privilegio, chiamato privilegio SETSESSIONUSER. Può essere concesso a un utente oa un gruppo e consente all'utente della sessione di cambiare identità a uno qualsiasi degli ID di autorizzazione su cui sono concessi i privilegi. Questo privilegio viene concesso dall'autorità SECADM dell'utente.

Privilegi dello schema

Questi privilegi implicano azioni sullo schema nel database. Il proprietario dello schema ha tutte le autorizzazioni per manipolare gli oggetti dello schema come tabelle, viste, indici, pacchetti, tipi di dati, funzioni, trigger, procedure e alias. A un utente, un gruppo, un ruolo o PUBLIC possono essere concessi a qualsiasi utente i seguenti privilegi:

  • CREATEIN: permette di creare oggetti all'interno dello schema
  • ALTERIN: permette di modificare gli oggetti all'interno dello schema.

DROPIN

Ciò consente di eliminare gli oggetti all'interno dello schema.

Privilegi tablespace

Questi privilegi implicano azioni sui tablespace nel database. All'utente può essere concesso il privilegio USE per i tablespace. I privilegi quindi consentono loro di creare tabelle all'interno di tablespace. Il proprietario del privilegio può concedere il privilegio USE con il comando WITH GRANT OPTION sul tablespace quando viene creato il tablespace. E le autorità SECADM o ACCESSCTRL hanno i permessi per USE privilegi sul tablespace.

Privilegi di visualizzazione e tabella

L'utente deve disporre dell'autorizzazione CONNECT sul database per poter utilizzare i privilegi di tabella e visualizzazione. I privilegi per tabelle e viste sono i seguenti:

CONTROLLO

Fornisce tutti i privilegi per una tabella o una vista, inclusi il rilascio e la concessione, la revoca dei privilegi di tabella individuale all'utente.

ALTER

Consente all'utente di modificare una tabella.

ELIMINA

Consente all'utente di eliminare righe dalla tabella o dalla vista.

INDICE

Consente all'utente di inserire una riga nella tabella o nella vista. Può anche eseguire l'utilità di importazione.

RIFERIMENTI

Consente agli utenti di creare e rilasciare una chiave esterna.

SELEZIONARE

Consente all'utente di recuperare righe da una tabella o da una vista.

AGGIORNARE

Consente all'utente di modificare le voci in una tabella, vista.

Privilegi del pacchetto

L'utente deve disporre dell'autorizzazione CONNECT al database. Il pacchetto è un oggetto database che contiene le informazioni del gestore database per accedere ai dati nel modo più efficiente per una particolare applicazione.

CONTROLLO

Fornisce all'utente i privilegi di riassociare, rilasciare o eseguire pacchetti. A un utente con questi privilegi vengono concessi i privilegi BIND e EXECUTE.

BIND

Consente all'utente di associare o riassociare quel pacchetto.

ESEGUIRE

Permette di eseguire un pacchetto.

Privilegi dell'indice

Questo privilegio riceve automaticamente il privilegio CONTROL sull'indice.

Privilegi di sequenza

La sequenza riceve automaticamente i privilegi USAGE e ALTER sulla sequenza.

Privilegi di routine

Implica l'azione di routine come funzioni, procedure e metodi all'interno di un database.