Utiliser un principal de ressource pour accéder aux ressources Oracle Cloud Infrastructure

Vous pouvez utiliser un principal de ressource Oracle Cloud Infrastructure avec Autonomous AI Database. Vous ou l'administrateur de votre location définissez les politiques Oracle Cloud Infrastructure et un groupe dynamique qui vous permet d'accéder aux ressources Oracle Cloud Infrastructure avec un principal de ressource. Vous n'avez pas besoin de créer d'objet de données d'identification et Autonomous AI Database crée et sécurise les données d'identification de principal de ressource que vous utilisez pour accéder aux ressources Oracle Cloud Infrastructure spécifiées.

À propos de l'utilisation d'un principal de ressource pour accéder aux ressources Oracle Cloud Infrastructure

Vous pouvez utiliser un principal de ressource pour authentifier les ressources Oracle Cloud Infrastructure et y accéder.

Un principal de ressource se compose d'un jeton de session temporaire et de données d'identification sécurisées qui permettent à la base de données de s'authentifier auprès d'autres services Oracle Cloud Infrastructure. À l'aide d'un principal de ressource pour accéder aux services, le jeton stocké avec les données d'identification de la base de données IA autonome n'est valide que pour les ressources auxquelles le groupe dynamique a accès.

Pour utiliser le principal de ressource, vous ou l'administrateur de votre location définissez les politiques Oracle Cloud Infrastructure et un groupe dynamique qui vous permet d'accéder aux ressources Oracle Cloud Infrastructure avec un principal de ressource. Vous n'avez pas besoin de créer d'objet de données d'identification et Autonomous AI Database crée et sécurise les données d'identification de principal de ressource que vous utilisez pour accéder aux ressources Oracle Cloud Infrastructure spécifiées.

Par exemple, lors de l'utilisation d'une base de données autonome avec intelligence artificielle, vous pouvez utiliser les ressources Oracle Cloud Infrastructure pour effectuer les opérations suivantes :

  • Accéder aux données d'un seau de stockage d'objets, effectuer une opération sur les données, puis écrire les données modifiées dans le seau de stockage d'objets.
  • Accédez à vos chambres fortes, clés ou clés secrètes.

  • Répertoriez les demandes de travail ou les erreurs de demande de travail.

Lorsque vous utilisez la base de données, vous authentifiez celle-ci et y accédez en tant qu'utilisateur. Un utilisateur de base de données d'IA autonome n'a pas d'identité Oracle Cloud Infrastructure Identity and Access Management (IAM), de sorte qu'en tant qu'utilisateur de base de données d'IA autonome, vous ne pouvez pas utiliser vos données d'identification de base de données pour accéder aux services Oracle Cloud Infrastructure. Sans principal de ressource, vous devez obtenir des données d'identification pour accéder aux ressources Oracle Cloud Infrastructure et créer un objet de données d'identification pour accéder à une ressource à partir d'une base de données d'intelligence artificielle autonome.

Un principal de ressource permet aux ressources d'être autorisées à effectuer des actions sur les services Oracle Cloud Infrastructure. Chaque ressource possède sa propre identité et elle s'authentifie à l'aide des certificats qui y sont ajoutés. Ces certificats sont créés automatiquement, affectés aux ressources et soumis à une rotation, ce qui vous évite d'avoir à créer et à gérer vos propres données d'identification pour accéder à la ressource.

Autonomous AI Database vous permet d'utiliser un principal de ressource pour vous authentifier auprès des API Oracle Cloud Infrastructure à l'aide des interfaces suivantes :

  • Procédures et fonctions DBMS_CLOUD qui prennent un argument de données d'identification
  • API de trousse SDK PL/SQL pour Oracle Cloud Infrastructure

Lorsque vous procédez à l'authentification à l'aide d'un principal de ressource, Autonomous AI Database fournit une méthode sécurisée pour accéder aux ressources Oracle Cloud Infrastructure.

Plusieurs étapes sont requises pour configurer un principal de ressource sur une base de données autonome avec intelligence artificielle :

Lorsque vous procédez à l'authentification à l'aide d'un principal de ressource, vous n'avez pas besoin de créer ni de gérer des données d'identification pour accéder aux ressources Oracle Cloud Infrastructure. Autonomous AI Database met le principal de ressource à votre disposition et le sécurise pour vous.

Exécuter les préalables pour utiliser le principal de ressource avec une base de données autonome avec intelligence artificielle

Avant d'appeler une ressource Oracle Cloud Infrastructure à l'aide d'un principal de ressource, un administrateur de location Oracle Cloud Infrastructure doit créer des politiques, des groupes dynamiques et des règles Oracle Cloud Infrastructure qui définissent les privilèges du principal de ressource.

Effectuez les étapes suivantes avant d'utiliser un principal de ressource avec Autonomous AI Database :

  1. Créez un groupe dynamique Oracle Cloud Infrastructure.
    1. Dans la console Oracle Cloud Infrastructure, cliquez sur Identité et sécurité, puis cliquez sur Groupes dynamiques
    2. Cliquez sur Créer un groupe dynamique et entrez un nom, une description et une règle ou utilisez le générateur de règles pour ajouter une règle.
    3. Cliquez sur Créer.

    Les ressources qui répondent aux critères de la règle sont membres du groupe dynamique. Lorsque vous définissez une règle pour un groupe dynamique, considérez quelle ressource va avoir accès à d'autres ressources.

    Prenons par exemple les exemples suivants :

    • Autoriser une instance de base de données autonome spécifique à accéder à une ressource.

      La base de données d'intelligence artificielle autonome est spécifiée dans le paramètre resource.id avec un OCID :

      resource.id = 'your_Autonomous_Database_instance_OCID'

      Vous devez ajouter un nom de domaine lorsque la location utilise un domaine d'identité. Exemple :

      resource.id = 'identity_domain_name/your_Autonomous_Database_instance_OCID'
    • Autoriser toutes les bases de données autonomes d'IA d'un compartiment.

      Les bases de données d'intelligence artificielle autonomes sont spécifiées dans le paramètre resource.type et le compartiment est identifié par un OCID spécifié dans le paramètre resource.compartment.id :

      ALL {resource.type = 'autonomousdatabase', resource.compartment.id = 'your_Compartment_OCID'}
    • Autoriser toutes les ressources du compartiment

      Type de ressource identifié par l'OCID, spécifié dans le paramètre resource.compartment.id :

      ALL
              {resource.compartment.id='your_Compartment_OCID'}

    Voir Gestion des groupes dynamiques pour plus d'informations sur la création d'un groupe dynamique et sur la création de règles pour ajouter des ressources au groupe.

  2. Écrivez des énoncés de politique pour le groupe dynamique afin de permettre l'accès aux ressources Oracle Cloud Infrastructure.
    1. Dans la console Oracle Cloud Infrastructure, cliquez sur Identité et sécurité, puis cliquez sur Politiques.
    2. Pour écrire des politiques pour un groupe dynamique, cliquez sur Créer une politique et entrez un nom et une description.
    3. Utilisez le générateur de politiques pour créer une politique.

      Par exemple, pour créer une politique autorisant l'accès au magasin d'objets Oracle Cloud Infrastructure à gérer les seaux et les objets dans le magasin d'objets d'une location :

      Allow dynamic-group Example5 to manage buckets in tenancy
      Allow dynamic-group Example5 to manage objects in tenancy

      Vous devez ajouter un nom de domaine lorsque la location utilise un domaine d'identité. Exemple :

      Allow dynamic-group identity_domain_name/Example5 to manage buckets in tenancy
      Allow dynamic-group identity_domain_name/Example5 to manage objects in tenancy
    4. Cliquez sur Créer.
Note

Le jeton du principal de ressources est mis en mémoire cache pendant deux heures. Par conséquent, si vous modifiez la politique ou le groupe dynamique, vous devez attendre deux heures pour voir l'effet de vos modifications.

Pour plus d'informations sur les politiques, voir Fonctionnement des politiques et Gestion des politiques.

Activer un principal de ressource pour accéder aux ressources Oracle Cloud Infrastructure

Effectuez les étapes suivantes pour activer le principal de ressource sur la base de données d'IA autonome. Cela permet à la base de données de s'authentifier et d'accéder aux ressources OCI en toute sécurité.

Vous devez au préalable configurer des groupes et des politiques dynamiques. Pour plus d'informations, voir Exécuter les conditions requises pour utiliser le principal de ressource avec une base de données autonome basée sur l'IA.

Pour activer un principal de ressource dans une base de données d'intelligence artificielle autonome :

  1. En tant qu'utilisateur ADMIN, activez le principal de ressource pour l'instance de base de données du service d'intelligence artificielle autonome.

    Exemple :

    EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL();
    
    PL/SQL procedure successfully completed. 
    
    Pour plus d'informations, voir ProcédureENABLE_RESOURCE_PRINCIPAL.

    Cela crée les données d'identification OCI$RESOURCE_PRINCIPAL.

  2. (Facultatif) Cette étape n'est requise que si vous voulez accorder l'accès aux données d'identification du principal de ressource à un utilisateur de base de données autre que l'utilisateur ADMIN. En tant qu'utilisateur ADMIN, activez le principal de ressource pour un utilisateur de base de données spécifié.

    Exemple :

    EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => 'adb_user');
    
    PL/SQL procedure successfully completed. 
    

    L'utilisateur adb_user a ainsi accès aux données d'identification OCI$RESOURCE_PRINCIPAL.

    Si vous voulez que l'utilisateur spécifié dispose de privilèges pour activer le principal de ressource pour les autres utilisateurs, réglez le paramètre grant_option à TRUE.

    Exemple :

    BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(
         username => 'adb_user',
         grant_option => TRUE);
    END;
    /

    Après avoir exécuté cette commande, adb_user peut activer le principal de ressource pour un autre utilisateur. Par exemple, si vous êtes connecté en tant que adb_user, vous pouvez exécuter la commande suivante :

    EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => 'adb_user2');
    
    Pour plus d'informations, voir ProcédureENABLE_RESOURCE_PRINCIPAL.
  3. Vérifiez que les données d'identification du principal de ressource sont activées.

    Par exemple, lorsque l'utilisateur ADMIN interroge la vue DBA_CREDENTIALS :

    SELECT owner, credential_name FROM dba_credentials 
            WHERE credential_name = 'OCI$RESOURCE_PRINCIPAL' AND owner = 'ADMIN'; 
    
    OWNER  CREDENTIAL_NAME
    -----  ----------------------
    ADMIN  OCI$RESOURCE_PRINCIPAL 
    

    Par exemple, en tant qu'utilisateur non ADMIN, interrogez la vue ALL_TAB_PRIVS :

    SELECT grantee, table_name, grantor FROM ALL_TAB_PRIVS
       WHERE grantee = 'ADB_USER' 
            AND table_name = 'OCI$RESOURCE_PRINCIPAL' 
            AND table_schema = 'ADMIN';
    
    GRANTEE   TABLE_NAME                GRANTOR
    --------- -----------------------   -------------
    ADB_USER  OCI$RESOURCE_PRINCIPAL    ADMIN

L'activation du principal de ressource sur une instance de base de données autonome avec intelligence artificielle est une opération ponctuelle. Vous n'avez pas besoin d'activer de nouveau le principal de ressource, sauf si vous exécutez DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL pour désactiver le principal de ressource.

Désactiver le principal de ressource dans la base de données autonome avec intelligence artificielle

Affiche les étapes de désactivation du principal de ressource pour tous les utilisateurs de la base de données d'intelligence artificielle autonome ou pour un utilisateur spécifié.

  1. Pour désactiver le principal de ressource pour tous les utilisateurs, en tant qu'utilisateur ADMIN, exécutez la commande suivante :
    EXEC DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL();

    Les données d'identification OCI$RESOURCE_PRINCIPAL sont supprimées.

  2. Vérifiez que les données d'identification du principal de ressource sont désactivées.

    Exemple :

    SELECT owner, credential_name FROM dba_credentials 
            WHERE credential_name = 'OCI$RESOURCE_PRINCIPAL' AND owner = 'ADMIN';
    
    No rows selected
    

Pour supprimer l'accès aux données d'identification du principal de ressource pour un utilisateur de base de données spécifié, incluez le paramètre username. Cela refuse l'accès de l'utilisateur spécifié aux données d'identification OCI$RESOURCE_PRINCIPAL.

Exemple :

EXEC DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL(username => 'ADB_USER');

Pour plus d'informations, voir ProcédureDISABLE_RESOURCE_PRINCIPAL.

Utiliser un principal de ressource avec DBMS_CLOUD

Lorsque vous spécifiez des données d'identification de principal de ressource avec des appels DBMS_CLOUD, la base de données authentifie les demandes Oracle Cloud Infrastructure pour vous et la base de données fournit les données d'identification pour accéder aux ressources Oracle Cloud Infrastructure.

Si vous ne l'avez pas encore fait, effectuez les étapes préalables requises :

Pour utiliser une procédure DBMS_CLOUD avec les données d'identification du principal de ressource :

  1. Utilisez une procédure ou une fonction DBMS_CLOUD et spécifiez OCI$RESOURCE_PRINCIPAL comme nom de données d'identification.

    Par exemple, vous pouvez accéder à Oracle Cloud Infrastructure Object Storage à l'aide d'un principal de ressource :

    CREATE TABLE CHANNELS
       (channel_id CHAR(1),
        channel_desc VARCHAR2(20),
        channel_class VARCHAR2(20)
       );
    /
    
    BEGIN
     DBMS_CLOUD.COPY_DATA(
        table_name =>'CHANNELS',
        credential_name =>'OCI$RESOURCE_PRINCIPAL',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/channels.txt',
        format => json_object('delimiter' value ',')
     );
    END;
    /
    

Si vous comparez les étapes requises pour accéder au service de stockage d'objets, comme indiqué sous Créer des données d'identification et copier des données dans une table existante, notez que l'étape 1, la création de données d'identification n'est pas requise lorsque vous utilisez le principal de ressource, car vous utilisez les données d'identification OCI$RESOURCE_PRINCIPAL définies par le système.