Configurar el control de acceso basado en roles automáticamente mediante una secuencia de comandos

Configure el control de acceso basado en roles (RBAC) para la autenticación de IAM automáticamente mediante un script en Oracle Cloud Infrastructure.

Puede ejecutar el script en Cloud Shell para generar archivos de conexiones de IAM rápidamente. Este proceso de automatización reduce significativamente el tiempo necesario para realizar la configuración detallada de RBAC. Una vez que un usuario administrador genera el archivo Conexiones, se puede compartir en toda la organización para permitir la conexión a la base de datos desde Complementos de hoja de cálculo.

En la siguiente sección, se describe cómo:

  • Generar archivo Connections mediante script

  • Descargar archivo Connections

  • Permitir acceso a usuarios de dominio

Requisitos

Para utilizar la secuencia de comandos para la configuración de RBAC, debe tener:

  • Una cuenta de administrador en Oracle Cloud Infrastructure

  • Un dominio de IAM

  • Una instancia y un esquema de Autonomous AI Database

Generación de un archivo de conexiones mediante un script

Note:

Aunque la secuencia de comandos realiza las tareas de configuración automáticamente, es una secuencia de comandos interactiva, que requiere entradas de usuario para continuar.

Conéctese a la consola de Oracle Cloud Infrastructure, si aún no está conectado, y realice lo siguiente.

  1. En el icono Herramientas para desarrolladores situado junto a la región, abra Cloud Shell y ejecute el archivo de script en la ventana de terminal.

    adb-create-cred.sh
  2. El script comprueba si la cuenta de Oracle en la nube tiene una huella y una clave de API existentes. Si no se encuentra, el script crea un par de claves.

    You have an existing API Key and Fingerprint! Do you want to try to reuse them? (y/n): y

    Pulse y (sí) para reutilizar las teclas existentes. El script crea la credencial nativa en archivos SQL y JSON. Si desea generar un nuevo par de claves de API, pulse n.

  3. El script ofrece generar un perfil de IA para la base de datos.

    Proceed to generate the AI Profile script? (y/n): n

    En este ejemplo, pulse n para continuar sin AI Profile.

  4. Genere conexiones de IAM para complementos de hoja de cálculo.

    Proceed to generate the Spreadsheet add-ins IAM connection? (y/n): y

    Presione y para continuar.

  5. Seleccione el dominio con los usuarios que desea permitir para conectarse a la instancia de base de datos. Introduzca el número correspondiente en los dominios disponibles.

    Select a domain (1-3):
    El script crea lo siguiente:
    • Atributo personalizado de usuario denominado Complementos de hoja de cálculo RBAC

    • Una aplicación integrada de dominio denominada Spreadsheet Add-ins

    • Una reclamación personalizada de JWT

    El script también genera un script PL/SQL, create_jwt_profile.sql, que contiene información de perfil de JWT.

    Note:

    Puede reutilizar el atributo de usuario existente y la reclamación personalizada, o bien crear otros nuevos mediante el script. Si ya existe una aplicación integrada, puede crear una nueva, pero cualquier conexión antigua utilizada por la aplicación deja de ser válida.

  6. Ejecute el script de credenciales para el esquema necesario en la base de datos de IA autónoma.

    Proceed to run the Credential Scripts on your Autonomous Database? (y/n): y

    Pulse y (sí) para continuar.

  7. Seleccione el compartimento y la base de datos en la que reside el esquema.

    Select the number pertaining to your Compartment:
    ...
    Select the number pertaining to your Autonomous Database:
  8. Puede utilizar una cartera en la nube existente o crear una nueva, si es necesario. Si el script detecta una cartera en la nube existente, le preguntará si desea volver a utilizarla.

    You have an existing Wallet File for [DB_NAME]. Do you want to reuse it? (y/n):

    Si no existe una cartera, puede configurar una nueva.

  9. Especifique las credenciales de conexión para el esquema al que desea permitir que se conecte RBAC.

    Enter Autonomous Database username (ADMIN):
    Enter Autonomous Database password:
    El script ejecuta el archivo SQL que contiene la información de perfil de JWT creada anteriormente y genera un archivo de conexiones de IAM en formato JSON en la carpeta de inicio.
    Spreadsheet connection file: [$HOME/iam_connection_[DB_NAME]_[schema].json] created.

    Note:

    Puede copiar el nombre de archivo Connections, excluida la parte $HOME/, y utilizar el mismo nombre al descargar el archivo. Si la secuencia de comandos aún se está ejecutando, el uso de Ctrl + C para copiar puede detener o interrumpir la secuencia de comandos de manera forzada.

  10. Por último, el script solicita si desea repetir los pasos y crear un archivo Conexiones para otra base de datos o salir del script. Por lo tanto, puede configurar el acceso de usuario de dominio para varios esquemas.

Descargue el archivo Connections

  1. En la ventana de Cloud Shell, haga clic en el icono de engranaje para abrir el menú de Cloud Shell y haga clic en Descargar.

  2. Puede pegar el mismo nombre de archivo copiado anteriormente o especificar un nuevo nombre para el archivo Connections en formato JSON.

  3. Haga clic en Descargar en la ventana de mensajes para descargar el archivo Conexiones.

Puede utilizar el archivo Conexiones en Complementos de hoja de cálculo para conectarse a la base de datos y compartirla con otros usuarios.

Permitir acceso para usuarios de dominio

Conéctese a la consola de Oracle Cloud Infrastructure, si aún no está conectado, y realice lo siguiente.

  1. Haga clic en el menú de hamburguesa y vaya a Identidad y seguridad y seleccione Dominios.

  2. En Nombre, haga clic en el dominio para el que ha creado el archivo Conexiones, por ejemplo, Por defecto.

  3. Vaya al separador Gestión de usuarios y haga clic en el nombre de usuario para el que desea permitir el acceso.

  4. Haga clic en Editar Usuario para modificar la información de usuario.

  5. Desplácese hasta la sección Otra información. En el campo RBAC de complementos de hoja de cálculo, introduzca SQL Developer.

  6. Haga clic en Guardar cambios para agregar el rol al usuario.

A partir de ORDS 26.2, los roles de ORDS están desactivados de forma predeterminada. Para utilizar un rol ORDS, debe activar el rol. Por ejemplo:

BEGIN
    ords.set_property(
      p_key   => 'security.jwt.profile.allowed.roles',
      p_value => 'SQL Developer'
    );
    COMMIT;
  END;
/

Para obtener más información sobre los roles de usuario de ORDS, consulte Acerca de los roles de usuario de Oracle REST Data Services.