Autenticación de usuarios de bases de datos de IA autónomas con Kerberos
Puede configurar la base de datos de IA autónoma en una infraestructura de Exadata dedicada para utilizar el protocolo de autenticación de red de Kerberos a fin de autenticar a los usuarios de la base de datos. Kerberos es un protocolo de autenticación de red potente. Utiliza criptografía de clave secreta para activar la autenticación compleja proporcionando autenticación de usuario a servidor.
-
El soporte de Autonomous AI Database on Dedicated Exadata Infrastructure para Kerberos proporciona las ventajas de una conexión única y una autenticación centralizada de los usuarios de Oracle. Kerberos es un sistema de autenticación de terceros de confianza que utiliza secretos compartidos. Presume que el tercero es seguro y proporciona capacidades de inicio de sesión único, almacenamiento centralizado de contraseñas, autenticación de enlaces de base de datos y seguridad de PC mejorada. Esto se realiza mediante un servidor de autenticación de Kerberos.
-
El sistema Kerberos gira en torno al concepto de un ticket. Un ticket es un conjunto de información electrónica que identifica a un usuario o servicio. Un ticket identifica a usted y sus privilegios de acceso a la red.
-
En la autenticación basada en Kerberos, envía de manera transparente una solicitud de un ticket a un centro de distribución de claves (KDC). El centro de distribución de claves le autentica a usted y le otorga un ticket para acceder a la base de datos.
Componentes del sistema de autenticación de Kerberos
Proporciona una descripción general del sistema de autenticación de Kerberos.
-
Un dominio establece un dominio administrativo de autenticación. Cada dominio tiene su propia base de datos de Kerberos que contiene los usuarios y servicios para ese dominio administrativo en particular.
-
Los tickets los emite el centro de distribución de claves (KDC). Los clientes presentan tickets al servidor de base de datos para demostrar la autenticidad de su identidad. Cada ticket tiene una fecha de caducidad y una hora de renovación.
-
Las tablas de claves almacenan claves a largo plazo para uno o más principales. Se genera un archivo keytab llamando a la herramienta
kadmin.local(para el centro de distribución de claves de MIT) oktpass(para el centro de distribución de claves de Active Directory). -
Los principales son las entradas de la base de datos del centro de distribución de claves. A cada usuario, host o servicio se le asigna un principal. Un principal es una identidad única a la que el Centro de distribución de claves puede asignar tickets.
-
La compatibilidad con Kerberos en Autonomous AI Database utiliza estos valores para varios componentes que forman los nombres de un principal de servicio:
| Componente de principal de servicio | Valor en la base de datos de IA autónoma |
|---|---|
kinstance |
Puede obtener este valor del atributo Utilice la siguiente consulta para obtener Nota: Este será el valor del parámetro |
kservice |
En Autonomous AI Database, tiene dos opciones para el valor
Después de activar Kerberos en la instancia de la base de datos de IA autónoma, utilice la siguiente consulta para ver el nombre del servicio Kerberos: |
REALM |
Cualquier dominio que soporte su KDC. El valor REALM siempre debe estar en mayúsculas. |
Para activar la autenticación de Kerberos para la base de datos de AI autónoma, debe mantener los archivos de configuración de la instancia de Kerberos (krb.conf) y la tabla de claves de servicio (v5srvtab) listos. Para más información sobre estos archivos y los pasos para obtenerlos, consulte Configuring Kerberos Authentication.
Notas sobre la autenticación de Kerberos en la base de datos de IA autónoma
Antes de continuar con la autenticación Kerberos en la base de datos de IA autónoma en una infraestructura de Exadata dedicada, revise las siguientes notas:
-
Si activa la autenticación de Kerberos para su base de datos de IA autónoma, aún puede utilizar la autenticación de base para la base de datos basada en contraseña.
-
Solo se puede utilizar un método de autenticación externo para su base de datos de IA autónoma en cualquier momento. Es decir, solo puede tener activados los esquemas de autenticación de Oracle Cloud Infrastructure (IAM), Centrally Managed User with Active Directory (CMU-AD), Azure AD o Kerberos en cualquier momento.
Nota: La única excepción es que la autenticación de Kerberos se puede configurar sobre CMU-AD para proporcionar autenticación de Kerberos CMU-AD para usuarios de Microsoft Active Directory.
-
La autenticación Kerberos no está soportada para las siguientes herramientas:
-
API de Oracle Database para MongoDB
-
Oracle REST Data Services
-
Oracle Machine Learning
-
APEX
-
Oracle Graph Studio
-
Oracle Database Actions
-
-
Puede activar la autenticación de Kerberos para autenticar el usuario ADMIN. Puede utilizar la funcionalidad Restablecer contraseña de la consola de Oracle Cloud Infrastructure (OCI) para restablecer la contraseña del usuario ADMIN y recuperar los accesos si un archivo del archivo del separador de claves dañado provoca que falle el autenticación del usuario ADMIN.
-
La autenticación Kerberos se admite con el protocolo TCP para las versiones 19.27 o posteriores de Autonomous AI Database.
-
La autenticación de Kerberos no está soportada con DB_LINK y bases de datos con Autonomous Data Guard.
Activación de la autenticación de Kerberos en la base de datos de IA autónoma
Siga los pasos que se muestran a continuación para activar la autenticación de Kerberos para Autonomous AI Database en una infraestructura de Exadata dedicada:
-
Dado que solo puede haber un esquema de autenticación externo activado para una base de datos de IA autónoma en un momento determinado, ejecute el procedimiento
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATIONpara desactivar cualquier esquema de autenticación externa que ya esté activado para la base de datos.Para ejecutar el procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio
EXECUTEenDBMS_CLOUD_ADMIN.BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; / -
Obtenga los archivos de configuración de Kerberos:
krb.confy el archivo de tabla de claves de serviciov5srvtab. Para obtener más información sobre estos archivos y los pasos necesarios para obtenerlos, consulte Configuring Kerberos Authentication en Oracle Database 19c Security Guide u Oracle Database 26ai Security Guide. -
Copie los archivos de configuración de Kerberos
krb.confyv5srvtaben un cubo del almacén de objetos.Nota: Oracle recomienda almacenar los archivos de configuración de Kerberos en un cubo privado en el almacén de objetos.
Si utiliza el almacén de objetos de Oracle Cloud Infrastructure, consulte Colocación de datos en Object Storage para obtener más información sobre la carga de archivos.
-
Para activar Kerberos como la autenticación externa para su base de datos de AI autónoma, ejecute el procedimiento
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONy transfiera un URI de ubicación con el argumento JSONparams. Debe colocar los archivos de configuraciónkrb.confyv5srvtaben la ubicación de Object Storage especificada en el parámetrolocation_uri.Por ejemplo:
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: Para proporcionar la autenticación Kerberos CMU-AD para usuarios de Microsoft Active Directory, puede activar la autenticación Kerberos sobre CMU-AD mediante la configuración de
typeenCMUen el ejemplo anterior.En este ejemplo,
namespace-stringes el espacio en el que se almacenan objetos de Oracle Cloud Infrastructure ybucketnamees el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.credential_nameque utiliza en este paso son las credenciales para el almacén de objetos.Si
location_uries una URL autenticada previamente, no es necesario proporcionarcredential_name.De esta forma se crea un objeto de directorio denominado
KERBEROS_DIRen la base de datos y se utiliza la credencial para descargar los archivos de configuración de Kerberos de la ubicación del almacén de objetos en el objeto de directorio.Puede utilizar el parámetro
kerberos_service_namepara especificar el nombre del servicio Kerberos. Por ejemplo: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; / -
Después de habilitar la autenticación Kerberos, elimine la configuración
krb.confyv5srvtabdel almacén de objetos. Puede utilizar los métodos del almacén de objetos local para eliminar estos archivos o utilizarDBMS_CLOUD.DELETE_OBJECTpara suprimir los archivos del almacén de objetos.
Consulte Navegación a Oracle Cloud Infrastructure Object Storage y creación de un bucket para obtener más información sobre Object Storage.
Consulte el Procedimiento ENABLE_EXTERNAL_AUTHENTICATION para obtener más información.
Desactivación de la autenticación de Kerberos en la base de datos de IA autónoma
Antes de activar cualquier otro esquema de autenticación externa en la base de datos, debe desactivar la autenticación de Kerberos que ejecuta el procedimiento DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION.
Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en DBMS_CLOUD_ADMIN.
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
Consulte el Procedimiento DISABLE_EXTERNAL_AUTHENTICATION para obtener más información.
Nota: Para proporcionar autenticación de Kerberos CMU-AD para los usuarios de Microsoft Active Directory, debe continuar configurando la autenticación CMU-AD sin desactivar la autenticación de Kerberos.