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

Décrit l'utilisation d'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 les 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 partout.

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 requis 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, commencez par effectuer les prérequis requis.

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

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

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

    Par exemple, sur l'instance Autonomous Database, exécutez la commande suivante :

    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 un 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électionner le rôle.
    3. Dans l'onglet Autorisation, cliquez sur Ajouter des autorisationsCréer une stratégie en ligne.
    4. Dans la section Service, sélectionnez le service gestionnaire secret.
    5. Dans la section Action, sélectionnez le niveau d'accès Lecture.
    6. Dans la section Ressources, cliquez sur Ajouter un ARN, indiquez un ARN pour la clé secrète et cliquez sur Ajouter → cliquez sur Vérifier la stratégie → donnez un nom de stratégie → cliquez sur Créer une stratégie.
    7. De retour dans 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 du gestionnaire de clés secrètes AWS.

    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 : nom ARN AWS de la clé secrète de coffre.

    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, l'extraction de la dernière valeur de clé secrète peut prendre jusqu'à 12 heures pour l'instance Autonomous Database.

Exécutez DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL pour actualiser immédiatement les informations d'identification de clé secrète du coffre. Cette procédure permet d'obtenir 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.