Utilisation d'informations d'identification de clé secrète de coffre avec AWS Secrets Manager

Décrit à l'aide des informations d'identification de clé secrète de coffre, où la clé secrète d'identification (mot de passe) est stockée dans AWS Secrets Manager.

Vous pouvez utiliser des informations d'identification de clé secrète de coffre pour accéder aux ressources cloud, pour accéder à d'autres bases de données avec des liens de base de données ou pour utiliser les informations d'identification de type nom utilisateur/mot de passe requises.

Prérequis pour la création d'informations d'identification de clé secrète de coffre avec AWS Secrets Manager

Décrit les prérequis nécessaires pour utiliser les informations d'identification de clé secrète de coffre avec AWS Secrets Manager.

Pour créer des informations d'identification de clé secrète de coffre dans lesquelles la clé secrète est stockée dans AWS Secrets Manager, effectuez d'abord les prérequis requis.

  1. Créez une clé secrète avec AWS Secrets Manager et copiez la clé secrète AWS ARN.

    Pour plus d'informations, reportez-vous à Gestionnaire de clés secrètes AWS.

  2. Exécutez les prérequis de gestion AWS pour utiliser des noms de ressource Amazon (ARN).
  3. Activez l'authentification du principal AWS pour fournir l'accès à la clé secrète dans AWS Secrets Manager.

    Par exemple, sur l'exécution de l'instance Autonomous Database :

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

    Pour plus d'informations, reportez-vous à Procédure ENABLE_PRINCIPAL_AUTH et à A propos de l'utilisation des noms de ressource Amazon pour accéder aux ressources AWS.

  4. Configurez AWS pour fournir des droits d'accès aux noms de ressource Amazon (ARN) afin d'accéder à la clé secrète dans AWS Secrets Manager.

    Sur la console AWS, vous devez accorder l'accès en lecture à la clé secrète aux informations d'identification d'authentification du principal.

    1. Dans la console AWS, accédez à IAM et sélectionnez Rôles dans Access Management.
    2. Sélectionnez le rôle.
    3. Dans l'onglet Droit d'accès, cliquez sur Ajouter des droits d'accèsCréer une stratégie intégrée.
    4. Dans la section Service, sélectionnez le service secret manager.
    5. Dans la section Action, sélectionnez le niveau d'accès Lire.
    6. Dans la section Ressources, cliquez sur Ajouter un numéro ARN, indiquez le numéro ARN de la clé secrète et cliquez sur Ajouter → cliquez sur Vérifier la stratégie → indiquez un nom de stratégie → cliquez sur Créer une stratégie.
    7. Revenez à l'onglet Permission, vérifiez que la stratégie en ligne est attachée.

Création d'informations d'identification de clé secrète de coffre avec AWS Secrets Manager

Décrit les étapes à suivre pour utiliser une clé secrète AWS Secrets Manager avec des informations d'identification.

Vous pouvez ainsi stocker une clé secrète dans AWS Secrets Manager et l'utiliser avec les informations d'identification que vous créez pour accéder aux ressources cloud ou à d'autres bases de données.

Pour créer des informations d'identification de clé secrète de coffre dans lesquelles la clé secrète est stockée dans AWS Secrets Manager, procédez comme suit :

  1. Créez une clé secrète dans AWS Secrets Manager et créez une stratégie en ligne pour permettre à votre instance Autonomous Database d'accéder aux clés secrètes dans AWS Secrets Manager.
  2. Utilisez DBMS_CLOUD.CREATE_CREDENTIAL pour créer des informations d'identification de clé secrète de coffre afin d'accéder à la clé secrète AWS Secrets Manager.

    Par exemple :

    BEGIN DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name      => 'AWS_SECRET_CRED',
        params               => JSON_OBJECT( 
             'username'   value 'access_key',
             'secret_id'  value 'arn:aws:secretsmanager:region:account-ID:secret:secret_name' ));
    END;
    /

    Où :

    • username : nom utilisateur des informations d'identification d'origine. Il peut s'agir du nom utilisateur de tout type d'informations d'identification de nom utilisateur/mot de passe.

    • secret_id : est la clé secrète de coffre AWS ARN.

    Pour créer des informations d'identification de clé secrète de coffre, vous devez disposer du privilège EXECUTE sur le package DBMS_CLOUD.

    Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

  3. Utilisez les informations d'identification pour accéder à une ressource cloud.

    Par exemple :

    SELECT count(*) FROM DBMS_CLOUD.LIST_OBJECTS(
         'AWS_SECRET_CRED', 
         'https://s3-us-west-2.amazonaws.com/adb/' );
Remarque

Toutes les 12 heures, la clé secrète (mot de passe) est actualisée à partir du contenu dans AWS Secrets Manager. Si vous modifiez la valeur de clé secrète dans AWS Secrets Manager, la récupération de la dernière valeur de clé secrète par l'instance Autonomous Database peut prendre jusqu'à 12 heures.

Exécutez DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL pour actualiser immédiatement les informations d'identification de clé secrète de coffre. Cette procédure obtient la dernière version de la clé secrète de coffre à partir d'AWS Secrets Manager. Pour plus d'informations, reportez-vous à Procédure REFRESH_VAULT_CREDENTIAL.