Autenticare gli utenti di Autonomous AI Database con Kerberos
È possibile configurare Autonomous AI Database on Dedicated Exadata Infrastructure per utilizzare il protocollo di autenticazione di rete Kerberos per autenticare gli utenti del database. Kerberos è un protocollo di autenticazione di rete valido. Utilizza la crittografia a chiave segreta per abilitare l'autenticazione complessa fornendo l'autenticazione utente-server.
-
Il supporto di Autonomous AI Database on Dedicated Exadata Infrastructure per Kerberos offre i vantaggi del Single Sign-On e dell'autenticazione centralizzata degli utenti Oracle. Kerberos è un sistema DI autenticazione sicuro di terze parti che si basa su segreti condivisi. Si presume che la terza parte sia sicura e fornisca funzionalità di Single Sign-On, archiviazione centralizzata delle password, autenticazione del database link e sicurezza avanzata del PC. Lo fa tramite un server di autenticazione Kerberos.
-
Il sistema Kerberos ruota attorno al concetto di biglietto. Un ticket è un insieme di informazioni elettroniche che identificano un utente o un servizio. Un ticket identifica l'utente e i privilegi di accesso alla rete.
-
Nell'autenticazione basata su Kerberos, si invia in modo trasparente una richiesta di ticket a un KDC (Key Distribution Center). Il Key Distribution Center ti autentica e ti concede un ticket per accedere al database.
Componenti del sistema di autenticazione Kerberos
Fornisce una panoramica del sistema di autenticazione Kerberos.
-
Un realm stabilisce un dominio amministrativo di autenticazione. Ogni realm dispone del proprio database Kerberos contenente gli utenti e i servizi per il dominio amministrativo specifico.
-
I biglietti sono emessi dal Key Distribution Center (KDC). I client presentano i ticket al database server per dimostrare l'autenticità della loro identità. Ogni biglietto ha scadenza e un tempo di rinnovo.
-
Keytabs memorizza le chiavi a lungo termine per uno o più principal. Un file keytab viene generato richiamando lo strumento
kadmin.local(per il centro di distribuzione delle chiavi MIT) oktpass(per il centro di distribuzione delle chiavi Active Directory). -
Le voci principali sono le voci nel database di Key Distribution Center. A ciascun utente, host o servizio viene assegnato un principal. Un principal è un'identità univoca a cui il Key Distribution Center può assegnare i ticket.
-
Il supporto Kerberos in Autonomous AI Database utilizza questi valori per vari componenti che compongono il nome di un principal di servizio:
| Componente del principal servizio | Valore in Autonomous AI Database |
|---|---|
kinstance |
È possibile ottenere questo valore dall'attributo Utilizzare la seguente query per ottenere Nota: questo sarà il valore del parametro |
kservice |
In Autonomous AI Database sono disponibili due opzioni per il valore
Dopo aver abilitato Kerberos nell'istanza di Autonomous AI Database, utilizzare la query seguente per visualizzare il nome del servizio Kerberos: |
REALM |
Qualsiasi realm supportato dal KDC. REALM deve essere sempre in maiuscolo. |
Per abilitare l'autenticazione Kerberos per Autonomous AI Database, è necessario mantenere pronti i file di configurazione Kerberos (krb.conf) e il file della tabella delle chiavi di servizio (v5srvtab). Per ulteriori informazioni su questi file e sulla procedura per ottenerli, vedere Configurazione dell'autenticazione Kerberos.
Note sull'autenticazione Kerberos su Autonomous AI Database
Prima di procedere con l'autenticazione Kerberos su Autonomous AI Database on Dedicated Exadata Infrastructure, esaminare le note riportate di seguito.
-
Se si abilita l'autenticazione Kerberos per Autonomous AI Database, è comunque possibile utilizzare l'autenticazione del database basata su password per il database.
-
È possibile utilizzare un solo metodo di autenticazione esterno per Autonomous AI Database in qualsiasi momento. In altre parole, puoi abilitare solo gli schemi di autenticazione Oracle Cloud Infrastructure (IAM), Centrally Managed User with Active Directory (CMU-AD), Azure AD o Kerberos in qualsiasi momento.
Nota: l'unica eccezione è che l'autenticazione Kerberos può essere configurata sopra CMU-AD per fornire l'autenticazione Kerberos CMU-AD per gli utenti di Microsoft Active Directory.
-
L'autenticazione Kerberos non è supportata per i seguenti strumenti:
-
API database Oracle per MongoDB
-
Oracle REST Data Services
-
Oracle Machine Learning
-
APEX
-
Oracle Graph Studio
-
Azioni di Oracle Database
-
-
È possibile abilitare l'autenticazione Kerberos per autenticare l'utente ADMIN. È possibile utilizzare la funzionalità Reimposta password nella console di Oracle Cloud Infrastructure (OCI) per reimpostare la password dell'utente ADMIN e riottenere l'accesso se un file keytab danneggiato causa il fallimento dell'autenticazione dell'utente ADMIN.
-
L'autenticazione Kerberos è supportata con il protocollo TCP per Autonomous AI Database versioni 19.27 o successive.
-
L'autenticazione Kerberos non è supportata con DB_LINK e database con Autonomous Data Guard.
Abilita autenticazione Kerberos su Autonomous AI Database
Seguire i passi riportati di seguito per abilitare l'autenticazione Kerberos per Autonomous AI Database sull'infrastruttura Exadata dedicata:
-
Poiché può essere abilitato solo uno schema di autenticazione esterno per un Autonomous AI Database in un determinato momento, eseguire la procedura
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATIONper disabilitare qualsiasi schema di autenticazione esterno già abilitato per il database.Per eseguire la procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio
EXECUTEsuDBMS_CLOUD_ADMIN.BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; / -
Ottenere i file di configurazione di Kerberos:
krb.confe il file della tabella delle chiavi di serviziov5srvtab. Per ulteriori informazioni su questi file e sui passi necessari per ottenerli, vedere Configuring Kerberos Authentication in Oracle Database 19c Security Guide o Oracle Database 26ai Security Guide. -
Copiare i file di configurazione Kerberos
krb.confev5srvtabin un bucket nell'area di memorizzazione degli oggetti.Nota: Oracle consiglia di memorizzare i file di configurazione Kerberos in un bucket privato nell'area di memorizzazione degli oggetti.
Se si utilizza l'area di memorizzazione degli oggetti di Oracle Cloud Infrastructure, vedere Inserimento dei dati nello storage degli oggetti per i dettagli sul caricamento dei file.
-
Per abilitare Kerberos come autenticazione esterna per Autonomous AI Database, eseguire la procedura
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONe passare un URI posizione con l'argomento JSONparams. È necessario posizionare i file di configurazionekrb.confev5srvtabnella posizione di storage degli oggetti specificata nel parametrolocation_uri.Ad esempio:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type => 'KERBEROS', params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o', 'credential_name' value 'my_credential_name') ); END; /Nota: per fornire l'autenticazione Kerberos CMU-AD per gli utenti di Microsoft Active Directory, è possibile abilitare l'autenticazione Kerberos sopra CMU-AD impostando
typesuCMUnell'esempio precedente.In questo esempio,
namespace-stringè lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure ebucketnameè il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.Il valore
credential_nameutilizzato in questo passo è costituito dalle credenziali per l'area di memorizzazione degli oggetti.Se
location_uriè un URL preautenticato, non è necessario fornire un valorecredential_name.In questo modo viene creato un oggetto directory denominato
KERBEROS_DIRnel database e vengono utilizzate le credenziali per scaricare i file di configurazione Kerberos dalla posizione dell'area di memorizzazione degli oggetti all'oggetto directory.È possibile utilizzare il parametro
kerberos_service_nameper specificare il nome del servizio Kerberos. Ad esempio:BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type =>'KERBEROS', params => JSON_OBJECT( 'location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o', 'credential_name' value 'my_credential_name' 'kerberos_service_name' value 'oracle' )); END; / -
Dopo aver abilitato l'autenticazione Kerberos, rimuovere la configurazione
krb.confev5srvtabdall'area di memorizzazione degli oggetti. È possibile utilizzare i metodi dell'area di memorizzazione degli oggetti locale per rimuovere questi file o utilizzareDBMS_CLOUD.DELETE_OBJECTper eliminare i file dall'area di memorizzazione degli oggetti.
Per ulteriori informazioni sullo storage degli oggetti, consulta la sezione Passare a Oracle Cloud Infrastructure Object Storage and Create Bucket.
Per ulteriori informazioni, vedere Procedura ENABLE_EXTERNAL_AUTHENTICATION.
Disabilita autenticazione Kerberos su Autonomous AI Database
Prima di abilitare qualsiasi altro schema di autenticazione esterno nel database, è necessario disabilitare l'autenticazione Kerberos che esegue la procedura DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION.
Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN.
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
Per ulteriori informazioni, vedere la procedura DISABLE_EXTERNAL_AUTHENTICATION.
Nota: per fornire l'autenticazione Kerberos CMU-AD per gli utenti di Microsoft Active Directory, è necessario continuare a configurare l'autenticazione CMU-AD senza disabilitare l'autenticazione Kerberos.