Autenticar y autorizar usuarios de Microsoft Azure Active Directory para base de datos de IA autónoma

Se puede configurar la instancia de la infraestructura de Exadata dedicada de Oracle Autonomous AI Database para los usuarios de Microsoft Azure AD que se conecten mediante token de acceso OAuth2 de Azure.

Acerca de la integración de Oracle Autonomous AI Database en una infraestructura de Exadata dedicada con Microsoft Azure AD

Oracle Autonomous AI Database on Dedicated Exadata Infrastructure y Microsoft Azure AD se pueden configurar para permitir que los usuarios y las aplicaciones se conecten a la base de datos mediante sus credenciales de Azure AD.

Los usuarios y las aplicaciones de Azure AD pueden conectarse con credenciales de inicio de sesión único (SSO) de Azure AD para acceder a la base de datos. Esto se realiza con un token de acceso OAuth2 de Azure AD que el usuario o la aplicación solicita por primera vez desde Azure AD. Este token de acceso OAuth2 contiene la identidad del usuario y la información de acceso a la base de datos y, a continuación, se envía a la base de datos. Consulte el artículo de Microsoft Opciones de autenticación sin contraseña para Azure Active Directory para obtener información sobre la configuración de la autenticación sin contraseña y multifactor.

Puede realizar esta integración en los siguientes entornos de Oracle Database:

Las instrucciones para configurar Azure AD utilizan el término "Oracle Database" para abarcar estos entornos.

Este tipo de integración permite al usuario de Azure AD acceder a una instancia de Oracle Autonomous AI Database on Dedicated Exadata Infrastructure. Los usuarios y las aplicaciones de Azure AD se pueden conectar con credenciales de conexión única (SSO) de Azure AD para obtener un token de acceso OAuth2 de Azure AD que enviar a la base de datos.

El administrador de Azure AD crea y registra Oracle Autonomous AI Database en infraestructura de Exadata dedicada con Azure AD. Dentro de Azure AD, esto se denomina registro de aplicaciones, que es la abreviatura de registro de aplicaciones. Esta es la información digital que Azure AD debe conocer sobre el software que utiliza Azure AD. El administrador de Azure AD también crea roles de aplicación (aplicación) para el registro de la aplicación de base de datos en Azure AD. Los roles de aplicación conectan usuarios, grupos y aplicaciones de Azure a esquemas y roles de base de datos. El administrador de Azure AD asigna usuarios, grupos o aplicaciones de Azure AD a los roles de aplicación. Estos roles de aplicación se asignan a un esquema global de base de datos o a un rol global, o bien a un esquema y a un rol. Un usuario, grupo o aplicación de Azure AD que esté asignado a un rol de aplicación se asignará a un esquema global de base de datos, a un rol global o a un esquema y a un rol. Un esquema global de Oracle también se puede asignar exclusivamente a un usuario de Azure AD. Un usuario invitado de Azure AD (usuario no de organización) o un principal de servicio de Azure AD (aplicación) solo se pueden asignar a un esquema global de base de datos mediante un rol de aplicación de Azure AD. Un rol global de Oracle solo se puede asignar desde un rol de aplicación de Azure y no se puede asignar desde un usuario de Azure.

Las herramientas de infraestructura de Exadata dedicada de Oracle Autonomous AI Database, incluidas Oracle APEX, Database Actions, Oracle Graph Studio y Oracle Database API for MongoDB, no son compatibles con el uso de tokens de Azure AD para conectarse a la base de datos.

Las herramientas y aplicaciones que se actualizan para soportar Tokens de Azure AD pueden autenticar usuarios directamente con Azure AD y transferir el Token de Acceso de Base de Datos a la Instancia de Oracle Autonomous AI Database on Dedicated Exadata Infrastructure. Puede configurar herramientas de base de datos existentes como SQL*Plus para utilizar un token de Azure AD desde una ubicación de archivo. En estos casos, los tokens de Azure AD se pueden recuperar mediante herramientas como Microsoft PowerShell o Azure CLI y colocarse en una ubicación de archivo. Los tokens de acceso a la base de datos OAuth2 de Azure AD se emiten con una hora de caducidad. El controlador de cliente de Oracle Database garantizará que el token tenga un formato válido y que no haya caducado antes de transferirse a la base de datos. El token tiene un ámbito para la base de datos, lo que significa que hay información en el token sobre la base de datos en la que se utilizará el token. Las funciones de aplicación a las que se ha asignado el principal de Azure AD en el registro de la aplicación de Azure AD de la base de datos se incluyen como parte del símbolo de acceso. La ubicación de directorio para el token de Azure AD solo debe tener permisos suficientes para Que el usuario escriba el archivo de token en la ubicación y el cliente de base de datos recupere esos archivos (por ejemplo, simplemente lectura y escritura por parte del usuario). Dado que el token permite el acceso a la base de datos, debe estar protegido en el sistema de archivos.

Los usuarios de Azure AD pueden solicitar un token de Azure AD mediante varios métodos para abrir una ventana de inicio de sesión de Azure para introducir sus credenciales de Azure AD.

Oracle Autonomous AI Database on Dedicated Exadata Infrastructure acepta tokens que representan los siguientes principales de Azure AD:

Oracle Autonomous AI Database on Dedicated Exadata Infrastructure soporta los siguientes flujos de autenticación de Azure AD:

Arquitectura de la integración de Microsoft Azure AD con una base de datos de IA autónoma

Los tokens de Microsoft Azure Active Directory siguen el estándar OAuth2 con extensiones. El uso de un token de Azure AD para acceder a una base de datos Oracle es similar al uso de tokens de OCI IAM. Consulte Arquitectura de la integración de Microsoft Azure AD con Oracle Database en la Guía de seguridad para obtener una explicación detallada.

Asignación de usuarios de Azure AD a la base de datos de IA autónoma

Los usuarios de Microsoft Azure deben estar asignados a un esquema de base de datos de IA autónoma y tener los privilegios necesarios (a través de roles) antes de poder autenticarse en la instancia de base de datos de IA autónoma. Consulte Asignación de usuarios de Azure AD a Oracle Database en la Guía de seguridad para obtener información sobre las diferentes formas de asignar usuarios, grupos y aplicaciones en Microsoft Azure.

Casos de uso para conectarse a una base de datos de IA autónoma mediante Azure AD

Oracle Database soporta tres tipos de casos de uso para conectarse a una instancia de base de datos de IA autónoma mediante Microsoft Azure Active Directory. Consulte Casos de uso para conectarse a Oracle Database mediante Azure AD para obtener más información.

Proceso general de autenticación de identidades de Microsoft Azure AD con Oracle Autonomous AI Database en una infraestructura de Exadata dedicada

El administrador de Oracle Database y el administrador de Microsoft Azure AD desempeñan roles para permitir que los usuarios de Azure AD se conecten a la base de datos mediante tokens de acceso OAuth2 de Azure AD.

El proceso general es el siguiente:

  1. El Administrador de Oracle Database garantiza que el entorno de Oracle Database cumpla los requisitos para la integración de Microsoft Azure AD. Consulte Requisitos de Oracle Database para la integración de Microsoft Azure AD.

  2. El administrador de Azure AD crea un registro de aplicación de Azure AD para la base de datos y el administrador de Oracle Database permite que la base de datos utilice tokens de Azure AD para el acceso a la base de datos.

    Como parte del proceso de registro de aplicaciones, el administrador de Azure AD crea roles de aplicación de Azure que se utilizarán para las asignaciones entre los usuarios, grupos y aplicaciones de Azure a los esquemas y roles de Oracle Database.

  3. El administrador de Oracle Database crea y asigna esquemas globales a un usuario de Azure AD (asignación de esquema exclusivo) o a un rol en la aplicación Azure (asignación de esquema compartido). El usuario o la aplicación de Azure AD se deben asignar a un esquema.

  4. De manera opcional, el administrador de Oracle crea y asigna roles globales de Oracle Database a roles de aplicación de Azure.

  5. El usuario final de Azure AD que desea conectarse con la instancia de Oracle Autonomous AI Database on Dedicated Exadata Infrastructure registra la aplicación cliente como un cliente deAzure AD (similar a cómo se registra la base de datos de Oracle).

    El cliente de Azure AD tendrá una identificación de cliente y un secreto de cliente, a menos que el cliente de aplicación sea público. Si el cliente de aplicación es público, solo se necesita la identificación del cliente de aplicación.

  6. El usuario final de Azure AD (que puede ser un administrador de base de datos) se conecta mediante una utilidad como PowerShell o la interfaz del línea de comandos de Azure para recuperar el token de acceso a la base de datos OAuth2 y almacenarlo en un directorio de archivos local. Una aplicación también puede solicitar un token de acceso OAuth2 de Azure AD directamente desde Azure AD y transferirlo a través de una API de una API de cliente de base de datos. Consulte la siguiente documentación de clientes de Oracle Database para ver información sobre el paso de tokens OAuth2 de Azure AD:

  7. Una vez conectado a la instancia de infraestructura de Exadata dedicada de Oracle Autonomous AI Database, el usuario final de Azure AD realiza las operaciones de base de datos según sea necesario.

Activación de la autenticación de Azure AD en la base de datos de IA autónoma

Un administrador de Azure AD y un administrador de Autonomous AI Database realizan pasos para configurar la autenticación de Azure AD en Autonomous AI Database.

Requisitos

La integración de Microsoft Azure AD con Oracle Autonomous AI Database on Dedicated Exadata Infrastructure requiere:

  1. La base de datos de IA autónoma será la versión 19.18 o superior.

  2. Conectividad a la base de datos en el puerto TLS 2484. Las conexiones no TLS no están soportadas.

  3. Conectividad de red de salida a Azure AD para que la base de datos pueda solicitar la clave pública de Azure AD.

  4. La base de datos de IA autónoma que se registrará con Azure AD.

  5. Para los despliegues de Exadata Cloud@Customer, la configuración del proxy HTTP en su entorno debe permitir que la base de datos utilice Azure AD.

    El administrador de conjunto define esta configuración al crear la infraestructura de Exadata Cloud@Customer, como se describe en Uso de la consola para aprovisionar Exadata Database Service on Cloud@Customer.

Nota: La configuración de red, incluido el proxy HTTP, solo se puede editar hasta que la infraestructura de Exadata tenga el estado Necesita activación. Una vez que se activa, no puede editar esa configuración.

La configuración de un proxy HTTP para una infraestructura de Exadata ya aprovisionada necesita una solicitud de servicio (SR) en My Oracle Support. Consulte Crear Solicitud de Servicio en My Oracle Support para obtener más información.

Procedimiento

Implante las siguientes tareas para configurar la integración de su base de datos de IA autónoma para Microsoft Azure AD.

  1. Registre la instancia de la base de datos de IA autónoma con una tenencia de Microsoft Azure AD: un usuario con privilegios de administrador de Azure AD utiliza Microsoft Azure AD para registrar la instancia de Oracle Database con la tenencia de Microsoft Azure AD. Consulte Registro de la instancia de Oracle Autonomous AI Database con un arrendamiento de Microsoft Azure AD en la Guía de seguridad.

  2. Activar tokens de acceso de Microsoft Azure AD v2: si su organización utiliza el token de acceso de Microsoft Azure AD v2 (en lugar de los tokens v1), puede que tenga que realizar cambios adicionales en Azure AD para admitir la reclamación upn: en su token. Consulte Activación de tokens de acceso de Microsoft Azure AD v2 y Comprobación de la versión del token de acceso de Azure AD en la Guía de seguridad.

  3. Gestionar funciones de aplicaciones en Microsoft Azure AD: en Azure AD, puede crear y gestionar funciones de aplicaciones que se asignarán a usuarios y grupos de Azure AD y también a esquemas y funciones globales de Oracle Database. Consulte Gestión de roles de aplicación en Microsoft Azure AD en la Guía de seguridad.

  4. Configure la conectividad de salida a Microsoft Azure AD mediante un gateway de NAT:

    Para crear un Gateway de NAT en la red virtual en la nube (VCN) donde residen los recursos de la base de datos de IA autónoma, siga las instrucciones de Creación de un Gateway de NAT en la documentación de Oracle Cloud Infrastructure.

    Después de crear el gateway de NAT, agregue una regla de ruta y una regla de seguridad de salida a cada subred (en la VCN) en la cual residan las bases de datos de IA autónoma de modo que estos recursos puedan utilizar el gateway para obtener una clave pública de su instancia deAzure AD:

    1. Vaya a la página Detalles de la subred de la subred.

    2. En el separador Información de subredes, haga clic en el nombre de la Tabla de ruta de la subredes para mostrar su página Detalles de tabla de ruta.

    3. En la tabla de Reglas de Ruta existentes, compruebe si ya hay una regla con las siguientes características:

      • Destination: 0.0.0.0/0 (Destino):

      • Tipo de destino: gateway de NAT

      • Destino: nombre del puerta de enlace de NAT que ha creado en la VCN

      Si dicha regla no existe, haga clic en Agregar reglas de ruta y agregue una regla de ruta con estas características.

    4. Vuelva a la página Detalles de la subred de la subred.

    5. En la tabla Listas de seguridad de La subred, haga clic en el nombre de su lista de seguridad para mostrar su página Detalles de Lista de seguridad.

    6. En el menú lateral, en Recursos, haga clic en Reglas de salida.

    7. En la tabla de Reglas de salida existentes, compruebe si ya hay una regla con las siguientes características:

      • Tipo de destino:CIDR

      • Destino:0.0.0.0/0

      • Protocolo IP:TCP

      • Rango de puertos de origen:443

      • Rango de puertos de destino: todos

      Si dicha regla no existe, haga clic en Agregar reglas de entrada y agregue una regla de salida con estas características.

  5. Prueba de la Accesibilidad del Punto Final de Entra ID

    Asegúrese de que la instancia de Oracle Database puede acceder al punto final de ID adicional siguiendo los pasos descritos en Prueba de la accesibilidad del punto final de Azure en la Guía de seguridad.

    Si la base de datos no puede conectarse con el punto final de Microsoft Entra ID, incluso después de definir la política de ACL, compruebe los requisitos anteriores para confirmar que ha configurado la red correctamente según los requisitos. Si el problema persiste, revise la red para asegurarse de que la instancia de base de datos se puede conectar al punto final de MS Entra ID.

  6. Configure Azure AD como proveedor de identidad externo para Autonomous AI Database:

    Por defecto, las bases de datos de IA autónomas y las bases de datos de contenedores autónomas están configuradas para conectar a los usuarios con la autenticación y autorización de Oracle Cloud Infrastructure (IAM). Un DBA de aplicación también puede cambiar esto a otro esquema de autenticación externo, como Usuarios gestionados de forma centralizada con Active Directory (CMU-AD) o Kerberos. Sin embargo, una base de datos de IA autónoma solo puede activar un esquema de autenticación externo a la vez.

    Para activar Azure AD como proveedor de identidad externo en una instancia de Autonomous AI Database:

    1. Conéctese a la instancia de base de datos de IA autónoma como usuario que tiene el privilegio EXECUTE en el paquete PL/SQL DBMS_CLOUD_ADMIN. El usuario ADMIN tiene este privilegio.

    2. 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_AUTHENTICATION para 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 EXECUTE en DBMS_CLOUD_ADMIN.

       BEGIN
         DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
       END;
       /
      
    3. Ejecute el procedimiento DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION con los parámetros necesarios de Azure AD.

       BEGIN
         DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
             type   =>'AZURE_AD',
             params => JSON_OBJECT('tenant_id' VALUE 'tenant_id',
                                   'application_id' VALUE 'application_id',
                                   'application_id_uri' VALUE 'application_id_uri'),
             force => TRUE
         );
       END;
      

      En este procedimiento, los parámetros de Azure AD son:

      • type: especifica el proveedor de autenticación externo. Para Azure AD, como se muestra, utilice 'AZURE_AD'.

      • params: los valores de los parámetros necesarios de Azure AD están disponibles en el portal de Azure en el panel Visión general de registro de aplicación para Azure Active Directory. Los params necesarios para Azure AD son:

        • tenant_id: ID de inquilino de la cuenta de Azure. El ID de inquilino especifica el registro de la aplicación Azure AD de la instancia de Autonomous AI Database.

        • application_id: ID de aplicación de Azure creado en Azure AD para asignar asignaciones de roles/esquemas para la autenticación externa en la instancia de Autonomous AI Database.

        • application_id_uri: URI único asignado a la aplicación de Azure.

          Es el identificador de la instancia de base de datos de IA autónoma. El nombre debe estar cualificado para el dominio (soporta el acceso a recursos entre arrendamientos).

          La longitud máxima de este parámetro es de 256 caracteres.

      • force: defina este parámetro en TRUE si se configura otro método EXTERNAL AUTHENTICATION para la instancia de base de datos de IA autónoma y desea desactivarlo.

      Por ejemplo:

       BEGIN
         DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
             type   =>'AZURE_AD',
             params => JSON_OBJECT('tenant_id' VALUE '29981886-6fb3-44e3-82',
                                   'application_id' VALUE '11aa1a11-aaa',
                                   'application_id_uri' VALUE 'https://example.com/111aa1aa'),
             force  => TRUE
         );
       END;
      

      Esto define el parámetro del sistema IDENTITY_PROVIDER_TYPE.

      Por ejemplo, puede utilizar lo siguiente para verificar IDENTITY_PROVIDER_TYPE:

       SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
      
       NAME                   VALUE
      
       ---------------------- --------
       identity_provider_type AZURE_AD
      

    Consulte el Procedimiento ENABLE_EXTERNAL_AUTHENTICATION para obtener más información.

Asignación de esquemas y roles de Oracle Database

Los usuarios de Azure AD se asignarán a un esquema de base de datos y, opcionalmente, a uno o más roles de base de datos.

Tiene las siguientes opciones para asignar esquemas y roles de bases de datos Oracle a usuarios de Microsoft Azure AD:

Configuración de conexiones de cliente a Azure AD

Existen numerosas formas de configurar un cliente para conectarse a un instancia de Oracle Autonomous AI Database en una infraestructura de Exadata dedicada mediante tokens deAzure AD.

Debe seleccionar el método de conexión de cliente que mejor se adapte a su entorno. En esta guía se proporcionan ejemplos de conexión de SQL*Plus con diferentes métodos para obtener un token de acceso OAuth2 de Azure AD. Todos los clientes de la versión 19c de Oracle Database pueden aceptar un token que se transfiere como archivo. Los controladores JDBC Thin, Instant Client y ODP.net también aceptan el token a través de la API de cliente de base de datos de una aplicación. Herramientas de Oracle Database como SQL*Plus no pueden recuperar los tokens directamente, por lo que se deben utilizar herramientas como PowerShell o Azure CLI para recuperar el símbolo de acceso OAuth2 de Azure AD. Para recuperar un token de Azure AD, el cliente debe estar registrado mediante el proceso de registro de la aplicación Azure AD. El registro del cliente es similar al registro del servidor de Oracle Autonomous AI Database en infraestructura de Exadata dedicada con Azure AD mediante la aplicación de registro. Tanto la base de datos como el cliente deben estar registrados en Azure AD.

La base de datos se debe registrar para que el cliente pueda obtener permiso para obtener un token de acceso para la base de datos. El cliente debe estar registrado para que Azure AD pueda reconocer que un cliente de confianza está solicitando un token de acceso.

Nota: En el cliente, debe definir los parámetros TOKEN_AUTH y TOKEN_LOCATION en el archivo sqlnet.ora para recuperar el token de acceso a la base de datos de Azure AD de una ubicación y utilizarlo cuando se utilice la conexión de barra inclinada /. En Configuración de tokens de acceso de SQL*Plus para Azure AD se tratan detalles exactos.

Consulte los siguientes artículos de Microsoft Azure para obtener más información sobre la conexión de clientes a Azure AD:

Flujo operativo para la conexión del cliente de SQL*Plus en PowerShell a la base de datos de IA autónoma

La conexión entre el usuario de Azure, Azure AD y la instancia de la base de datos de IA autónoma se basa en la transferencia del token OAuth2 a través del componente.

Consulte [Operational Flow for SQLPlus Client Connection in PowerShell to Oracle Database](/pls/topic/lookup?ctx=en/cloud/paas/autonomous-database/dedicated/adbaa&id=DBSEG-GUID-455CDC87-C5A1-4A58-801A-29D216CB66B5) en *Security Guide para obtener un ejemplo que muestre el uso del flujo de credenciales de contraseña de propietario de recursos (ROPC) con un cliente público.

Registro de un cliente con el registro de la aplicación Azure AD

Este tipo de registro es similar al registro de Autonomous AI Database con la aplicación Azure AD. Para obtener más información, consulte las siguientes secciones:

Ejemplos de recuperación de tokens OAuth2 de Azure AD

Para ver ejemplos de cómo recuperar tokens OAuth2 de Azure AD, consulte Examples of Retrieving Azure AD OAuth2 Tokens en la Guía de seguridad.

Configuración de Tokens de Acceso a SQL*Plus para Azure AD

Debe configurar SQL*Plus para recuperar el símbolo de acceso a las bases de datos de Azure AD desde una ubicación y utilizarlo cuando se utiliza la conexión/barra diagonal. Consulte Configuración de tokens de acceso de SQL*Plus para Azure AD en la Guía de seguridad para obtener instrucciones detalladas.

Solución de Problemas de Conexiones de Microsoft Entra ID

Puede utilizar archivos de rastreo para diagnosticar problemas con las conexiones de Microsoft Entra ID. También puede solucionar fácilmente los errores ORA-12599 y ORA-03114.