DBMS_CLOUD para la gestión de acceso

En esta sección, se tratan los subprogramas DBMS_CLOUD utilizados para la gestión de accesos.

Requisitos

Como desarrollador, puede utilizar procedimientos DBMS_CLOUD con bases de datos de IA autónomas desplegadas en Oracle Public Cloud, Multicloud o Exadata Cloud@Customer.

Según la opción de despliegue, se deben cumplir los siguientes requisitos previos para utilizar los procedimientos DBMS_CLOUD con los proveedores de servicios Amazon S3, Azure Blob Storage y Google Cloud Storage.

Resumen de subprogramas DBMS_CLOUD para Gestión administrativa

Los subprogramas de la gestión de credenciales en el paquete DBMS_CLOUD, incluidas su creación, la supresión y actualización de credenciales.

Subprograma Descripción
Procedimiento CREATE_CREDENTIAL Este procedimiento almacena credenciales en la nube en Autonomous AI Database.
Procedimiento DROP_CREDENTIAL Este procedimiento elimina una credencial existente de la base de datos de IA autónoma.
Procedimiento UPDATE_CREDENTIAL Este procedimiento actualiza el atributo de credenciales del servicio en la nube en Autonomous AI Database.

Procedimiento CREATE_CREDENTIAL

Este procedimiento almacena credenciales en la nube en Autonomous AI Database.

Utilice las credenciales del servicio de nube almacenadas para acceder a este servicio para cargar datos, para consultar datos externos que residen en la nube o para otros casos cuando utilice el procedimiento DBMS_CLOUD con un parámetro credential_name.

Sintaxis

DBMS_CLOUD.CREATE_CREDENTIAL (
      credential_name   IN VARCHAR2,
      username          IN VARCHAR2,
      password          IN VARCHAR2 DEFAULT NULL);


DBMS_CLOUD.CREATE_CREDENTIAL (
      credential_name IN VARCHAR2,
      user_ocid       IN VARCHAR2,
      tenancy_ocid    IN VARCHAR2,
      private_key     IN VARCHAR2,
      fingerprint     IN VARCHAR2);

Parámetros

parámetro Descripción
credential_name Nombre de la credencial que se va a almacenar. El parámetro credential_name debe cumplir las convenciones de nomenclatura de objetos de Oracle, que no permiten espacios ni guiones.
username Los argumentos username y password especifican conjuntamente las credenciales del servicio en la nube. Consulte las notas de uso sobre qué se debe especificar para username y password para diferentes servicios en la nube.
password Los argumentos username y password especifican conjuntamente las credenciales del servicio en la nube.
user_ocid Especifica el OCID del usuario. Consulte Dónde obtener el OCID del arrendamiento y el OCID del usuario para obtener más información sobre cómo obtener el OCID del usuario.
tenancy_ocid Especifica el OCID del arrendamiento. Consulte Dónde obtener el OCID del arrendamiento y el OCID del usuario para obtener más información sobre cómo obtener el OCID del arrendamiento.
private_key Especifica la clave privada generada. Las claves privadas generadas con una frase de contraseña no están soportadas. Debe generar la clave privada sin una frase de contraseña. Consulte Cómo generar una clave de firma de API para obtener más información sobre la generación de un par de claves en formato PEM.
fingerprint Especifica una huella. Después de cargar una clave pública generada en la cuenta del usuario, se muestra la huella en la consola. Utilice la huella mostrada para este argumento. Consulte Cómo obtener la huella de la clave y Cómo generar una clave de firma de API para obtener más información.

Notas de uso

Credenciales de Oracle Cloud Infrastructure (tokens de autenticación)

Para Oracle Cloud Infrastructure, username es el nombre de usuario de Oracle Cloud Infrastructure. password es el token de autenticación de Oracle Cloud Infrastructure. Consulte Trabajar con token de autenticación.

Por ejemplo:

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'DEF_CRED_NAME',
    username => 'adb_user@example.com',
    password => 'password' );
END;
/

Utilice credenciales basadas en token de autenticación al autenticar llamadas a OCI Object Storage. Para realizar llamadas a cualquier otro tipo de servicio en la nube de Oracle Cloud Infrastructure, utilice las credenciales basadas en claves de firma de Oracle Cloud Infrastructure.

Credenciales basadas en claves de firma de Oracle Cloud Infrastructure

Utilice los parámetros relacionados con las claves de firma de Oracle Cloud Infrastructure, que incluyen: user_ocid, tenancy_ocid, private_key y fingerprint, con la autenticación de claves de firma de Oracle Cloud Infrastructure.

Por ejemplo:

BEGIN
   DBMS_CLOUD.CREATE_CREDENTIAL (
       credential_name => 'OCI_KEY_CRED',
       user_ocid       => 'ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa',
       tenancy_ocid    => 'ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a',
       private_key     => 'MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=',
       fingerprint     => 'f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27');
END;
/

Las claves privadas generadas con una frase de contraseña no están soportadas. Debe generar la clave privada sin una frase de contraseña. Consulte Cómo generar una clave de firma de API para obtener más información.

Credenciales de Amazon Web Services (AWS)

Si los archivos de origen residen en Amazon S3 o llama a una API de AWS, username es el identificador de clave de acceso de AWS, y password es la clave de acceso secreta de AWS. Consulte AWS Identity and Access Management.

Credenciales de Microsoft Azure

Si los archivos de origen residen en Azure Blob Storage o va a llamar a una API de Azure, username es el nombre de su cuenta de almacenamiento de Azure, y password es una clave de acceso de cuenta de almacenamiento de Azure. Consulte la sección acerca de las cuentas de almacenamiento de Azure.

Credenciales compatibles con Amazon S3

Servicio Información de credenciales
Almacenamiento en la nube de Google

Si sus archivos de origen residen en Google Cloud Storage o va a llamar a las API de Google Cloud Storage, debe definir un proyecto de Google por defecto y obtener una clave HMAC para crear credenciales que proporcionar con URL compatibles con S3 de Google Cloud Storage. Utilice el identificador de clave HMAC como nombre de usuario, y el secreto HMAC como contraseña.

Consulte la sección sobre proyectos y la sección sobre claves HMAC para obtener más información.

Gestionar credencial DBMS_CLOUD para autenticarse en Object Storage C3

Puede utilizar el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL para proporcionar a la base de datos de IA autónoma la información de autenticación necesaria para conectarse al cubo de almacenamiento de objetos C3. Utilice los parámetros relacionados con la clave de firma de Oracle Cloud Infrastructure, que incluyen user_ocid, tenancy_ocid, private_key y fingerprint, con la autenticación de claves de firma de Oracle Cloud Infrastructure.

Por ejemplo,

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL (
    credential_name => 'OBJECT_STORAGE_CREDENTIAL',
    user_ocid       => 'ocid1.user.oc1..abcdedfxxxxx',
    tenancy_ocid    => 'ocid1.tenancy.oc1..abcdefxyyyyyy',
    private_key     => 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDku_Rest_of_PrivateKey_no_spaces_no_newlines',
    fingerprint     => '3d:ba:f9:aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:xa:xb:xc'
  );
END;
/

Procedimiento DROP_CREDENTIAL

Este procedimiento elimina una credencial existente de la base de datos de IA autónoma.

Sintaxis

DBMS_CLOUD.DROP_CREDENTIAL (
   credential_name     IN VARCHAR2);

Parámetros

parámetro Descripción
credential_name Nombre de la credencial que se va a eliminar.

Procedimiento UPDATE_CREDENTIAL

Este procedimiento permite cambiar un atributo con un nuevo valor para un credential_name especificado.

Utilice las credenciales almacenadas para cargas de datos, para consultar datos externos en la nube o dondequiera que utilice procedimientos DBMS_CLOUD con un parámetro credential_name.

Sintaxis

DBMS_CLOUD.UPDATE_CREDENTIAL (
    credential_name   IN VARCHAR2,
    attribute         IN VARCHAR2,
    value             IN VARCHAR2);

Parámetros

parámetro Descripción
credential_name Nombre de la credencial que se va a actualizar.
attribute

Nombre del atributo que se actualizará.

Para una credencial de tipo de nombre de usuario/contraseña, los valores attribute válidos son: USERNAME y PASSWORD.

Consulte Procedimiento CREATE_CREDENTIAL para obtener más información.

value El nuevo valor del atributo especificado.

Notas de uso

Ejemplos

BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL(
     credential_name => 'OBJ_STORE_CRED',
     attribute => 'PASSWORD',
     value => 'password');
END;
/
BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL(
     credential_name => 'ARN_CRED',
     attribute => 'aws_role_arn',
     value => 'NEW_AWS_ARN');
END;
/

Contenido relacionado