Utiliser des noms de ressource Amazon (ARN) pour accéder aux ressources AWS

Vous pouvez utiliser des noms de ressource Amazon (ARN) pour accéder aux ressources AWS à l'aide d'une base de données IA autonome.

À propos de l'utilisation de noms de ressource Amazon (ARN) pour accéder aux ressources AWS

Lorsque vous utilisez l'authentification basée sur le rôle ARN avec Autonomous AI Database, vous pouvez accéder en toute sécurité aux ressources AWS sans créer et enregistrer des données d'identification basées sur des clés d'accès AWS IAM à long terme.

Par exemple, vous pouvez charger des données à partir d'un seau AWS S3 dans votre base de données Autonomous AI Database, effectuer une opération sur les données, puis réécrire les données modifiées dans le seau S3. Vous pouvez le faire sans utiliser d'ARN si vous disposez de données d'identification d'utilisateur AWS pour accéder au seau S3. Cependant, l'utilisation d'ARN basés sur les rôles pour accéder aux ressources AWS à partir d'Autonomous AI Database présente les avantages suivants :

  • Vous pouvez créer un accès basé sur les rôles, avec différentes politiques pour différents utilisateurs ou schémas qui ont besoin d'accéder aux ressources AWS à partir d'une instance Autonomous AI Database. Cela vous permet de définir une politique pour limiter l'accès aux ressources AWS par rôle. Par exemple, la définition d'une politique limitant l'accès en lecture seule, par rôle, à un seau S3.
  • Les informations d'identification basées sur ARN offrent une meilleure sécurité car vous n'avez pas besoin de fournir des informations d'identification d'utilisateur AWS à long terme dans le code pour accéder aux ressources AWS. Autonomous AI Database gère les données d'identification temporaires générées par l'opération AWS Assume Role.

Étapes de configuration de l'utilisation de l'ARN avec une base de données d'intelligence artificielle autonome

Avant de créer des données d'identification à l'aide d'un ARN dans Autonomous AI Database, dans AWS, l'administrateur de votre compte doit définir une politique qui vous permet d'accéder aux ressources AWS, telles qu'un seau S3. Par défaut, les services de données d'identification ARN ne sont pas activés dans la base de données d'intelligence artificielle autonome. L'utilisateur ADMIN active les données d'identification ARN pour l'utilisateur nécessaire, ce qui lui permet de créer et d'utiliser des données d'identification ARN sur l'instance de base de données IA autonome.

Dans AWS, le rôle ARN est l'identificateur de l'accès fourni et peut être consulté sur la console AWS. Pour plus de sécurité, lorsque l'administrateur AWS configure le rôle, les stratégies et la relation de confiance pour le compte AWS, il doit également configurer un ID externe dans la relation de confiance du rôle.

L'ID externe fournit une protection supplémentaire pour les rôles assumés. L'administrateur AWS configure la configuration de l'ID externe comme l'un des éléments suivants, en fonction de l'instance de base de données Autonomous AI Database :

  • OCID du compartiment

  • OCID de la base de données

  • L'OCID de la location

Sur AWS, le rôle ne peut être assumé que par des utilisateurs approuvés identifiés par l'ID externe inclus dans l'URL de la demande, où l'ID externe fourni dans la demande correspond à l'ID externe configuré dans la relation de confiance du rôle.

Note

La définition de l'ID externe est requise pour la sécurité.

La figure suivante décrit les étapes de configuration :

Description de adb_arn_config_steps.eps :
Description de l'illustration adb_arn_config_steps.eps

Étapes d'utilisation des numéros ARN avec DBMS_CLOUD

Chaque ressource AWS a sa propre identité et la ressource s'authentifie avec l'instance de base de données IA autonome à l'aide des données d'identification DBMS_CLOUD que vous créez avec des paramètres qui identifient l'ARN. Autonomous AI Database crée et sécurise les principales informations d'identification que vous utilisez pour accéder aux ressources AWS.

Pour créer des données d'identification avec des paramètres ARN pour accéder aux ressources AWS :

  1. Effectuez les étapes préalables dans le compte AWS : Dans votre compte AWS, à partir de la console de gestion AWS ou à l'aide de l'interface de ligne de commande, créez les rôles et les politiques pour l'ARN que vous utilisez avec Autonomous AI Database et mettez à jour la relation de confiance pour le rôle. Le numéro ARN de l'utilisateur Oracle est configuré lorsque la relation d'approbation pour le rôle est mise à jour.

    Pour plus d'informations, voir Exécuter les conditions requises de la gestion AWS pour utiliser des noms de ressource Amazon (ARN).

  2. Effectuez les étapes préalables sur Autonomous AI Database : Dans Autonomous AI Database, vous devez permettre à l'utilisateur ADMIN ou à un autre utilisateur d'utiliser des données d'identification avec des paramètres ARN pour accéder aux ressources AWS.

    Pour plus d'informations, voir Exécuter les préalables à l'utilisation d'ARN Amazon pour une base de données autonome sur l'IA.

  3. Créez des données d'identification avec DBMS_CLOUD.CREATE_CREDENTIAL et fournissez les paramètres qui identifient un rôle AWS. En utilisant l'objet de données d'identification, Autonomous AI Database peut accéder aux ressources AWS telles que spécifiées dans les politiques définies pour le rôle dans le compte AWS.

    Voir Créer des données d'identification avec des paramètres ARN pour accéder aux ressources AWS pour plus de détails sur ces étapes.

  4. Utilisez l'objet de données d'identification que vous avez créé à l'étape précédente avec une procédure ou une fonction DBMS_CLOUD qui prend un paramètre de données d'identification, tel que DBMS_CLOUD.COPY_DATA ou DBMS_CLOUD.LIST_OBJECTS.

Opérations de gestion AWS préalables à l'utilisation de noms de ressource Amazon (ARN)

A l'aide de la console de gestion AWS ou à l'aide des API, créez un utilisateur AWS, un rôle, des stratégies et une relation de confiance. Vous effectuez ces étapes avant d'utiliser DBMS_CLOUD.CREATE_CREDENTIAL pour créer des données d'identification avec un paramètre ARN sur une base de données d'intelligence artificielle autonome.

Pour utiliser un ARN pour accéder aux ressources AWS, votre administrateur AWS définit les politiques et un principal qui vous permet d'accéder aux ressources AWS. Par exemple, lors de l'utilisation de la base de données du service d'intelligence artificielle autonome, vous pouvez accéder aux données à partir d'un seau S3, effectuer une opération sur les données, puis réécrire les données modifiées dans le seau S3.

Note

Selon votre configuration AWS existante et l'ID externe que vous utilisez, vous n'avez pas besoin de créer de nouveau rôle et de nouvelle politique pour chaque instance de base de données d'IA autonome. Si vous disposez déjà d'un rôle AWS contenant la politique nécessaire pour accéder à une ressource, par exemple pour accéder au stockage en nuage S3, vous pouvez modifier la relation de confiance pour inclure les détails à l'étape 3. De même, si vous avez déjà un rôle avec la relation de confiance nécessaire, vous pouvez utiliser ce rôle pour accéder à toutes vos bases de données dans un compartiment ou une location OCI si vous utilisez un ID externe qui spécifie l'OCID du compartiment ou de la location.

A partir de la console de gestion AWS ou à l'aide des API, un administrateur AWS effectue les opérations suivantes :

  1. Créer une politique. Dans la politique, vous spécifiez les autorisations d'accès aux ressources AWS telles que les seaux S3.
  2. Créez un rôle et associez la politique au rôle.
    1. Accédez à AWS Management Console et choisissez Identity and Access Management (IAM).
    2. Cliquez sur Créer un rôle.
    3. Sélectionnez Un autre compte AWS.
    4. Entrez votre ID compte.
      Vous l'utilisez comme valeur temporaire. Plus tard, vous remplacez cette valeur par l'ID de compte que vous utilisez pour accéder aux ressources AWS.
    5. Dans la zone Options, sélectionnez Require external ID (Exiger un ID externe) et entrez un ID externe temporaire, par exemple 0000. Vous remplacerez plus tard cet ID externe par une valeur valide.
    6. Cliquez sur Autorisations suivantes pour attacher les politiques que vous avez créées à l'étape 1 ou d'autres politiques à appliquer au rôle.
    7. Cliquez sur Marqueurs suivants et appliquez ou créez des marqueurs selon les besoins pour le rôle.
    8. Cliquez sur Next Review (Examen suivant) et ajoutez un nom de rôle et une description de rôle.
    9. Cliquez sur Créer un rôle.

    Vous utilisez le numéro ARN du rôle avec DBMS_CLOUD.CREATE_CREDENTIAL pour créer des objets de données d'identification avec des paramètres ARN pour accéder aux ressources AWS.

    Pour plus d'informations, voir Création d'un rôle pour déléguer des autorisations à un utilisateur IAM.

  3. Spécifiez une relation de confiance pour le rôle.
    1. Dans la liste Rôles, sous Nom du rôle, sélectionnez le rôle que vous avez créé.
    2. Dans la page Sommaire des rôles pour le rôle sélectionné, sélectionnez l'onglet Relations de confiance.
    3. Dans la relation d'approbation, cliquez sur Modifier la relation d'approbation.
    4. Modifiez la relation d'approbation pour spécifier le paramètre Principal AWS.

      Ce numéro ARN d'utilisateur AWS est disponible dans la vue CLOUD_INTEGRATIONS. Pour plus d'informations, voir Exécuter les préalables à l'utilisation d'ARN Amazon pour une base de données autonome sur l'IA.

    5. Modifiez la relation d'approbation pour spécifier l'ID externe.

      Dans Autonomous AI Database, lorsque vous créez des données d'identification ARN AWS avec DBMS_CLOUD.CREATE_CREDENTIAL ou lorsque vous activez AWS ARN avec DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH, la valeur par défaut du paramètre external_id_type est database_ocid. Facultativement, vous pouvez régler la valeur external_id_type à l'une des valeurs prises en charge : database_ocid, compartment_ocid ou tenant_ocid.

      Lorsque vous utilisez l'OCID de la base de données comme ID externe, la relation d'approbation de la politique ne fait confiance qu'à l'instance de base de données de l'IA autonome spécifiée avec l'OCID. Si vous utilisez un OCID de compartiment, la relation d'approbation de la politique fait confiance à toutes les instances de base de données d'IA autonome du compartiment et vous pouvez utiliser le même rôle ARN pour accorder l'accès aux ressources AWS à toute base de données d'IA autonome du compartiment spécifié. De même, si vous utilisez l'OCID de la location, vous pouvez utiliser le même rôle ARN pour accorder l'accès aux ressources AWS à toute base de données IA autonome dans la location spécifiée.

      Auparavant, à l'étape 2, vous régliez l'ID externe de la relation d'approbation à la valeur temporaire 0000.

      Sur AWS, vous configurez la valeur de l'ID externe de la relation d'approbation pour qu'elle corresponde à l'un des éléments suivants :

      • Lorsque le type external_id_type est database_ocid, sur AWS, vous configurez l'ID externe de la relation d'approbation du rôle en tant qu'OCID de base de données.

        L'OCID de la base de données est disponible en exécutant l'interrogation suivante :

        SELECT cloud_identity FROM v$pdbs;

        Pour plus d'informations, voir Obtenir les détails de la location.

      • Lorsque le type external_id_type est compartment_ocid, sur AWS, vous configurez l'ID externe de la relation d'approbation du rôle en tant qu'OCID du compartiment.

        L'OCID du compartiment est disponible dans la page des détails du compartiment à partir de la console Oracle Cloud Infrastructure. Pour trouver la page des détails du compartiment, dans le menu de navigation de gauche d'Oracle Cloud Infrastructure, cliquez sur Identité et sécurité, puis sélectionnez Compartiments. Sélectionnez le compartiment qui contient l'instance de base de données du service d'intelligence artificielle autonome pour voir l'ID compartiment.

      • Lorsque le type external_id_type est tenant_ocid, sur AWS, vous configurez l'ID externe de la relation d'approbation du rôle en tant qu'OCID de la location.

        L'OCID de la location est disponible dans la page des détails de la location à partir de la console Oracle Cloud Infrastructure. Pour trouver la page des détails de la location, dans le menu de navigation de gauche d'Oracle Cloud Infrastructure, cliquez sur Gouvernance et administration, puis sélectionnez Détails de la location. L'onglet Informations sur la location affiche l'OCID de la location.

      • Lorsque vous définissez la valeur de ExternalID, par défaut, la valeur de l'OCID doit être en majuscules. Si vous voulez fournir l'OCID en minuscules, réglez la condition "StringEqualsIgnoreCase" au lieu de "StringEquals" dans le fichier JSON lorsque vous modifiez la relation de confiance.

      Description de arn_aws_create_role_aws_trust_final.png :
      Description de l'illustration arn_aws_create_role_aws_trust_final.png

Une fois la configuration du rôle ARN terminée, vous pouvez activer ARN sur l'instance. Pour plus d'informations, voir Exécuter les préalables à l'utilisation d'ARN Amazon pour une base de données autonome sur l'IA.

Effectuer les préalables pour une base de données autonome avec intelligence artificielle afin d'utiliser des réseaux ARN Amazon

Avant d'utiliser une ressource AWS avec DBMS_CLOUD.CREATE_CREDENTIAL avec un paramètre ARN, l'utilisateur ADMIN doit activer ARN sur l'instance de base de données IA autonome.

Par défaut, les services de données d'identification ARN ne sont pas activés dans la base de données d'intelligence artificielle autonome. L'utilisateur ADMIN exécute la procédure DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH pour permettre à l'utilisateur ADMIN ou à d'autres utilisateurs de créer des données d'identification avec des paramètres ARN.

  1. Activer l'utilisation des données d'identification ARN sur l'instance de base de données autonome avec intelligence artificielle.
    BEGIN
        DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
            username => 'adb_user',
            params => JSON_OBJECT( 
                    'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN'));
    END;
    /
    

    Si vous voulez que l'utilisateur spécifié dispose de privilèges pour activer les données d'identification ARN pour les autres utilisateurs, réglez le paramètre params grant_option à TRUE.

    Exemple :

    BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
         username => 'adb_user',
         params => JSON_OBJECT(
                         'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN',
                         'grant_option' value TRUE ));
    END;
    /

    Après avoir exécuté cette commande, adb_user dispose des privilèges permettant d'activer les données d'identification ARN pour d'autres utilisateurs.

    Par exemple, si vous êtes connecté en tant que adb_user, vous pouvez exécuter la commande suivante :

    BEGIN
        DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
            username => 'adb_user2'); 
    END;
    /
    

    Pour plus d'informations, voir ProcédureENABLE_PRINCIPAL_AUTH.

  2. Interrogez la vue CLOUD_INTEGRATIONS pour obtenir le numéro ARN d'utilisateur AWS d'Oracle.
    SELECT param_value FROM CLOUD_INTEGRATIONS
            WHERE param_name = 'aws_user_arn';
    
    PARAM_VALUE
    --------------------------------------------  
    arn:aws:iam::account-ID:user/username

    La vue CLOUD_INTEGRATIONS est disponible pour l'utilisateur ADMIN ou pour un utilisateur doté des privilèges DWROLE.

    L'administrateur AWS utilise la valeur aws_user_arn lors de la configuration de la relation de confiance du rôle AWS avec le rôle et les politiques sur le système AWS. Cette valeur permet à DBMS_CLOUD d'accéder aux ressources AWS.

Après avoir activé ARN sur l'instance de base de données d'intelligence artificielle autonome en exécutant DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH, les données d'identification nommées AWS$ARN peuvent être utilisées avec toute API DBMS_CLOUD qui utilise des données d'identification comme entrée. À l'exception des données d'identification nommées AWS$ARN, vous pouvez également créer des données d'identification supplémentaires avec des paramètres ARN pour accéder aux ressources AWS. Pour plus d'informations, voir Créer des données d'identification avec des paramètres ARN pour accéder aux ressources AWS.

Créer des données d'identification avec des paramètres de noms de ressource Amazon pour accéder aux ressources AWS

Une fois que l'utilisation ARN est activée pour l'instance de base de données d'IA autonome et que l'ARN est configuré par l'administrateur AWS, sur la base de données d'IA autonome, vous pouvez créer un objet de données d'identification avec des paramètres ARN.

Autonomous AI Database crée et sécurise les données d'identification principales que vous utilisez pour accéder aux ressources Amazon lorsque vous fournissez l'objet de données d'identification avec des procédures et des fonctions DBMS_CLOUD.

Pour utiliser les ressources Amazon avec Autonomous AI Database, procédez de la façon suivante :

  1. Créez des données d'identification à l'aide de la procédure DBMS_CLOUD.CREATE_CREDENTIAL avec le paramètre params pour spécifier la valeur ARN. Exemple :
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_ARN',
        params =>
            JSON_OBJECT('aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN',                                            
                        'external_id_type' value 'database_ocid')
      );
    END;
    /

    Cette opération crée les données d'identification dans la base de données dans un format chiffré. Vous pouvez utiliser n'importe quel nom pour les données d'identification.

    Pour des informations détaillées sur les paramètres, voir ProcédureCREATE_CREDENTIAL.

  2. Utilisez une procédure DBMS_CLOUD pour accéder à une ressource Amazon avec les données d'identification ARN.

    Par exemple, utilisez DBMS_CLOUD.LIST_OBJECTS.

    SELECT object_name FROM DBMS_CLOUD.LIST_OBJECTS(
               credential_name => 'DEF_CRED_ARN',
               location_uri    => 'https://my-bucket.s3.us-west-2.amazonaws.com/');

Mettre à jour les données d'identification avec des paramètres de noms de ressource ARN pour les ressources AWS

Les données d'identification ARN que vous utilisez sur Autonomous AI Database fonctionnent avec le service de jeton AWS qui vous permet d'utiliser des données d'identification basées sur des rôles temporaires pour accéder aux ressources AWS à partir d'Autonomous AI Database.

Lorsqu'un administrateur AWS révoque les stratégies, les rôles ou la relation d'approbation, vous devez mettre à jour les données d'identification ou créer de nouvelles données d'identification pour accéder aux ressources AWS.

Pour mettre à jour les données d'identification :

  1. Utilisez DBMS_CLOUD.UPDATE_CREDENTIAL pour mettre à jour des données d'identification basées sur ARN pour fournir une nouvelle valeur ARN.
    BEGIN
      DBMS_CLOUD.UPDATE_CREDENTIAL(
         credential_name => 'DEF_CRED_ARN',
         attribute => 'aws_role_arn',
         value => 'new_ARN_value'); 
    END;
    /

    Cette action met à jour l'attribut aws_role_arn avec la nouvelle valeur new_ARN_value pour les données d'identification nommées DEF_CRED_ARN.

  2. Utilisez DBMS_CLOUD.UPDATE_CREDENTIAL pour mettre à jour des données d'identification basées sur ARN afin de mettre à jour la valeur de l'attribut external_id_type.
    BEGIN
      DBMS_CLOUD.UPDATE_CREDENTIAL(
         credential_name => 'DEF_CRED_ARN',
         attribute => 'external_id_type',
         value => 'compartment_ocid'); 
    END;
    /

    Cette action met à jour la valeur de l'attribut external_id_type à la valeur compartment_ocid.

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