DBMS_CLOUD pour la gestion de l'accès

Cette section couvre les sous-programmes DBMS_CLOUD utilisés pour la gestion des accès.

Conditions requises

En tant que développeur, vous pouvez utiliser les procédures DBMS_CLOUD avec des bases de données d'IA autonomes déployées sur Oracle Public Cloud, Multicloud ou Exadata Cloud@Customer.

Selon le choix de déploiement, les préalables suivants doivent être respectés pour utiliser les procédures DBMS_CLOUD avec les fournisseurs de services Amazon S3, Azure Blob Storage et Google Cloud Storage.

Sommaire des sous-programmes DBMS_CLOUD pour la gestion de l'accès

Sous-programmes de gestion des données d'identification dans l'ensemble DBMS_CLOUD, notamment la création, la suppression et la mise à jour des données d'identification.

Sous-programme Description
Procédure CREATE_CREDENTIAL Cette procédure stocke les données d'identification du service en nuage dans Autonomous AI Database.
Procédure DROP_CREDENTIAL Cette procédure supprime les données d'identification existantes de la base de données Autonomous AI Database.
Procédure UPDATE_CREDENTIAL Cette procédure met à jour les attributs de données d'identification du service en nuage dans Autonomous AI Database.

Procédure CREATE_CREDENTIAL

Cette procédure stocke les données d'identification du service en nuage dans Autonomous AI Database.

Utilisez les données d'identification stockées du service en nuage pour accéder au service en nuage aux fins de chargement de données, d'interrogation de données externes résidant dans le nuage ou pour d'autres cas lorsque vous utilisez des procédures DBMS_CLOUD avec un paramètre credential_name.

Syntaxe

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);

Paramètres

Paramètre Description
credential_name Nom des données d'identification à stocker. Le paramètre credential_name doit être conforme aux conventions d'attribution de nom aux objets Oracle, qui n'autorisent pas les espaces ni les traits d'union.
username Les arguments username et password spécifient vos données d'identification pour le service en nuage. Voir les notes d'utilisation pour savoir ce qu'il faut spécifier pour username et password pour les différents services en nuage.
password Les arguments username et password spécifient vos données d'identification pour le service en nuage.
user_ocid Spécifie l'OCID de l'utilisateur. Pour plus de détails sur l'obtention de l'OCID de l'utilisateur, voir Où obtenir l'OCID de la location et l'OCID de l'utilisateur.
tenancy_ocid Spécifie l'OCID de la location. Pour plus de détails sur l'obtention de l'OCID de la location, voir Où obtenir l'OCID de la location et l'OCID de l'utilisateur.
private_key Spécifie la clé privée générée. Les clés privées générées avec une phrase secrète ne sont pas prises en charge. Vous devez générer la clé privée sans phrase secrète. Pour plus de détails sur la génération d'une paire de clés au format PEM, voir Comment générer une clé de signature d'API.
fingerprint Spécifie une empreinte numérique. Une fois qu'une clé publique générée est chargée dans le compte de l'utilisateur, l'empreinte numérique s'affiche dans la console. Utilisez l'empreinte numérique affichée pour cet argument. Pour plus d'informations, voir Comment obtenir l'empreinte numérique de la clé et Comment générer une clé de signature d'API.

Notes d'utilisation

Données d'identification Oracle Cloud Infrastructure (jetons d'authentification)

Pour Oracle Cloud Infrastructure, username est votre nom d'utilisateur Oracle Cloud Infrastructure. password est votre jeton d'authentification Oracle Cloud Infrastructure. Voir Utilisation de jetons d'authentification.

Par exemple :

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

Utilisez des données d'identification basées sur un jeton d'authentification lorsque vous authentifiez des appels au service de stockage d'objets pour OCI. Pour les appels à tout autre type de service Oracle Cloud Infrastructure Cloud, utilisez les données d'identification basées sur une clé de signature Oracle Cloud Infrastructure.

Données d'identification basées sur une clé de signature pour Oracle Cloud Infrastructure

Utilisez les paramètres liés à la clé de signature Oracle Cloud Infrastructure, notamment : user_ocid, tenancy_ocid, private_key et fingerprint avec l'authentification par clés de signature Oracle Cloud Infrastructure.

Par exemple :

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;
/

Les clés privées générées avec une phrase secrète ne sont pas prises en charge. Vous devez générer la clé privée sans phrase secrète. Pour plus d'informations, voir Comment générer une clé de signature d'API.

Données d'identification Amazon Web Services (AWS)

Si vos fichiers sources résident dans Amazon S3 ou que vous appelez une API AWS, username est votre ID de clé d'accès AWS et password est votre clé d'accès secrète AWS. Voir Gestion des identités et des accès AWS.

Données d'identification Microsoft Azure

Si vos fichiers sources résident dans le service Azure Blob Storage ou que vous appelez une API Azure, username est votre nom de compte de stockage Azure et password est une clé d'accès à un compte de stockage Azure. Voir À propos des comptes de stockage Azure.

Données d'identification compatibles avec Amazon S3

Service Informations sur les données d'identification
Google Cloud Storage

Si vos fichiers sources résident dans Google Cloud Storage ou que vous appelez des API Google Cloud Storage, vous devez définir un projet Google par défaut et obtenir une clé HMAC pour créer des données d'identification à fournir avec les URL Google Cloud Storage compatibles avec S3. Utilisez l'ID de clé HMAC comme nom d'utilisateur et la clé secrète HMAC comme mot de passe.

Pour plus d'informations, voir Projets et Clés HMAC.

Gérer les données d'identification DBMS_CLOUD pour l'authentification dans le stockage d'objets C3

Vous pouvez utiliser la procédure DBMS_CLOUD.CREATE_CREDENTIAL pour fournir à la base de données IA autonome les informations d'authentification requises pour la connexion au seau de stockage d'objets C3. Utilisez les paramètres liés à la clé de signature Oracle Cloud Infrastructure, notamment user_ocid, tenancy_ocid, private_key et fingerprint avec l'authentification par clés de signature Oracle Cloud Infrastructure.

Par exemple,

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;
/

Procédure DROP_CREDENTIAL

Cette procédure supprime les données d'identification existantes de la base de données Autonomous AI Database.

Syntaxe

DBMS_CLOUD.DROP_CREDENTIAL (
   credential_name     IN VARCHAR2);

Paramètres

Paramètre Description
credential_name Nom des données d'identification à supprimer.

Procédure UPDATE_CREDENTIAL

Cette procédure met à jour un attribut avec une nouvelle valeur pour credential_name spécifié.

Utilisez les données d'identification stockées pour le chargement des données, pour l'interrogation de données externes résidant dans le nuage ou partout où vous utilisez des procédures DBMS_CLOUD avec un paramètre credential_name.

Syntaxe

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

Paramètres

Paramètre Description
credential_name Nom des données d'identification à mettre à jour.
attribute

Nom de l'attribut à mettre à jour.

Pour les données d'identification de type nom d'utilisateur/mot de passe, les valeurs attribute valides sont les suivantes : USERNAME et PASSWORD.

Pour plus d'informations, voir Procédure CREATE_CREDENTIAL.

value Nouvelle valeur pour l'attribut spécifié.

Notes d'utilisation

Exemples

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;
/

Contenu connexe