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 servicios en la nube, como el almacén de objetos en la nube, primero debe crear credenciales en Autonomous Database.

  1. Cree y almacene 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',
        comments => 'credential to access object store'
      );
    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. Después de almacenar 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.

    No es necesario crear una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure si activa las credenciales de la entidad de recurso. Consulte Uso de la entidad 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 creada 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 requieren 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.

Para crear credenciales mediante el paquete DBMS_CLOUD, consulte Creación de credenciales para acceder a los servicios en la nube y Procedimiento CREATE_CREDENTIAL.

Acerca del script de Cloud Shell de creación de credenciales

Ejecute el script de Cloud Shell de creación de credenciales en la herramienta de desarrollador de Cloud Shell para generar scripts de credenciales que se ejecutarán en Autonomous Database.

Utilice el script Create Credential, adb-create-cred.sh, para crear credenciales nativas de OCI nuevas o reutilizar las existentes, incluido un par de claves RSA con una huella. Las credenciales se proporcionan al usuario en forma de scripts, oci_native_credential.sql y oci_native_credential.json, que se pueden ejecutar en Autonomous Database. Se realiza una copia de seguridad de las credenciales existentes si se crean nuevas credenciales.

Utilice el script adb-create-cred.sh para ejecutar los scripts de credenciales generados en la instancia de Autonomous Database o salga del programa y ejecute los scripts en la base de datos con una herramienta o utilidad compatible con SQL o JSON de su elección. Consulte Ejemplo: creación de credenciales nativas de OCI y Ejemplo: creación de credenciales nativas de OCI y ejecución en Autonomous Database para obtener más información y ejemplos.

Opcionalmente, se utiliza adb-create-cred.sh para crear credenciales de Swift/token de autenticación. Oracle recomienda el uso de credenciales nativas de OCI. Sin embargo, si desea crear un token de autenticación/credencial Swift, este script de shell lo soporta. Consulte Creación de token de autenticación utilizado para credencial Swift para obtener más información.

Nota

Si no tiene acceso a la herramienta de desarrollador de Cloud Shell, cree 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.

Ejemplo: creación de credenciales nativas de OCI

En este ejemplo se utiliza Cloud Shell para ejecutar el script Crear credencial para crear scripts de credenciales nativas de OCI.

Ejecute adb-create-cred.sh para generar scripts de credenciales, oci_native_cred.sql y oci_native_cred.json. El script adb-create-cred.sh busca credenciales existentes, si se encuentran, se le pregunta si desea volver a utilizarlas o si desea crear nuevas credenciales. En función de su decisión, los scripts de credenciales generados incluyen credenciales nuevas o existentes. Descargue el script de credenciales nativas de OCI o cópielo para ejecutarlo directamente en la base de datos mediante cualquier herramienta o utilidad SQL o JSON.

Nota

Para obtener una lista de argumentos soportados por el script Crear credencial, introduzca adb-create-cred.sh --help.

En este ejemplo, se generan scripts de credenciales nativas de OCI para su arrendamiento sin ejecutarlos en la base de datos. Consulte Ejemplo: creación de credenciales nativas de OCI y ejecución en Autonomous Database, para obtener un ejemplo de ejecución del script de credenciales nativas de OCI en la base de datos.

  1. Conéctese al arrendamiento, seleccione el icono Herramientas de desarrollador y haga clic en Cloud Shell en la lista desplegable.
  2. Ejecute el script adb-create-cred.sh.
  3. Introduzca y para volver a utilizar las credenciales existentes en el script de credencial nativa de OCI generado.


    A continuación se muestra la descripción de cs_existing.png
    Descripción de la ilustración cs_existing.png

    Si decide crear nuevas credenciales y después de sobrescribir las credenciales que desea utilizar, vuelva al directorio en el que se encuentra la copia de seguridad y vuelva a utilizarlas. La carpeta o el nombre del archivo de copia de seguridad tiene un sufijo con esta sintaxis: _bkp_YYYYMMDD_abc. Por ejemplo, este archivo de copia de seguridad se creó el 06 de junio de 2024: _bkp_20240603_woT.

  4. Introduzca n para salir del script sin ejecutar el script de credencial nativa de OCI en la base de datos.
  5. El programa se cierra y muestra el nombre de la credencial nativa de OCI y el comando para verlo.


    A continuación se muestra la descripción de cs_exit_script.png
    Descripción de la ilustración cs_exit_script.png

    Descargue el script de credenciales nativas de OCI o cópielo y ejecútelo directamente en la base de datos mediante cualquier herramienta SQL.

Ejemplo: creación de credenciales nativas de OCI y ejecución en Autonomous Database

En este ejemplo se utiliza el script Crear credencial para crear un script de credencial nativa de OCI que se ejecuta en Autonomous Database.

Antes de ejecutar el script, tenga en cuenta lo siguiente:
  • (Opcional) Proporcione la región de la base de datos, el compartimento y el nombre de la base de datos para evitar que el script busque la base de datos. Aunque estas opciones no son necesarias, pueden ahorrar tiempo de procesamiento, especialmente en arrendamientos que abarcan una multitud de compartimentos y bases de datos autónomas.
  • El script asume que la base de datos está en la región principal. Si está en una región diferente, debe transferir el argumento de nombre de región, --region, al ejecutar el script.
  • Si no proporciona el compartimento (--compartment) o el nombre de la base de datos (--database), el script busca posibles candidatos y le solicita que realice una selección de las listas de posibles compartimentos y bases de datos.
  • Para mostrar las opciones disponibles, introduzca -h o --help.

En el siguiente ejemplo, el script Crear credencial nativa de OCI, adb-create-cred.sh, se utiliza para generar un script de credenciales con credenciales existentes y ejecutar el script en una base de datos especificada.

La región, el compartimento y el nombre de la base de datos se transfieren como argumentos al script. La opción --database requiere tanto --region como --compartment. Si especifica solo --database sin estas opciones, se ignora la opción.

El nombre de usuario utilizado para conectarse a la base de datos también se proporciona junto con un nombre para la credencial creada.
Nota

Para obtener una lista de argumentos soportados por el script Crear credencial, introduzca adb-create-cred.sh --help.
  1. Conéctese al arrendamiento, seleccione el icono Herramientas de desarrollador y haga clic en Cloud Shell en la lista desplegable.
  2. Ejecute el script adb-create-cred.sh, incluidos los argumentos utilizados para localizar la base de datos, conectarse a la base de datos y un nombre de credencial especificado por el usuario.
  3. Se han encontrado las claves API y la huella existentes. Introduzca y para volver a utilizarlos en las secuencias de comandos de credenciales generadas.


    A continuación se muestra la descripción de cs_existing_keys.png
    Descripción de la ilustración cs_existing_keys.png

    Si decide crear nuevas credenciales y después de sobrescribir las credenciales que desea utilizar, puede volver al directorio en el que se encuentra la copia de seguridad y volver a utilizarlas. La carpeta o el nombre del archivo de copia de seguridad tiene un sufijo con esta sintaxis: _bkp_YYYYMMDD_abc. Por ejemplo, este archivo de copia de seguridad se creó el 06 de junio de 2024: _bkp_20240603_woT.

  4. Introduzca y para ejecutar el script de credenciales creado, oci_native_credential.sql, en la base de datos especificada con los argumentos de región, compartimento y base de datos.
  5. No se ha encontrado un archivo de cartera, por lo que se ha configurado. Si se ha encontrado un archivo de cartera, se le preguntará si desea volver a utilizarlo o configurar uno nuevo. Introduzca la contraseña para el nombre de usuario ADMIN que ha proporcionado. El nombre de usuario y la contraseña se utilizan para conectarse a la base de datos.


    A continuación se muestra la descripción de cs_pass.png
    Descripción de la ilustración cs_pass.png

    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 y JSON. Sin embargo, no realiza los pasos necesarios para acceder al punto final privado de Autonomous Database. En su lugar, 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 un host de salto.

  6. La conexión se ha realizado correctamente y la credencial MYOCICRED se ha creado en la base de datos especificada. Las credenciales existentes se borran y se crean las nuevas credenciales. Introduzca n para no ejecutar credenciales en otra base de datos. El script existe y proporciona la ruta para el script oci_native_credential.sql creado.


    Nota

    Si la conexión a Autonomous Database no se realiza correctamente, puede ejecutar cat ~/oci_native_credential.sql y copiar el SQL para ejecutarlo directamente en la base de datos mediante cualquier herramienta SQL.

Crear token de autenticación utilizado para credencial Swift

Si desea crear una credencial de Swift/token de autenticación, aunque Oracle recomienda el uso de credenciales nativas de OCI, incluya el argumento --all al ejecutar el script para generar credenciales nativas de OCI y la credencial de Swift/token de autenticación.

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.

Suprimir credenciales

DBMS_CLOUD proporciona la capacidad de almacenar credenciales mediante el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL. Puede eliminar las 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 Subprogramas DBMS_CLOUD y API de REST.