Note:

Integración de Oracle Autonomous Database con Microsoft Entra ID

Introducción

Oracle Autonomous Database se puede integrar con Microsoft Entra ID (ME-ID, anteriormente conocido como Azure Active Directory (Azure AD)). Los usuarios y las aplicaciones de ME-ID pueden conectarse con credenciales de conexión única (SSO) de ME-ID para obtener un token de acceso OAuth2 de ME-ID y acceder a la base de datos.

Esto se realiza con un token de acceso OAuth2 de ME-ID que el usuario o la aplicación primero solicita de ME-ID. 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.

Público Objetivo

Profesionales y administradores de IAM.

Objetivos

Requisitos

Tarea 1: Registro de Oracle Autonomous Database con el registro de aplicaciones de Microsoft Azure

  1. Conéctese al portal de Microsoft Azure como mínimo administrador de aplicaciones en la nube.

    Portal de Microsoft Azure

  2. Vaya a Inicio, Azure Active Directory, Registros de aplicación y Registrar una aplicación. Introduzca Nombre como ADB-DB y haga clic en Registrar. Se ha creado la aplicación.

    Portal de Microsoft Azure

  3. Haga clic en URI de ID de aplicación: Agregar, Editar el URI de ID de aplicación y sustituya api: por el nombre de dominio de arrendamiento como se ha mencionado y, a continuación, haga clic en Guardar.

    • URI de ID de aplicación: <tenancy_domain_name>/appid

      Portal de Microsoft Azure

  4. Haga clic en Agregar un ámbito, introduzca los siguientes detalles y, a continuación, haga clic en Agregar ámbito.

    • Nombre de ámbito: session:scope:connect

    • ¿Quién puede conceder?: Admins and users

    • Nombre mostrado de consentimiento de administrador: connect to database

    • Descripción del consentimiento del administrador: connect to database

    • Nombre mostrado de contenido de usuario: connect to database

    • Descripción del contenido del usuario: connect to database

    • Estado: Enabled

      Portal de Microsoft Azure

  5. Haga clic en Visión general, Roles de aplicación, Crear rol de aplicación, introduzca los siguientes detalles y, a continuación, haga clic en Aplicar.

    • Nombre mostrado: pdb.users

    • Tipos de miembros permitidos: Users/Groups

    • Valor: pdb.users

    • Descripción: all user access

    • ¿Desea activar este rol de aplicación?: Enabled

      Portal de Microsoft Azure

      Portal de Microsoft Azure

  6. Haga clic en Roles de aplicación, Crear rol de aplicación, introduzca los siguientes detalles y, a continuación, haga clic en Aplicar.

    • Nombre mostrado: dba.role

    • Tipos de miembros permitidos: Users/Groups

    • Valor: dba.role

    • Descripción: dba global role

    • ¿Desea activar este rol de aplicación?: Enabled

      Portal de Microsoft Azure

  7. Haga clic en Roles de aplicación, Crear rol de aplicación, introduzca los siguientes detalles y, a continuación, haga clic en Aplicar.

    • Nombre mostrado: hr.app

    • Tipos de miembros permitidos: Applications

    • Valor: hr.app

    • Descripción: application

    • ¿Desea activar este rol de aplicación?: Enabled

      Portal de Microsoft Azure

  8. Vaya a Inicio, Aplicaciones empresariales, ADB-DB, Asignar usuarios y grupos.

  9. En Agregar asignación, seleccione Usuarios y seleccione su usuario. Al generar el token de acceso, este usuario asignado se utilizará en Single-Sign On.

    • En Seleccionar un rol, seleccione pdb.users.

    • Haga clic en Select.

    • Haga clic en Asignar.

  10. En Agregar asignación, seleccione Usuarios y seleccione su usuario. Al generar el token de acceso, este usuario asignado se utilizará en Single-Sign On.

    • En Seleccionar un rol, seleccione dba.role.

    • Haga clic en Select.

    • Haga clic en Asignar.

Tarea 2: Crear registro de aplicación cliente

  1. Vaya a Inicio, Registros de aplicación, Registrar una aplicación, introduzca los siguientes detalles y, a continuación, haga clic en Registrar.

    • Nombre: ADB-Client.

    • Tipos de cuenta soportados: Accounts in this organizational directory only.

    • Redirigir URI: Public client/native - http://localhost.

      Portal de Microsoft Azure

  2. Vaya a Permisos de API y haga clic en Agregar permiso. En Solicitar permisos de API, seleccione API que utiliza mi organización, ADB-DB, Permisos delegados y permiso como session:scope:connect y, a continuación, haga clic en Agregar permisos.

    Portal de Microsoft Azure

  3. Haga clic en Exponer una API, URI de ID de aplicación: Agregar, Editar el URI de ID de aplicación y sustituya api: por el nombre de dominio de arrendamiento.

    Portal de Microsoft Azure

Tarea 3: Conexión a la base de datos SQL

  1. Vaya a Oracle Autonomous Database y haga clic en la lista desplegable Acciones de base de datos, seleccione SQL e introduzca las siguientes consultas.

    Portal de Microsoft Azure

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

    Portal de OCI

    Nota: identity_provider_type está definido actualmente en NONE.

  2. Ejecute el procedimiento de base de datos para definir el proveedor de identidad en 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;
    

    Portal de OCI

  3. Vuelva a ejecutar la consulta SQL para comprobar el proveedor de identidad.

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

    Portal de OCI

    Nota: identity_provider_type ahora es Azure AD.

  4. Cree usuarios: allusers, hrapp y rol: dba_azure.

    CREATE USER allusers IDENTIFIED GLOBALLY AS 'AZURE_ROLE=pdb.users';
    CREATE USER hrapp IDENTIFIED GLOBALLY AS 'AZURE_ROLE=hr.app';
    CREATE ROLE dba_azure IDENTIFIED GLOBALLY AS 'AZURE_ROLE=dba.role';
    
  5. Otorgue Crear sesión a: allusers y hrapp.

    GRANT CREATE SESSION TO allusers;
    
    GRANT CREATE SESSION TO hrapp;
    
    GRANT pdb_dba TO dba_azure;
    

    Portal de OCI

Tarea 4: Navegar al portal de Azure

  1. Abra Azure Portal y vaya a Inicio, Registros de aplicaciones y ADB-Client. Copie el Application (client) ID y el Directory (tenant) ID.

    Portal de Microsoft Azure

  2. Abra el portal de Azure y vaya a Inicio, Registros de aplicaciones y ADB-DB. Copie el ámbito.

    Portal de Microsoft Azure

Tarea 5: Obtener token de Microsoft Access mediante la biblioteca MSAL Python

  1. Consulte el script de Python para obtener el token de acceso mediante el flujo AuthZ. Consulte Obtención de tokens de Microsoft Entra ID mediante la biblioteca MSAL Python.

  2. Sustituya Client_id, Tenant_id y Scope en el script obtenido en la tarea 4.

    Modificar script de Python

Tarea 6: Ejecución del script de Python

  1. Abra PowerShell. Verifique la versión de Python y la versión pip.

    python --version
    
    pip --version
    
  2. Ejecute el script de Python con el siguiente comando. Se le redirigirá al portal de Microsoft Azure, donde deberá autenticarse.

    python ./get-token-for-user.py
    

    Windows Powershell

  3. Una vez finalizada la autenticación, se le redirigirá a PowerShell y se genera el token de acceso.

    Azure

  4. Guarde el token de acceso en la máquina local, proporcione el nombre como token y guárdelo como tipo de archivo All Types.

    Windows Powershell

  5. Conéctese mediante una cadena de conexión según su entorno. Sustituya hostname y access-token-path según TNS.ora en la cartera.

    conn /@(description= (retry_count-20) (retry_delay=3) (address= (protocol=tcps) (port=1522) (host-adb. us-ashburn-1.oraclecloud. com)) (connect_data=(<hostname>))(security-(ss1_server_dn_match-yes)(TOKEN_AUTH-OAUTH)(TOKEN_LOCATION-"<access-token-path>")))
    

    Ahora se ha conectado correctamente a la base de datos.

    Conexión a Base de Datos

  6. Ejecute las siguientes consultas SQL una por una y observe la salida para validar el usuario y los roles.

    sqlplus /nolog
    
    SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;
    

    Verificar Usuarios

    SELECT * FROM SESSION_ROLES;
    
    exit
    

    Verificar rol

    Ha probado correctamente la conexión a Autonomous Database mediante el token de acceso ME-ID OAuth.

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.

Para obtener documentación sobre el producto, visite Oracle Help Center.