Uso de Autenticación Externa con Database Tools

Autonomous AI Database amplía el soporte de autenticación externa a las herramientas de bases de datos y las herramientas relacionadas mediante proveedores de identidad como Oracle Cloud Infrastructure IAM, Microsoft Entra ID, Google Cloud Platform, AWS Cognito y Okta. Esto permite el acceso seguro de conexión única (SSO) a Database Actions sin contraseñas tradicionales para usuarios de base de datos identificados globalmente.

Acerca de la autenticación externa con acciones de base de datos

Puede autenticarse en la interfaz de la herramienta con la misma identidad externa utilizada para las sesiones de base de datos. La configuración del proveedor de identidad para Database Tools es independiente de la activación de la autenticación externa en la base de datos. La base de datos de IA autónoma almacena la configuración del proveedor de identidad necesaria para la autenticación en la base de datos, con valores confidenciales como el secreto de cliente cifrado. Esta configuración incluye el nombre del proveedor de identidad, el ID de cliente, el secreto de cliente y la URL de detección de OpenID Connect.

Durante la conexión, las herramientas utilizan esta configuración para redirigirle al proveedor de identidad adecuado y para validar los tokens de autenticación emitidos para usuarios autenticados externamente.

Nota

Nota: Autonomous AI Database soporta la autenticación externa para las siguientes herramientas incorporadas en Database Actions: SQL Developer y Data Studio. La base de datos no soporta la autenticación externa para herramientas como APEX y Oracle Machine Learning.

Requisitos

Asegúrese de que puede acceder a la instancia de Autonomous AI Database mediante una cuenta de usuario con privilegios ADMIN.

Para utilizar la autenticación externa con herramientas de base de datos, debe:

  • Activar autenticación externa para acciones de base de datos
  • Crear usuarios de base de datos global
  • Registrar la información del proveedor de identidad con la base de datos
  • Acceder a Database Actions con credenciales externas

Debe seguir los pasos anteriores para cada profesional asistencial admitido. Las diferencias específicas del proveedor se limitan al procedimiento de activación a nivel de base de datos, la sintaxis de asignación de usuario global y si los metadatos del proveedor de identidad de Database Tools se deben registrar con DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP.

Requisitos de paso de profesional asistencial

Utilice esta tabla para determinar qué pasos de configuración de profesional asistencial se aplican antes de seguir los pasos detallados.

Proveedor Activar autenticación externa Registrar IDP
IAM de OCI Obligatorio si no está activado No necesario
ID de Microsoft Entra (Azure) Obligatorio Obligatorio
AWS Cognito Configurar con IDP Obligatorio
Google Cloud Platform (GCP) Configurar con IDP Obligatorio
Okta Configurar con IDP Obligatorio

Notas específicas del profesional asistencial

Proveedor Notas y excepciones
IAM de OCI Utilice DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION con type => 'OCI_IAM'. No ejecute CREATE_IDP para OCI IAM. Asigne usuarios o grupos con IAM_PRINCIPAL_NAME o IAM_GROUP_NAME.
ID de Microsoft Entra (Azure) Antes de ejecutar los pasos de configuración de la base de datos, un administrador de Microsoft Entra ID debe completar la configuración de Azure. Registre la instancia de Autonomous AI Database con el arrendamiento de Microsoft Entra ID, exponga el URI y el ámbito de ID de aplicación, cree roles de aplicación si utiliza asignaciones compartidas y asigne los usuarios, grupos o aplicaciones necesarios. Consulte Activación de la autenticación de Microsoft Entra ID en una base de datos de IA autónoma. A continuación, utilice DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION con type => 'AZURE_AD' y los valores de inquilino/aplicación. Registre los metadatos de Database Tools con CREATE_IDP mediante la URL de detección de OpenID Connect específica del inquilino. Asigne usuarios, clientes o roles de aplicación con AZURE_USER o AZURE_ROLE.
AWS Cognito Configure el grupo de usuarios de Cognito, el cliente de aplicación, el dominio y la afiliación de usuario o grupo en AWS. Registre los metadatos de Database Tools con CREATE_IDP mediante la URL de detección de OpenID Connect del pool de usuarios de Cognito. Asigne usuarios con AWS_USER y asignaciones de rol compartido con AWS_ROLE.
Google Cloud Platform (GCP) Configure la pantalla de consentimiento de OAuth, las credenciales de cliente de OAuth, el URI de redirección y la asignación de usuarios en Google Cloud. Registre los metadatos de Database Tools con CREATE_IDP mediante la URL de detección de Google OpenID Connect. Asigne usuarios con GCP_USER.
Okta Asigne la aplicación a los usuarios o grupos de Okta que deben conectarse. Si se utiliza la asignación de grupos, exponga el ámbito de grupos y los grupos reclamados en el servidor de autorización. Registre los metadatos de Database Tools con CREATE_IDP mediante la URL de detección de OpenID Connect de Okta adecuada. Asigne usuarios con OKTA_USER y grupos con OKTA_GROUP.

Activar autenticación externa para acciones de base de datos

Como usuario ADMIN, active la autenticación externa en la base de datos de IA autónoma. Esto permite que la base de datos lo autentique a través de proveedores de identidad externos soportados.

Nota

Nota: La opción para utilizar la autenticación externa en Database Actions solo está disponible cuando se ha activado la autenticación externa para la base de datos de IA autónoma. Si no se ha activado ningún proveedor de autenticación externo, no verá la opción.

Antes de activar la autenticación externa, compruebe si un esquema de autenticación externa ya está activado:

SELECT name, value
FROM v$parameter
WHERE name = 'identity_provider_type';

Si identity_provider_type es OCI_IAM o AZURE_AD, la autenticación externa ya está activada para ese proveedor y no se necesita ningún cambio para la autenticación externa de base de datos.

Para utilizar la autenticación externa con Database Tools, debe completar la configuración de Database Tools creando o verificando los usuarios de base de datos identificados globalmente, registrando la información del proveedor de identidad con DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP y proporcionando los privilegios necesarios de Database Actions y Web Access.

Si otro proveedor de autenticación externo está activado, no utilice force => TRUE a menos que pretenda sustituir la configuración de autenticación externa actual.

Mediante force => TRUE, se desactiva el proveedor de autenticación externa activado actualmente y se pueden interrumpir los usuarios o las aplicaciones existentes que dependen de él.

Consulte Activación de la autenticación de Identity and Access Management (IAM) en una base de datos de IA autónoma para obtener más información.

Nota

Nota: Solo se puede activar un proveedor de autenticación externo a la vez.

Ejemplo: activación de la autenticación externa con OCI IAM

Como usuario ADMIN, puede activar la autenticación externa de Oracle Cloud Infrastructure IAM en la base de datos de IA autónoma:

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
      type  => 'OCI_IAM',
      force => TRUE
   );
END;
/

Este procedimiento DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION permite la autenticación externa de IAM de Oracle Cloud Infrastructure para la base de datos. No utiliza el nombre del proveedor de identidad, el ID de cliente, el secreto de cliente ni la URL de detección de OpenID Connect.

El procedimiento ENABLE_EXTERNAL_AUTHENTICATION configura la base de datos para que confíe en un proveedor de identidad externo soportado. El procedimiento varía en función del proveedor de identidad que utilice.

Ejemplo: activación de la autenticación externa con Microsoft Entra ID

Antes de ejecutar este ejemplo, complete la configuración de Microsoft Entra ID en Azure y recopile el ID de inquilino, el ID de aplicación y el URI de ID de aplicación del registro de la aplicación de Azure. Si utiliza asignaciones de rol de aplicación, cree los roles de aplicación y asigne los usuarios, grupos o aplicaciones necesarios en el ID de Microsoft Entra. Consulte Registro de la instancia de Oracle AI Database con un arrendamiento de Microsoft Entra ID y Gestión de roles de aplicación en Microsoft Entra ID.

Como usuario ADMIN, active la autenticación externa de Microsoft Entra ID en la base de datos de IA autónoma:

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;
/

Para herramientas como Database Actions y Data Studio, asegúrese de que a los usuarios de base de datos global autenticados externamente se les otorgan los roles de base de datos adecuados y de que tiene activado el acceso web.

Nota

Nota: Cuando la autenticación externa ya está activada para el proveedor que desea utilizar, no vuelva a ejecutar ENABLE_EXTERNAL_AUTHENTICATION. Utilice CREATE_IDP solo para registrar los metadatos del proveedor de identidad para los proveedores que requieren el registro de metadatos de OpenID Connect, como Microsoft Entra ID, y utilice ENABLE_EXTERNAL_AUTHENTICATION con precaución. Para Oracle Cloud Infrastructure IAM, activará la autenticación externa y configurará usuarios de base de datos identificados globalmente, y no necesita registrar la información del proveedor de identidad en la base de datos. El uso del parámetro force puede romper una configuración de autenticación externa existente.

Crear usuarios de base de datos global

Después de activar la autenticación externa, cree usuarios que sean IDENTIFIED GLOBALLY. Un usuario identificado globalmente es un usuario o esquema de base de datos creado en la base de datos de IA autónoma y asignado a un principal de proveedor de identidad externo en lugar de una contraseña de base de datos. Creará usuarios de base de datos global para el mismo proveedor de identidad que ha activado para la autenticación externa. Los permisos y las autorizaciones se otorgan a los usuarios de la base de datos global para obtener privilegios en la base de datos, y para conectarse a DBActions, deberá activar el usuario de la base de datos global para ORDS y otorgar la creación de sesión como mínimo.

Ejecute los siguientes ejemplos para crear usuarios de base de datos global asignados a los principales de su proveedor de identidad respectivo.

Ejemplo: creación de usuarios de base de datos global para OCI IAM

Cree un usuario de base de datos global asignado a un principal de IAM de Oracle Cloud Infrastructure:

CREATE USER adam_scott
IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=adamscott';

Otorgue acceso al usuario de base de datos adam_scott.

GRANT CREATE SESSION TO adam_scott;

También puede asignar un usuario de base de datos compartida a un grupo de IAM de Oracle Cloud Infrastructure:

CREATE USER sales_group
IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=db_sales_group';

Ejecute estas sentencias para permitir que el usuario de base de datos sales_group asignado se conecte a la base de datos.

GRANT CREATE SESSION TO sales_group;

Ejemplo: creación de usuarios de base de datos global para el ID de Microsoft Entra

Cree un usuario de base de datos global asignado a un usuario de Microsoft Entra ID:

CREATE USER peter_fitch
IDENTIFIED GLOBALLY AS 'AZURE_USER=peter.fitch@example.com';

Ejecute estas sentencias para otorgar privilegios o roles de base de datos al usuario peter_fitch:

GRANT CREATE SESSION TO peter_fitch;

También puede asignar un usuario de base de datos compartida a un rol de aplicación de Microsoft Entra ID:

CREATE USER dba_azure
IDENTIFIED GLOBALLY AS 'AZURE_ROLE=AZURE_DBA';

Otorgue el privilegio de usuario para establecer una conexión a la base de datos:

GRANT CREATE SESSION TO dba_azure;

Debe utilizar asignaciones exclusivas para asignar un usuario de base de datos a un único principal externo o utilizar asignaciones compartidas para asignar un usuario de base de datos a un grupo o rol externo que pueda representar varios principales.

Proveedor Ejemplos de asignación de usuarios globales: asignaciones exclusivas y compartidas
IAM de OCI Asignación exclusiva:
IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=<iam-user>'
Asignación compartida:
IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=<iam-group>'
ID de Microsoft Entra (Azure) Asignación exclusiva:
IDENTIFIED GLOBALLY AS 'AZURE_USER=<user-principal-name>'
Asignación compartida:
IDENTIFIED GLOBALLY AS 'AZURE_ROLE=<app-role>'
AWS Cognito Asignación exclusiva:
IDENTIFIED GLOBALLY AS 'AWS_USER=<aws-user>'
Asignación compartida:
IDENTIFIED GLOBALLY AS 'AWS_ROLE=<aws-role>'
Google Cloud Platform (GCP) Asignación exclusiva:
IDENTIFIED GLOBALLY AS 'GCP_USER=<gcp-user>'
Asignación compartida:
No disponible.
Okta Asignación exclusiva:
IDENTIFIED GLOBALLY AS 'OKTA_USER=<okta-user>'
Asignación compartida:
IDENTIFIED GLOBALLY AS 'OKTA_GROUP=<okta-group>'

Nota

Nota: para los usuarios globales, en estos ejemplos se aborda Oracle Cloud Infrastructure IAM; para otros proveedores de identidad, utilice la sintaxis de asignación específica del proveedor en su documentación.

Para utilizar el usuario con Database Actions, debe crear una sesión, otorgar los privilegios necesarios de Database Actions, activar Oracle REST Data Services (ORDS) para el esquema y asegurarse de que el usuario tiene acceso web.

Ejemplo: activación de ORDS para un usuario de base de datos identificado globalmente

GRANT CREATE SESSION TO IDP_SHARED;
BEGIN
    ORDS_ADMIN.ENABLE_SCHEMA(
        p_enabled             => TRUE,
        p_schema              => 'idp_shared',
        p_url_mapping_type    => 'BASE_PATH',
        p_url_mapping_pattern => 'idp_shared',
        p_auto_rest_auth      => FALSE);
END;

Nota

Nota: Otorgue DWROLE para permitir que los usuarios asignados accedan al conjunto de herramientas de Data Studio en Database Actions.

Registro de la Información del Proveedor de Identidad en la Base de Datos

Después de crear usuarios autenticados globalmente, un administrador debe registrar el proveedor de identidad con la base de datos mediante DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP.

Este registro almacena el nombre del proveedor de identidad, el ID de cliente, el secreto de cliente y los metadatos de detección necesarios para la validación del token de OpenID Connect. El registro de un proveedor de identidad permite a Database Tools, como Database Actions y Data Studio, autenticar usuarios mediante los proveedores de identidad externos soportados.

Utilizará el procedimiento CREATE_IDP para crear un nuevo proveedor de identidad para la autenticación externa. Sólo necesita registrar un proveedor de identidad una vez para una base.

No es necesario registrar la información del proveedor de identidad para Oracle Cloud Infrastructure IAM. Solo activará la autenticación externa y configurará usuarios de base de datos identificados globalmente para Oracle Cloud Infrastructure IAM.

El paso de registro del proveedor de identidad de esta sección se aplica a los demás proveedores externos soportados.

Ejemplo: Ejemplo de CREATE_IDP genérico para proveedores externos

Registre la información del proveedor de identidad soportado con la base de datos para la autenticación de Database Tools:

BEGIN
   DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP(
      idp_name      => '<IDP_NAME>',
      client_id     => '<client-id>',
      client_secret => '<client-secret>',
      params        => JSON_OBJECT(
                         'discovery_url' VALUE '<openid-configuration-url>'));
END;
/

Para obtener más información sobre los parámetros y la descripción, consulte Procedimiento CREATE_IDP.

También puede actualizar una entrada de proveedor de identidad existente mediante el procedimiento UPDATE_IDP y eliminar un registro de proveedor de identidad existente de la base de datos mediante el procedimiento DELETE_IDP.

Acceder a acciones de base de datos con autenticación externa

Cuando se registra un proveedor de identidad y se activa la autenticación externa, Database Actions y otras herramientas soportadas muestran la opción Conectar con SSO. Conectar con SSO significa que se conecta a Database Actions como un usuario de base de datos global autenticado externamente a través del proveedor de identidad configurado. Si aún no tiene una sesión de proveedor de identidad activa, Database Actions lo redirige a Oracle Cloud Infrastructure IAM o a Microsoft Entra ID para completar la autenticación.

Para conectarse como usuario de base de datos global autenticado externamente:

  1. Abra la URL de Database Actions.

  2. Seleccione Conectarse con SSO.

  3. Autenticar con el proveedor de identidad configurado, como Oracle Cloud Infrastructure IAM o Microsoft Entra ID.

  4. Después de que la autenticación se realice correctamente, se abrirá Database Actions para el usuario de base de datos global asignado.

Nota

Nota: el acceso a Database Actions desde la consola de Oracle Cloud Infrastructure como ADMIN es un flujo independiente. Con la política de IAM de Oracle Cloud Infrastructure necesaria, puede abrir Database Actions desde la consola como ADMIN. Esto es diferente de conectarse directamente a Database Actions como usuario de base de datos global autenticado externamente. Cuando un usuario autenticado externamente se desconecta, Database Actions vuelve a la página de conexión de Database Actions.