Uso de las autenticaciones de Identity and Access Management (IAM) con Autonomous AI Database

Puede configurar la base de datos de IA autónoma para utilizar la autorización y la autenticación de Oracle Cloud Infrastructure Identity and Access Management (IAM) para permitir a los usuarios de la instancia de IAM acceder a una base de datos de IA autónoma con credenciales de la instancia de IAM.

Nota: La integración de Autonomous AI Database con Oracle Cloud Infrastructure (OCI) IAM está soportada en arrendamientos comerciales con dominios de identidad, así como en el antiguo Oracle Cloud Infrastructure IAM, que no incluye dominios de identidad. Oracle Cloud Infrastructure IAM con dominios de identidad se ha introducido con los nuevos arrendamientos de OCI creados a partir del 8 de noviembre de 2021. Autonomous AI Database soporta usuarios y grupos en dominios de identidad por defecto y no por defecto.

Acerca de la autenticación en Identity and Access Management (IAM) con una base de datos de IA autónoma

La integración con Oracle Cloud Infrastructure IAM con Autonomous AI Database soporta la autenticación por contraseña de base de Datos y por token. Consulte Autenticación y autorización de usuarios de IAM para bases de datos de IA autónomas de Oracle para obtener más información sobre la arquitectura para utilizar usuarios de IAM en Autonomous AI Database.

Autenticación de contraseña de base de datos de IAM

Nota: Cualquier cliente de base de datos 12c o superior soportado se puede utilizar para el acceso por contraseña a la base de datos de IAM a la base de datos de IA autónoma.

Las contraseñas de bases de datos de IAM de Oracle Cloud Infrastructure permiten a un usuario de la instancia de IAM conectarse a una instancia de la base de datos de IA autónoma, ya que, por lo general, los usuarios de la instancia de Oracle Database se conectan con un nombre y contraseña. El usuario introduce su nombre de usuario de IAM y la contraseña de base de datos de IAM. Una contraseña de base de datos de IAM es una contraseña diferente a la contraseña de la consola de Oracle Cloud Infrastructure. El uso de un usuario de la instancia de IAM con el verificador de contraseña le permite conectarse a Autonomous AI Database con cualquier cliente base de datos soportado.

Autenticación basada en token de conexión única de Identity and Access Management (IAM)

Un cliente de base de datos puede obtener un token de base de datos de IAM de varias maneras:

Si un usuario introduce un nombre de usuario/contraseña para conectarse, el controlador de base de datos utiliza el método de verificador de contraseñas para acceder a la base de datos independientemente de la configuración de token de base de datos del cliente.

Requisitos para la autenticación de Identity and Access Management (IAM) en la base de datos de IA autónoma

Antes de utilizar la autenticación de Identity and Access Management (IAM) en la base de datos de IA autónoma, debe asegurarse de lo siguiente:

Cambio de proveedores de identidad externos en la base de datos de IA autónoma

Describe los pasos para cambiar el proveedor de identidad externo (IAM) de autenticación y autorización a otro y viceversa.

La autenticación y autorización de Oracle Cloud Infrastructure (IAM) para usuarios está activada por defecto para bases de Datos de IA autónomas y las bases de Datos de contenedores autónomas recién aprovisionadas. Existen otros esquemas de autenticación externos, como los usuarios gestionados de forma centralizada con Active Directory (CMU-AD), Azure AD y Kerberos, que puede activar para su base de datos de IA autónoma. Sin embargo, solo puede haber uno de los esquemas de autenticación externo activado en el momento determinado.

Para permitir a los usuarios de la base de datos conectarse a la base de datos de IA autónoma mediante otro esquema de autenticación externo:

  1. Desactive la integración de IAM mediante el procedimiento DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION:

    Por ejemplo:

     BEGIN
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
     END;
     /
    

    Para obtener más información, consulte DISABLE_EXTERNAL_AUTHENTICATION Procedure.

  2. Siga los pasos descritos en las siguientes páginas para configurar otro esquema de autenticación externa de su elección:

  3. Vuelva a activar los usuarios de IAM para conectarse a la base de datos de IA autónoma mediante la autenticación y autorización de Oracle Cloud Infrastructure (IAM).

    Como usuario ADMIN, ejecute el procedimiento DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION con los parámetros que se muestran a continuación:

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

    En el ejemplo anterior se desactiva cualquier proveedor de autenticación externo que esté activado actualmente y se activa la autenticación y autorización de Oracle Cloud Infrastructure (IAM).

    En este ejemplo:

    • force se define en TRUE para desactivar la autenticación externa que está activada actualmente.

    • type se define en 'OCI_IAM' para activar y utilizar la autenticación y autorización de Oracle Cloud Infrastructure (IAM).

    Nota: Por defecto, el parámetro force es FALSE. Cuando se activa otro método de autenticación externa y force es FALSE, DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION informa el siguiente error: ORA-20004: Another external authentication is already enabled.

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

  4. Verifique el valor del parámetro del sistema IDENTITY_PROVIDER_TYPE como se muestra a continuación:

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

Creación de grupos y políticas de Identity and Access Management (IAM) para usuarios de IAM

Describe los pasos que se deben seguir para escribir instrucciones de política para un Grupo de IAM a fin de permitirle el acceso a los recursos de Oracle Cloud Infrastructure a los usuarios de IAM, en concreto a las instancias de Autonomous AI Database.

Una política es un grupo de sentencias que especifica quién puede acceder a determinados recursos y cómo. Se puede otorgar acceso a todo el arrendamiento, a las bases de datos de un compartimento o a bases de datos individuales. Esto significa que debe escribir una sentencia de política que otorgue a un grupo específico un tipo de acceso específico a un tipo específico de recurso dentro de un compartimento específico.

Nota: Es necesario definir una política para utilizar tokens de IAM para acceder a Autonomous AI Database. No es necesaria una política al usar contraseñas de base de datos de IAM para acceder a la base de datos de IA autónoma.

Para activar Autonomous AI Database para permitir a los usuarios de la instancia de IAM conectarse a la base de datos mediante tokens de la instancia de IAM:

  1. Para cumplir los requisitos de Oracle Cloud Infrastructure Identity and Access Management, cree un grupo y agregue usuarios al grupo.

    Por ejemplo, cree el grupo sales_dbusers.

    Consulte Gestión de grupos para obtener más información.

  2. Escriba sentencias de política para permitir el acceso a los recursos de Oracle Cloud Infrastructure.

    1. En la consola de Oracle Cloud Infrastructure, haga clic en Identidad y seguridad.

    2. En Identity & Security, haga clic en Policies.

    3. Para una política de escritura, haga clic en Crear política.

    4. En la página Crear política, introduzca un nombre y una descripción.

    5. En la página Crear política, seleccione Mostrar editor manual.

       [Description of the illustration adb_iam_create_policy_manual.png](img_text/adb_iam_create_policy_manual.html)
      
    6. Utilice el Creador de Política para crear una política.

      Por ejemplo, para crear una política que permita a los usuarios de IAM grupo DBUsers acceder a cualquier base de datos de IA autónoma de su arrendamiento:

       Allow group DBUsers to use autonomous-database-family in tenancy
      

      Por ejemplo, para crear una política que limite los miembros del grupo DBUsers el acceso a las Bases de Datos de IA autónomas solo en el compartimento testing_compartment:

       allow group DBUsers to use autonomous-database-family in compartment testing_compartment
      

      Por ejemplo, para crear una política que limite el acceso del grupo a una única base de datos en un compartimento:

       allow group DBUsers to use autonomous-database-family in compartment testing_compartment where target.database.id = 'ocid1.autonomousdatabase.oc1.iad.aaaabbbbcccc'
      

      Consulte Creación de una política de IAM para autorizar la autenticación de usuarios con tokens en la Guía de seguridad de la base de datos para obtener más información sobre las políticas de IAM para acceder a la base de datos.

    7. Haga clic en Crear.

      Consulte Gestión de políticas para obtener más información sobre políticas.

Notas para crear políticas para su uso con usuarios de la instancia de IAM en Autonomous AI Database:

Agregar usuarios de IAM en la base de datos de IA autónoma

Para agregar usuarios de la instancia de IAM para permitirles el acceso a la instancia de Autonomous AI Database, asigne usuarios globales a grupos o usuarios de la instancia de IAM con las sentencias CREATE USER o ALTER USER (con el cláusula IDENTIFIED GLOBALLY AS).

La autorización de usuario de IAM a una instancia de Autonomous AI Database funciona mediante la asignación de usuarios globales (esquemas) de IAM a usuario de IAM (asignación exclusiva) o grupos de IAM (asignación de esquema compartido).

Para autorizar a los usuarios de IAM en una instancia de la base de datos de IA autónoma:

  1. Conéctese como usuario ADMIN a la base de datos que está activada para utilizar IAM (el usuario ADMIN tiene los privilegios del sistema CREATE USER y ALTER USER necesarios para estos pasos).

  2. Cree una asignación entre el usuario de base de datos de IA autónoma (esquema) con las sentencias CREATE USER o ALTER USER e incluya la cláusula IDENTIFIED GLOBALLY AS especificando el nombre de grupo de IAM.

    Utilice la siguiente sintaxis para asignar un usuario global a un grupo de IAM:

     CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_NAME';
    

    Por ejemplo, para asignar un grupo de IAM denominado db_sales_group a un usuario global de base de datos compartida denominado sales_group:

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

    De este modo se crea una asignación de usuario global compartida. La asignación, con el usuario global sales_group, es efectiva para todos los usuarios del grupo de IAM. Por lo tanto, cualquier usuario de db_sales_group se puede conectar a la base de datos con sus credenciales de IAM (mediante la asignación compartida del usuario global sales_group).

    En el siguiente ejemplo, se muestra cómo hacerlo para un dominio que no es por defecto:

     CREATE USER shared_sales_schema IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=sales_domain/db_sales_group';
    
  3. Si desea crear asignaciones de usuario globales adicionales para otros grupos o usuarios de IAM, siga estos pasos para cada grupo o usuario de IAM.

Nota: Los usuarios de base de datos que no sean IDENTIFIED GLOBALLY pueden continuar con la conexión como antes, incluso cuando la base de datos de IA autónoma está activada para autenticarse de IAM.

Para asignar exclusivamente a un Usuario Global de IAM local a un Usuario Global de Oracle Database:

  1. Conéctese como usuario ADMIN a la base de datos que está activada para utilizar IAM (el usuario ADMIN tiene los privilegios del sistema CREATE USER y ALTER USER necesarios para estos pasos).

  2. Cree una asignación entre el usuario de la base de datos de IA autónoma (esquema) con sentencias CREATE USER o ALTER USER e incluya la cláusula IDENTIFIED GLOBALLY AS, especificando el nombre de usuario de IAM local de IAM.

    Por ejemplo, para crear un nuevo usuario global de base de datos denominado peter_fitch y asignar este usuario a un usuario de IAM local existente denominado peterfitch:

     CREATE USER peter_fitch IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=peterfitch'
    

    En el siguiente ejemplo se muestra cómo crear el usuario especificando un dominio que no es por defecto, sales_domain:

     CREATE USER peter_fitch2 IDENTIFIED GLOBALLY AS
     'IAM_PRINCIPAL_NAME=sales_domain/peterfitch';
    

Agregar roles de IAM en la base de datos de IA autónoma

Si lo desea, puede crear roles globales para proporcionar roles y privilegios de base de datos adicionales a los usuarios de IAM cuando se asignen varios usuarios de IAM al mismo usuario global compartido.

El uso de roles globales es opcional cuando se utiliza una asignación de IAM exclusiva al usuario (esquema) o una asignación de usuario compartida en Autonomous AI Database. Por ejemplo, se pueden otorgar todos los privilegios y roles al esquema compartido, y a todos los usuarios de IAM que se asignen al esquema compartido se les otorgarán los privilegios y roles asignados al esquema compartido.

Puede utilizar un rol global con el fin de diferenciar opcionalmente a usuarios que utilizan el mismo esquema compartido. Por ejemplo, un juego de usuarios puede tener todos el mismo esquema compartido y el esquema compartido podría tener el privilegio CREATE SESSION. A continuación, los roles globales se pueden utilizar para otorgar privilegios y roles diferenciados asignados a diferentes grupos de usuarios que utilizan el mismo esquema compartido.

El otorgamiento de roles adicionales a usuarios de la base de datos de IA autónoma en IAM funciona asignando roles globales de la base de datos de IA autónoma a grupos de la instancia de IAM.

Para asignar roles globales de Autonomous AI Database a grupos de IAM:

  1. Conéctese como usuario ADMIN a la base de datos que está activada para utilizar IAM (el usuario ADMIN tiene los privilegios del sistema CREATE USER y ALTER USER necesarios para estos pasos).

  2. Defina la autorización de base de Datos para los roles de Autonomous AI Database con las sentencias CREATE ROLE o ALTER ROLE e incluya la cláusula IDENTIFIED GLOBALLY AS especificando el nombre de grupo de IAM.

    Utilice la siguiente sintaxis para asignar un rol global a un grupo de IAM:

     CREATE ROLE global_role IDENTIFIED GLOBALLY AS
         'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';
    

    Por ejemplo, para asignar un grupo de IAM denominado ExporterGroup a un rol global de base de datos compartido denominado export_role:

     CREATE ROLE export_role IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=ExporterGroup';
    

    En el siguiente ejemplo se muestra cómo crear el rol especificando un dominio que no es por defecto, sales_domain:

     CREATE ROLE export_role IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=sales_domain/ExporterGroup';
    

    Todos los miembros de ExporterGroup en el dominio sales_domain se autorizarán con el rol global de base de datos export_role cuando se conecten a la base de datos.

  3. Utilice las sentencias GRANT para otorgar los privilegios necesarios u otros roles al rol global.

     GRANT CREATE SESSION TO export_role;
     GRANT DWROLE TO export_role;
    
  4. Si desea asociar un rol de base de datos existente a un grupo de IAM, utilice la sentencia ALTER ROLE para modificar el rol de base de datos existente para asignar el rol a un grupo de IAM. Utilice la siguiente sintaxis para modificar un rol de base de datos existente para asignarlo a un grupo de IAM:

     ALTER ROLE existing_database_role
        IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_Group_Name';
    

Si desea agregar asignaciones de roles globales adicionales para otros grupos de IAM, siga estos pasos para cada grupo de IAM.

Creación de contraseña de base de datos de IAM para usuarios de IAM

Para agregar un usuarios de IAM y permitir que el usuario de IAM se conecte a la base de datos de IA autónoma proporcionando un nombre de usuario y una contraseña, debe crear una contraseña para la base de datos IAM.

Consulte la sección sobre cómo trabajar con contraseñas de base de datos de IAM para obtener más información.

Conexión a una base de datos de IA autónoma con autenticación de Identity and Access Management (IAM)

Una vez que el usuario ADMIN de la base de datos asigne usuarios globales y roles globales a los usuarios de IAM y a los grupos de de IAM, los usuarios se conectarán a la instancia de Autonomous AI Database mediante sus credenciales de de Oracle Cloud Infrastructure IAM o accederán a la base de datos mediante un token IAM de Oracle Cloud Infrastructure.

Podrá seguir conectándose a Autonomous AI Database mediante su nombre de usuario y contraseña de cuenta de base datos local (cuenta de usuario no global).

Puede utilizar un cliente de base de datos para acceder a una instancia de base de datos de IA autónoma como usuario de la IAM de Oracle Cloud Infrastructure. Para utilizar un cliente con credenciales y contraseña de Oracle Cloud Infrastructure IAM y un Verificador de contraseña, el cliente de base de datos debe ser 12c o más reciente.

También puede utilizar un token de base de datos de IAM de Oracle Cloud Infrastructure para acceder a una instancia de base de datos de IA autónoma con clientes soportados:

Nota: Si la instancia de Autonomous AI Database está en modo restringido, solo los usuarios con el privilegio RESTRICTED SESSION, como ADMIN, pueden conectarse a la base del datos.

Acerca de la conexión a una base de datos de IA autónoma en una instancia de infraestructura de Exadata dedicada mediante IAM

Los usuarios de la instancia de IAM se pueden conectar a la instancia de la base de datos de IA autónoma en una infraestructura de Exadata dedicada mediante un Verificador de Contraseña de Base de Datos de IAM o un token de IAM.

El uso del verificador de contraseña de base de datos de IAM es similar al proceso de autenticación de contraseña de Oracle Database. However, instead of the password verifier (encrypted hash of the password) being stored in the Autonomous AI Database on Dedicated Exadata Infrastructure, the verifier is instead stored as part of the Oracle Cloud Infrastructure (OCI) IAM user profile.

El segundo método de conexión, el uso de un token de IAM para la base de datos, es más moderno. El uso del acceso basado en token se adapta mejor a los recursos en la nube, como Autonomous AI Database on Dedicated Exadata Infrastructure. El token se basa en la seguridad que puede aplicar el punto final de IAM. Puede ser una autenticación multifactor, que es más segura que el uso únicamente de contraseñas. Otra ventaja del uso de tokens es que el verificador de contraseña (que se considera confidencial) nunca se almacena ni está disponible en la memoria.

Conexiones de cliente que utilizan un verificador de contraseña de base de datos de IAM

Una vez que haya configurado la autorización necesaria para el usuario de IAM, este usuario se puede conectar mediante la aplicación cliente existente, como SQL*Plus o SQLcl, sin configuración adicional.

El usuario de IAM introduce el nombre de usuario de IAM y la contraseña de base de datos de IAM (no la contraseña de la consola de Oracle Cloud Infrastructure [OCI]) mediante cualquier cliente de base de datos soportado actualmente. La única restricción es que la versión de cliente de base de datos sea Oracle Database versión 12.1.0.2 o posterior para utilizar contraseñas de Oracle Database 12c. El cliente de base de datos debe poder utilizar el verificador de contraseña 12C. El uso del cifrado del verificador 11G no está soportado con IAM. No se necesita la configuración especial del cliente o la herramienta para que el usuario de IAM se conecte a la instancia de Autonomous AI Database en la infraestructura de Exadata dedicada.

Conexiones de cliente que utilizan un token

Para la conexión de token de de IAM a Autonomous AI Database en una infraestructura de Exadata dedicada, la aplicación o la herramienta del cliente solicitan un token de base de Datos de IAM para el usuario deIAM.

La aplicación cliente transferirá el token de base de datos directamente al cliente de base de datos a través de la API de cliente de base de datos.

Si la aplicación o la herramienta no se han actualizado para que solicite un token de IAM, el usuario de IAM puede utilizar la interfaz de línea de comandos (CLI) de Oracle Cloud Infrastructure (OCI) para solicitar y almacenar el token de base de datos. Puede solicitar un token de acceso a la base de datos (db-token) con las siguientes credenciales:

Cuando los usuarios de IAM se conectan al cliente con una barra inclinada / y se configura el parámetro OCI_IAM (sqlnet.ora, tnsnames.ora o como parte de una cadena de conexión), el cliente de base de datos recupera el token de base de datos de un archivo. Si el usuario de IAM envía un nombre de usuario y una contraseña, la conexión utilizará el acceso del verificador de base de datos de IAM descrito para las conexiones de cliente que utilizan verificadores de contraseña de base de datos de IAM. En las instrucciones de esta guía se muestra cómo utilizar la CLI de OCI como ayuda para el token de base de datos. Si la aplicación o la herramienta se ha actualizado para que funcione con IAM, siga las instrucciones de la aplicación o la herramienta. Algunos casos de uso habituales son: SQL*Plus local, SQLcl local, SQL*Plus en Cloud Shell o aplicaciones que utilizan carteras SEP.

En los siguientes temas se explica cómo:

Configuración de una conexión de cliente para SQL*Plus que utilice una contraseña de base de datos de IAM

Puede configurar SQL*Plus para que utilice una contraseña de base de datos de IAM.

Configuración de una conexión de cliente para SQL*Plus que utilice un token de IAM

Puede configurar una conexión de cliente para SQL*Plus que utilice un token de IAM.

  1. Asegúrese de que tiene una cuenta de usuario de IAM.

  2. Compruebe con el administrador de IAM y con el administrador de Oracle Database que tiene una política en la que puede acceder a la base de datos en el compartimento o su arrendamiento, y que está asignado a un esquema global en la base de datos.

  3. Si la aplicación o la herramienta no soporta la integración directa con IAM, descargue, instale y configure la CLI de OCI. (Consulte la sección de inicio rápido de la interfaz de línea de comandos de OCI). Configure una clave de API como parte de la configuración de la CLI de OCI y seleccione los valores por defecto.

    1. Configure el acceso de clave de API para el usuario de IAM.

    2. Recupere db-token. Por ejemplo:

      • Recuperación de db-token con API-key mediante la interfaz de línea de comandos de Oracle Cloud Infrastructure (OCI):

        oci iam db-token get
        
      • Recuperación de db-token con un token de seguridad (o sesión):

        oci iam db-token get --auth security_token
        

        Si el token de seguridad ha caducado, aparecerá una ventana para que el usuario pueda volver a conectarse a OCI. Esto genera el token de seguridad para el usuario. La CLI de OCI utilizará este token refrescado para obtener db-token.

      • Recuperación de db-token con un token de delegación: al conectarse a Cloud Shell, el token de delegación se genera automáticamente y se ubica en el directorio /etc. Para obtener este token, ejecute el siguiente comando en Cloud Shell:

        oci iam db-token get
        
      • Recuperación de un token de instancia mediante la interfaz de línea de comandos de OCI:

        oci iam db-token get --auth instance_principal
        
    3. The database client can also be configured to retrieve a database token using the IAM username and IAM database password.

      Para obtener más información, consulte Conexiones del cliente que utiliza un token solicitado por el nombre del usuario de IAM y una contraseña del base de datos.

    Consulte Claves y OCID necesarios para obtener más información.

  4. Asegúrese de utilizar las actualizaciones más recientes de las versiones 19c y 21c del cliente de Oracle Database.

    Esta configuración solo funciona con la versión 19c o 21c del cliente de Oracle Database.

  5. Siga el proceso existente para descargar la cartera de la Base de Datos de IA autónoma y, a continuación, siga las instrucciones para configurarla para su uso con SQL*Plus.

    1. Confirme que la coincidencia de DN está activada buscando SSL_SERVER_DN_MATCH=ON en sqlnet.ora.

    2. Configure el cliente de base de datos para que utilice el token de IAM agregando TOKEN_AUTH=OCI_TOKEN al archivo sqlnet.ora. Puesto que utilizará las ubicaciones por defecto para el archivo de token de base de datos, no es necesario incluir la ubicación del token.

    Los valores TOKEN_AUTH y TOKEN_LOCATION en las cadenas de conexión de tnsnames.ora tienen prioridad sobre la configuración de sqlnet.ora de esa conexión. Por ejemplo, para la cadena de conexión, suponiendo que el token está en la ubicación por defecto (~/.oci/db-token para Linux):

     (description=
       (retry_count=20)(retry_delay=3)
       (address=(protocol=tcps)(port=1522)
       (host=example.us-phoenix-1.oraclecloud.com))
       (connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com))
       (security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com,
          OU=Oracle BMCS US, O=Example Corporation,
          L=Redwood City, ST=California, C=US")
       (TOKEN_AUTH=OCI_TOKEN)))
    

Después de que se actualice las cadenas de conexión con el parámetro TOKEN_AUTH, el usuario de IAM se puede conectar a la instancia de Autonomous AI Database ejecutando el siguiente comando para iniciar SQL\*Plus. Puede incluir el propio descriptor de conexión o utilizar el nombre del descriptor del archivo tnsnames.ora.

connect /@exampledb_high

O bien:

connect /@(description=
  (retry_count=20)(retry_delay=3)
  (address=(protocol=tcps)(port=1522)
  (host=example.us-phoenix-1.oraclecloud.com))
  (connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com))
  (security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com,
     OU=Oracle BMCS US, O=Example Corporation,
     L=Redwood City, ST=California, C=US")
  (TOKEN_AUTH=OCI_TOKEN)))

El cliente de base de datos ya está configurado para obtener db-token porque TOKEN_AUTH ya está definido, ya sea mediante el archivo sqlnet.ora o en una cadena de conexión. El cliente de base de Datos obtiene db-token y lo firma mediante la clave privada y, a continuación, envía el token a la Base de Datos de IA autónoma. Si se ha especificado un nombre de usuario de IAM y una contraseña de base de datos de IAM en lugar de una barra inclinada /, el cliente de base de datos se conectará utilizando la contraseña en lugar de db-token.

Uso del principal de instancia para acceder a la base de datos de IA autónoma con autenticación del administrador de identidad y acceso (IAM)

Una vez que el usuario ADMIN haya activado IAM en Oracle Cloud Infrastructure en Autonomous AI Database, una aplicación puede acceder a la bases de datos a través del token IAM de Oracle Cloud Infrastructure mediante un principal de instancia.

Consulte Acceso a la API de Oracle Cloud Infrastructure con principales de instancia para obtener más información.

Configuración de autenticación de proxy

La autenticación de proxy permite a un usuario de IAM conectarse mediante proxy a un esquema de base de datos para tareas como el mantenimiento de la aplicación.

La autenticación de proxy se suele utilizar para autenticar al usuario real y, a continuación, autorizarlo a utilizar un esquema de base de datos con los privilegios y los roles de esquema para gestionar una aplicación. Alternativas como el uso compartido de la contraseña del esquema de la aplicación se consideran inseguras e impiden auditar qué usuario real ha realizado una acción.

Un caso de uso puede ser un entorno en el que un usuario de IAM con nombre que sea administrador de la base de datos de la aplicación pueda autenticarse mediante sus credenciales y, a continuación, conectarse mediante proxy a un usuario de esquema de base de datos (por ejemplo, hrapp). Esta autenticación permite al administrador de IAM utilizar los privilegios y los de roles hrapp como usuario hrapp para realizar el mantenimiento de la aplicación, y seguir utilizando sus credenciales de IAM para la autenticación. El administrador de base de datos de una aplicación se puede conectar a la base de datos y, a continuación, conectarse mediante proxy a un esquema de aplicación para gestionar este esquema.

Puede configurar la autenticación de proxy para los métodos de autenticación de contraseña y de token.

Configurar autenticación de proxy para el Usuario de IAM

Para configurar la autenticación de proxy para un usuario de IAM, el usuario de IAM ya debe tener una asignación a un esquema global (asignación exclusiva o compartida). También debe estar disponible un esquema de base de datos independiente para que el usuario de IAM pueda conectarse a este mediante proxy.

Después de asegurarse de que tiene este tipo de usuario, modifique el usuario de base de datos para permitir que el usuario de IAM pueda conectarse a este mediante proxy.

  1. Conéctese a la instancia de base de datos de IA autónoma como un usuario que tenga los privilegios del sistema ALTER USER.

  2. Otorgue un permiso para que el usuario de IAM se conecte mediante proxy a la cuenta de usuario de la base de datos local. No se puede hacer referencia a un usuario de IAM en el comando, por lo que se debe crear el proxy entre el usuario global de la base de datos (asignado al usuario de IAM) y el usuario de la base de datos de destino. En el siguiente ejemplo, hrapp es el esquema de base de datos al que se realizará la conexión mediante proxy, y peterfitch_schema es el usuario global de base de datos asignado exclusivamente al usuario peterfitch.

     ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
    

En esta etapa, el usuario de IAM se puede conectar a la instancia de base de datos mediante el proxy. Por ejemplo:

Para conectarse mediante un verificador de contraseña:

CONNECT peterfitch[hrapp]@connect_string
Enter password: password

Para conectarse mediante un token:

CONNECT [hrapp]/@connect_string

Validación de la autenticación de proxy del usuario de IAM

Puede validar la configuración del proxy de usuario de IAM para métodos de autenticación de contraseña y token. 1. Conéctese a la instancia de base de datos de IA autónoma como un usuario que tiene los privilegios del sistema CREATE USER y ALTER USER.

  1. Conéctese al usuario de IAM y ejecute los comandos SHOW USER y SELECT SYS_CONTEXT. Por ejemplo, supongamos que desea comprobar la autenticación de proxy del usuario de IAM peterfitch cuando se conecta mediante proxy al usuario de base de datos hrapp. Tendrá que conectarse a la base de datos utilizando los diferentes tipos de métodos de autenticación que se muestran aquí, pero la salida de los comandos que ejecute será la misma para todos los tipos.

    • Para la autenticación mediante contraseña:
CONNECT peterfitch[hrapp]/password!@connect_string
SHOW USER;

--The output should be USER is "HRAPP"
SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;

--The output should be "PASSWORD_GLOBAL"
SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL;

--The output should be "PETERFITCH_SCHEMA"
SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL;

--The output should be "HRAPP"

Uso de un enlace de base de datos con usuarios autenticados de IAM

Puede utilizar un enlace para conectarse desde una instancia de Autonomous AI Database a otra como usuario de Oracle Cloud Infrastructure IAM.

Puede utilizar el enlace de base de datos de usuario fijo o de usuario conectado para conectarse a una base de datos de IA autónoma como usuario de la IAM de Oracle Cloud Infrastructure.

Nota: El enlace de base de datos de usuario actual no está soportado para la conexión a una base de datos de IA autónoma como usuario de Oracle Cloud Infrastructure IAM.

Desactivación de las autenticaciones de Identity and Access Management (IAM) en la base de datos de IA autónoma

Describe los pasos para desactivar el acceso del usuario IAM de autenticación externa para la base de datos de IA autónoma.

Puede desactivar el acceso de usuarios de IAM en la instancia de base de datos de IA autónoma mediante el comando ALTER SYSTEM, como se muestra a continuación:

ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;

If you also want to update access to IAM from the resource, that is, Autonomous Container Database or Autonomous AI Database, you may need to remove or modify the IAM group and the policies you set up to allow access to IAM from those resources.

Notas para el uso de herramientas de base de datos de IA autónoma con autenticación del servicio Identity and Access Management (IAM)

Proporciona notas para utilizar las herramientas de base de datos de IA autónoma con autentificación de IAM activada.