Gestión de credenciales

Puede crear credenciales, mostrar credenciales o suprimir credenciales en Autonomous Database.

Creación de credenciales para acceder a los servicios en la nube

Para acceder a los servicios en la nube, como el almacén de objetos en la nube, primero debe crear credenciales en Autonomous Database.

  1. Cree y almacene las credenciales mediante el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL. Por ejemplo:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    Esta operación almacena las credenciales en la base de datos en un formato cifrado. Puede utilizar cualquier nombre para el nombre de credencial. Tenga en cuenta que este paso solo es necesario una vez, a menos que cambien las credenciales del almacén de objetos. Una vez almacenadas las credenciales, puede utilizar el mismo nombre de credencial para todas las cargas de datos.

    Para obtener información detallada sobre los parámetros, consulte Procedimiento CREATE_CREDENTIAL.

    La creación de una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure no es necesaria si activa las credenciales de la entidad de recurso. Consulte Uso de la principal de recurso para acceder a los recursos de Oracle Cloud Infrastructure para obtener más información.

    Nota

    Algunas herramientas como SQL*Plus y SQL Developer utilizan el carácter de ampersand (&) como carácter especial. Si tiene el carácter de ampersand en la contraseña, utilice el comando SET DEFINE OFF en esas herramientas, como se muestra en el ejemplo, para desactivar el carácter especial y obtener la credencial creada correctamente.
  2. Con la credencial que ha creado en el paso 1, puede acceder al almacén de objetos u otros recursos en la nube desde Autonomous Database mediante un procedimiento como DBMS_CLOUD.COPY_DATA, DBMS_CLOUD.EXPORT_DATA, DBMS_CLOUD_PIPELINE si utiliza un pipeline de datos u otros procedimientos que necesiten credenciales DBMS_CLOUD.

Creación de credenciales para acceder a servicios en la nube en Cloud Shell

Utilice Cloud Shell para ejecutar un script que cree credenciales nativas de OCI y token de autenticación en Autonomous Database.

Creación de credenciales nativas de OCI mediante Cloud Shell

Para crear credenciales nativas de OCI, conéctese a su arrendamiento y ejecute el script adb-create-cred.sh en la herramienta de desarrollador de Cloud Shell.

Antes de ejecutar el script en la región principal, tenga en cuenta lo siguiente:
  • Si está en la región principal y Autonomous Database está en la región principal, ejecute el script sin el argumento de región. El script asume que Autonomous Database está en su región principal y no solicitará una región alternativa.
  • Sin embargo, si se encuentra en la región principal y Autonomous Database está en una región alternativa, debe transferir el argumento --region al ejecutar el script.

  1. Conéctese al arrendamiento, seleccione el icono Herramientas de desarrollador y haga clic en Cloud Shell en la lista desplegable.
    A continuación se muestra la descripción de cs_cloud_shell.png
    Nota

    Si por algún motivo no tiene acceso a Cloud Shell, puede crear credenciales nativas de OCI sin utilizar el script adb-create-cred.sh. Consulte Creación de credenciales nativas de Oracle Cloud Infrastructure para obtener más información.
  2. Ejecute el script adb-create-cred.sh.

    El script se puede ejecutar con o sin argumentos:

    • Introduzca adb-create-cred.sh y haga clic en Intro para ejecutar el script.

      En pasos posteriores, el script proporciona una lista de compartimentos y, si no está en la región principal, una lista de regiones entre las que elegir.

      Por ejemplo:
      user_name@cloudshell:~ (us-phoenix-1)$ adb-create-cred.sh
    • Introduzca adb-create-cred.sh --region=REGION --compartment=COMPARTMENT y haga clic en Intro para ejecutar el script.

      Puede proporcionar uno o ambos argumentos. Al proporcionar la región o el compartimento, el script omitirá la generación de una lista de regiones y/o compartimentos.

      En este ejemplo, se proporcionan ambos argumentos. Autonomous Database está en la región us-phoenix-1 del compartimento Development:
      user_name@cloudshell:~ (us-phoenix-1)$ adb-create-cred.sh --region=us-ashburn-1 --compartment=Development
    Nota

    Para obtener una lista de opciones, introduzca adb-create-cred.sh --h.
  3. Si no tiene claves de API y huella existentes, se crean y se crean los siguientes scripts de credenciales nativas de OCI en SQL y JSON:
    • oci_native_credential.sql
    • oci_native_credential.json
  4. Si tiene claves de API y huella existentes, el script le pregunta si desea reutilizarlas.
    • Si responde y, las claves de API y la huella existentes no se sustituyen y el script continúa con el siguiente paso.
    • Si la respuesta es n, se le pregunta si desea sustituirlos.
      • Si desea sustituirlos, introduzca y. Se crea un script de copia de seguridad de las claves existentes, se eliminan las claves existentes, se crean nuevas claves de API y huellas digitales, y se crean los scripts de credenciales nativas de OCI en SQL y JSON.
        Nota

        Si decide, después de sobrescribir las credenciales, que desea utilizar las credenciales sobrescritas, puede volver al directorio en el que se encuentra la copia de seguridad y volver a utilizarla. El nombre o carpeta del archivo de copia de seguridad tiene un sufijo con la siguiente sintaxis: _bkp_YYYYMMDD_abc. Por ejemplo, este archivo de copia de seguridad se creó el 06 de junio de 2024: _bkp_20240603_woT
      • Si no desea sustituirlos, introduzca n. No se crean claves ni huellas dactilares y se cierra el script. Puede ejecutar cat ~/oci_native_credential.sql para copiar el SQL en
  5. Se le preguntará si desea continuar y ejecutar los scripts de credenciales en Autonomous Database.
    • Si ha transferido argumentos de región o compartimento al ejecutar el script:
      • Si introduce y y se han transferido ambos argumentos, se muestran las bases de datos autónomas a las que tiene acceso en esa región y compartimento. El script se salta al paso 7.
      • Si introduce y y solo ha transferido el nombre del compartimento, se muestra la lista de bases de datos autónomas a las que tiene acceso en ese compartimento. El script se salta al paso 7.
      • Si introduce y y solo ha transferido el nombre de la región, se muestra la lista de compartimentos de esa región que pueden tener bases de datos autónomas a las que tiene acceso.
    • Si no ha transferido argumentos al ejecutar el script:
      • Si introduce y y está en la región principal, se muestra una lista de compartimentos de este arrendamiento que pueden tener bases de datos autónomas a las que tiene acceso. Puesto que en este caso, se encuentra en la región principal y no ha ejecutado el script con ninguna opción, no se le solicitarán regiones alternativas.
        Nota

        Si tiene un punto final privado de Autonomous Database en una red virtual en la nube, el script adb-create-cred.sh genera los scripts SQL o JSON. Sin embargo, no realizará los pasos necesarios para acceder al punto final privado de Autonomous Database. En su lugar, se le pedirá que ejecute cat ~/oci_native_credential.sql, para copiar el SQL en cualquier herramienta SQL a la que tenga acceso a través de un bastión o Jump Host.
      • Si introduce y y no está en la región principal, se le preguntará si desea (k) mantener la región correcta, cambiar a (h) una región o (p) seleccionar otra región.
        • Si introduce k, permanecerá en la región actual y se mostrará una lista de compartimentos de la región actual que pueden tener bases de datos autónomas a las que tiene acceso.
        • Si introduce h, el script se ajusta para utilizar la región principal y se muestra una lista de compartimentos de la región principal que pueden tener bases de datos autónomas a las que tiene acceso.
        • Si introduce p, se muestra una lista de regiones a las que tiene acceso. La región principal está resaltada. Introduzca el número de la región que desea.

          Si en la región seleccionada no hay bases de datos a las que tenga acceso, se le preguntará si desea ejecutar en otra instancia de Autonomous Database. Si responde y, se le preguntará de nuevo si desea (k) mantener la región correcta, cambiar a (h) una región o (p) seleccionar otra región. Si responde n, se muestra el script de credencial nativa de OCI y se cierra el script. Puede ejecutar el script en la ventana de Cloud Shell o descargarlo y ejecutarlo en SQL Developer o en cualquier herramienta que ejecute SQL.

      • Si introduce n, se muestra el script de credencial nativa de OCI y se cierra el script. Puede ejecutar el script en la ventana de Cloud Shell o descargarlo y ejecutarlo en SQL Developer o en cualquier herramienta que ejecute SQL.
  6. Introduzca el número del compartimento.
    Se muestran las bases de datos autónomas a las que tiene acceso en ese compartimento.
  7. Introduzca el número de Autonomous Database.

    Las credenciales se configuran en la instancia de Autonomous Database seleccionada y se generan scripts SQL para agregar las credenciales. La siguiente tarea es conectarse a Autonomous Database para que pueda ejecutar los scripts de credenciales.

  8. Introduzca su nombre de usuario de Autonomous Database.
  9. Introduzca la contraseña de Autonomous Database.

    El script intenta conectarse a la instancia de Autonomous Database seleccionada mediante el nombre de usuario y la contraseña proporcionados.

    • Si la conexión a Autonomous Database se realiza correctamente, los scripts de credenciales generados se ejecutan en Autonomous Database. Las credenciales existentes se borran y se crean las nuevas credenciales.
    • Si la conexión a Autonomous Database no se realiza correctamente, puede ejecutar cat ~/oci_native_credential.sql para copiar el SQL y ejecutarlo directamente en Autonomous Database mediante cualquier herramienta SQL.

Creación de token de autenticación/credencial de Swift mediante el script de Cloud Shell (opcional)

Si desea crear un token de autenticación/credencial de Swift, aunque Oracle recomienda el uso de credenciales nativas de OCI, puede agregar el indicador --all al script para generar credenciales nativas de OCI y el token de autenticación/credencial de Swift.

Por ejemplo:
adb-create-cred.sh --all

Cuando se utiliza este indicador, el script le pregunta si desea incluir un token de autenticación. Al responder y, la clave de token de autenticación se genera y carga en el perfil de OCI, y se crean los scripts oci_auth_token_credential.sql y auth_token.tok.

Hay 2 opciones que puede utilizar para ver la clave de token de autenticación:
  • Ejecute el script oci_auth_token_credential.sql desde Cloud Shell para crear la clave de token de autenticación en la base de datos. La clave de token de autenticación es el valor del parámetro password para DBMS_CLOUD_CREATE_CREDENTIAL.
  • Consulte auth_token.tok desde Cloud Shell. Su token de autenticación es el valor de token.

Mostrar credenciales

DBMS_CLOUD proporciona la capacidad de almacenar credenciales mediante el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL. Puede mostrar las credenciales de la vista ALL_CREDENTIALS.

Por ejemplo, para mostrar las credenciales, ejecute el siguiente comando:

SELECT credential_name, username, comments FROM all_credentials;

CREDENTIAL_NAME                                            USERNAME    
---------------------------–-----------------------------  --------------------
COMMENTS
---------------------------–-----------------------------  --------------------
ADB_TOKEN                                                  user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
DEF_CRED_NAME                                              user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
 

Consulte ALL_CREDENTIALS para obtener más información.

Supresión de credenciales

DBMS_CLOUD proporciona la capacidad de almacenar credenciales mediante el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL. Puede eliminar credenciales con DBMS_CLOUD.DROP_CREDENTIAL.

Por ejemplo, para eliminar la credencial denominada DEF_CRED_NAME, ejecute el siguiente comando:

BEGIN
   DBMS_CLOUD.DROP_CREDENTIAL('DEF_CRED_NAME');
END;

Para obtener más información sobre los procedimientos y los parámetros de DBMS_CLOUD, consulte DBMS_CLOUD Subprogramas y API de REST.