Prueba de la Accesibilidad del Punto Final de Entra ID
Debe asegurarse de que Oracle AI Database puede acceder al punto final de ID adicional.
Si el cliente de base de datos está configurado para obtener tokens OAuth2 de Microsoft Entra ID, el cliente de base de datos debe poder acceder al punto final de Entra ID. Ejecute el siguiente comando para comprobar si tiene acceso a Internet:
curl https://login.windows.net/common/discovery/keysUn código de estado de 200 indica que se ha realizado correctamente.
Consulte con el servicio de ayuda de TI la información del proxy si no ha ejecutado correctamente este comando.
Para que una instancia de Oracle AI Database acepte tokens OAuth2 de ID de entrada, la base de datos debe solicitar la clave pública desde el punto final de ID de entrada de Microsoft.
-
Ejecute la siguiente prueba para determinar si la base de datos se puede conectar con el punto final de Microsoft Entra ID:
SET SERVEROUTPUT ON SIZE 40000 DECLARE req UTL_HTTP.REQ; resp UTL_HTTP.RESP; BEGIN UTL_HTTP.SET_WALLET(path => 'system:'); req := UTL_HTTP.BEGIN_REQUEST('https://login.windows.net/common/discovery/keys'); resp := UTL_HTTP.GET_RESPONSE(req); DBMS_OUTPUT.PUT_LINE('HTTP response status code: ' || resp.status_code); UTL_HTTP.END_RESPONSE(resp); END; /Si esta prueba se realiza correctamente, aparece un mensaje
PL/SQL procedure successfully completed.Si aparecen los siguientes mensajes, significa que una política de lista de control de acceso de red (ACL) de base de datos ha bloqueado la prueba y tendrá que definir temporalmente una política de lista de control de acceso para permitirle probar esto:
ORA-29273: HTTP request failed ORA-24247: network access denied by access control list (ACL)-
Defina la ACL de la siguiente manera:
BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => '*', ace => xs$ace_type(privilege_list => xs$name_list('connect'), principal_name => 'username_placeholder', principal_type => xs_acl.ptype_db)); END; /Sustituya
username_placeholderpor el nombre de usuario del usuario de la base de datos que está ejecutando la prueba. Por ejemplo:BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => '*', ace => xs$ace_type(privilege_list => xs$name_list('connect'), principal_name => 'DBA_DEBRA', principal_type => xs_acl.ptype_db)); END; / -
Intente ejecutar la prueba de nuevo.
-
Elimine la ACL, ya que ya no la necesita. Por ejemplo, suponiendo que su nombre de usuario es
dba_debra:BEGIN DBMS_NETWORK_ACL_ADMIN.REMOVE_HOST_ACE( host => '*', ace => xs$ace_type(privilege_list => xs$name_list('connect'), principal_name => 'DBA_DEBRA', principal_type => xs_acl.ptype_db)); END; /
-
Si la base de datos no se puede conectar con el punto final de Microsoft Entra ID, incluso después de definir la política de ACL, lo más probable es que deba definir el paquete HTTP_PROXY para la base de datos. Revise los temas que se muestran en Temas relacionados, según si utiliza un entorno de Oracle AI Database por defecto o un entorno RAC de Oracle Real Application Clusters. El administrador de red debe poder indicarle cuál debe ser la configuración correcta de HTTP_PROXY.