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à.
Autorizzazione
Nel processo di autorizzazione, il gestore del database ottiene informazioni sull'ID di autorizzazione dell'utente autenticato. L'ID di autorizzazione indica quali operazioni di database l'utente può eseguire, inclusi gli oggetti del database a cui l'utente può accedere. Le autorizzazioni, dichiarate esplicitamente all'interno di Db2, consentono agli utenti di eseguire azioni specifiche.
Per un ID di autorizzazione, le autorizzazioni possono essere concesse a vari livelli:
-
Principale: le autorizzazioni principali vengono concesse direttamente all'ID di autorizzazione.
-
Secondario: le autorizzazioni secondarie vengono concesse ai gruppi e ai ruoli di cui l'ID di autorizzazione è membro.
-
Pubblico: il livello pubblico è un gruppo Db2 speciale che rappresenta tutti i membri dell'organizzazione.
-
Sensibile al contesto: queste autorizzazioni vengono concesse a un ruolo contestuale affidabile.
Livelli di autorità Db2
Db2 gestisce le autorità ai seguenti livelli:
-
Livello di istanza o sistema:
SYSADM
,,SYSCTRL
,SYSMAINT
SYSMON
-
Livello del database:
DBADM
SQLADM
((EXPLAIN
WLMADM
),SECADM
(ACCESSCTRL
),DATAACCESS
-
Livello dello schema:
SCHEMAADM
(LOAD
)ACCESSCTRL
,DATAACCES
S -
Privilegi aggiuntivi a livello di schema
-
-

Db2 supporta i seguenti privilegi aggiuntivi a livello di schema:
-
SELECTIN
consente all'utente di recuperare righe da tutte le tabelle o viste definite nello schema. -
INSERTIN
consente all'utente di inserire righe e di eseguire l'IMPORT
utilità su tutte le tabelle o viste definite nello schema. -
UPDATEIN
consente all'utente di eseguire l'Update
istruzione su tutte le tabelle o viste aggiornabili definite nello schema. -
DELETEIN
consente all'utente di eliminare righe da tutte le tabelle o viste aggiornabili definite nello schema. -
EXECUTEIN
consente all'utente di eseguire tutte le funzioni, i metodi, le procedure, i pacchetti o i moduli definiti dall'utente definiti nello schema. -
CREATEIN
consente all'utente di creare oggetti all'interno dello schema. -
ALTERIN
consente all'utente di modificare gli oggetti all'interno dello schema. -
DROPIN
consente all'utente di eliminare oggetti dall'interno dello schema.
ID di autorizzazione
Un ID di autorizzazione Db2 è composto da quanto segue:
-
Tipo di ID di autorizzazione
-
Utente individuale (
U
) -
Gruppo (
G
) -
Ruolo (
R
) -
Pubblico (
P
)
-
-
Valore dell'ID di autorizzazione
Un ID di autorizzazione, a cui è possibile associare le autorità e i privilegi, viene utilizzato per l'identificazione e il controllo dell'autorizzazione Db2.
I seguenti sono i termini dell'ID di autorizzazione primario comunemente usati in Db2:
-
ID di autorizzazione del sistema: l'ID di autorizzazione utilizzato per eseguire qualsiasi controllo di autorizzazione iniziale, ad esempio il controllo dei
CONNECT
privilegi durante l'CONNECT
elaborazione. -
ID di autorizzazione della sessione: l'ID di autorizzazione utilizzato per qualsiasi controllo dell'autorizzazione della sessione successivo ai controlli iniziali eseguiti durante l'
CONNECT
elaborazione. Per vedere il valore corrente dell'ID di autorizzazione della sessione, utilizza il registroSESSION_USER
speciale. -
ID di autorizzazione dell'istruzione: l'ID di autorizzazione (insieme all'autorizzazione secondaria associata IDs per gruppi o ruoli) utilizzato per i requisiti di autorizzazione di un'istruzione SQL. Viene utilizzato anche per determinare la proprietà dell'oggetto, a seconda dei casi. Può variare a seconda del tipo di istruzione SQL e del contesto in cui viene emessa.
Le autorità e i privilegi vengono acquisiti tramite meccanismi espliciti, come REVOKE
le istruzioni GRANT
e, o meccanismi impliciti, come il privilegio ottenuto tramite la proprietà degli oggetti. Possono anche essere acquisiti temporaneamente attraverso più contesti di elaborazione. Ad esempio, ti è stato concesso l'accesso a una vista, che implicitamente ti dà accesso agli oggetti in quella definizione di vista. Inoltre, un EXECUTE
privilegio su un pacchetto vi consentirà di accedere a qualsiasi SQL statico contenuto in quel pacchetto. L'altro modo per ottenere autorità e privilegi temporanei consiste nell'utilizzare un contesto affidabile.
Contesto attendibile
Un contesto affidabile è un oggetto di database che definisce una relazione di trust tra il database e un server di applicazioni esterno o un altro server di database. La relazione di trust si basa sui seguenti attributi di trust:
-
Indirizzo IP
-
ID di autorizzazione del sistema
-
Livello di crittografia per la comunicazione dei dati
Se una connessione corrisponde agli attributi di fiducia all'interno di un oggetto di contesto affidabile definito, viene stabilita una connessione affidabile. Esistono due tipi di connessione affidabile:
-
Connessione affidabile implicita: una connessione affidabile implicita consente a un utente di ereditare un ruolo che non gli è disponibile al di fuori dell'ambito di tale definizione di connessione affidabile. All'ID di autorizzazione della sessione della connessione viene assegnata un'appartenenza temporanea a un ruolo dichiarato nella definizione del contesto affidabile.
Il diagramma seguente mostra un esempio di connessione affidabile implicita in cui è consentita la connessione da un solo indirizzo IP.
-
Il ruolo
dbconnrole
viene creato e viene concessa la connessione al database. Il contesto affidabilectximpl
viene creato in base allaauthid
ABC
connessione utilizzando l'indirizzo IP10.10.10.1
e il ruolo predefinitodbconnrole
. -
L'utente
ABC
può connettersi al database dall'indirizzo IP10.10.10.1
. -
L'utente non
ABC
può connettersi dall'indirizzo IP10.10.10.2
.
-
-
Connessione esplicita e affidabile: una connessione affidabile esplicita consente a un server di applicazioni affidabile o a un altro server di database Db2 di cambiare l'ID utente corrente sulla connessione esistente in modo efficiente. Un server delle applicazioni stabilisce la connessione originale con una richiesta esplicita di fiducia. Una volta stabilita la fiducia, il server delle applicazioni può inviare richieste al server del database per modificare l'ID di autorizzazione della sessione per qualsiasi nuova unità di lavoro. L'ID utilizzato per eseguire la richiesta di connessione iniziale richiede solo
CONNECT
i privilegi sul server.Le connessioni affidabili esplicite sono utili quando si dispone di un server di livello intermedio che deve inviare richieste di database per conto di più utenti con diversi set di modelli di accesso su vari oggetti di database, come le tabelle. L'oggetto di contesto attendibile creato sul server del database consente al server di livello intermedio di stabilire una connessione affidabile esplicita al database e quindi di passare l'ID utente corrente della connessione all'ID utente corrispondente senza la necessità di eseguire nuovamente l'autenticazione sul server del database. In base ai privilegi concessi agli oggetti del database per l'ID di autorizzazione dell'utente, l'utente può continuare a eseguire operazioni, mantenendo la vera identità dell'utente che esegue attività specifiche.
Il diagramma seguente mostra un esempio di connessione affidabile esplicita in cui
USER1
USER2
, eUSER3
tutti si connettono tramite.authid
APPID
-
Il contesto affidabile
ctxexpl
viene creato in base alla connessione che utilizza l'indirizzo IPauthid
APPID
from10.10.10.1
per gli utentiUSER1
USER2
, e.USER3
-
Gli utenti si connettono a un server di livello intermedio.
-
La connessione affidabile viene stabilita utilizzando.
APPID
-