Comment gérer les secrets à l'aide d'AWS Secrets Manager et de RDS ?

Comment Gerer Les Secrets A L Aide D Aws Secrets Manager Et De Rds



Amazon Relational Database est l'un des services de base de données relationnelles les plus faciles et les plus simples à exploiter et à exécuter des requêtes complexes. Suivant la syntaxe des requêtes SQL, ce service d'AWS est plus rapide que les bases de données traditionnelles et met automatiquement à l'échelle la base de données en fonction des exigences de l'application. Avec AWS RDS, il n'est plus nécessaire de configurer le matériel de manière personnalisée ou de configurer le logiciel pour exécuter les requêtes.

Cet article montre comment gérer les secrets à l'aide d'AWS Secrets Manager et de RDS.

Qu'est-ce qu'un gestionnaire de secrets ?

Des menaces à la sécurité et des problèmes de confidentialité ont également été soulevés par des experts et des personnes du monde entier. Pour protéger vos secrets numériques tels que les informations d'identification de base de données, l'API et les jetons, AWS Secret Manager est votre outil incontournable à cet effet.





AWS Secret Manager aide les entreprises et les organisations à protéger leurs ressources et services contre les intentions malveillantes et les cyberattaques visant à détourner ou voler des données sensibles. Ce service ajoute une couche de sécurité supplémentaire aux ressources et vous permet de faire évoluer et de gérer facilement les secrets.



Comment gérer les secrets à l'aide d'AWS Secret Manager et de RDS ?

Chaque fois qu'un utilisateur configure le cluster RDS, il requiert des informations sur la région, le nom d'utilisateur et le mot de passe du cluster et l'identifie à l'aide d'un identifiant unique du cluster. L'intégration du RDS avec Secret Manager vous permettra de protéger vos informations d'identification RDS et de les gérer en conséquence.



En utilisant Secret Manager, vous pouvez définir le cycle de vie de ces secrets et les intégrer à d'autres ressources. Ici, dans cet article, nous ajouterons AWS Secret Manager avec la fonction Lambda à notre cluster RDS.





Voici quelques étapes à cet effet :

Étape 1 : Créer un cluster RDS

Le Secret Manager est largement utilisé pour protéger les informations d'identification de la base de données. La première étape consiste donc à créer un cluster RDS. A cet effet, référez-vous à cet article : « Comment créer un cluster RDS sur AWS ? ». Nous avons le cluster RDS opérationnel :



Étape 2 : AWS Secret Manager

Sur AWS Management Console, recherchez et sélectionnez le «  Gestionnaire de secrets » :

Sur l'interface Secret Manager, cliquez sur le « Stockez un nouveau secret » bouton:

Dans le Type secret , sélectionnez le « Identifiants pour la base de données Amazon RDS » option car nous la configurons pour le RDS :

Vient ensuite le Informations d'identification section. Dans cette section, fournissez le Nom d'utilisateur et Mot de passe pour la base de données RDS que nous venons de créer :

Dans le Clé de cryptage , l'utilisateur peut soit utiliser celui par défaut fourni par AWS Secret Manager, soit en créer un nouveau en cliquant sur le bouton 'Ajouter une nouvelle clé' option. De même, dans le Base de données section, sélectionnez la « Instance de base de données » que vous avez créé et appuyez sur le 'Suivant' bouton:

Donnez un nom unique au 'Secrète' cela nous aidera à l’identifier plus tard. La description est facultative. Cependant, l'utilisateur peut également fournir une description personnalisée ici :

Sur l'interface , le Secret Manager nous offre également la possibilité de reproduire le secret. Pour cela, sélectionnez une région dans laquelle vous souhaitez créer la réplication. Dans cette démo, nous n'avons besoin d'aucune réplication, donc en gardant le reste des paramètres par défaut, appuyez sur le bouton 'Suivant' bouton:

En gardant la valeur par défaut, nous examinons et modifions maintenant les informations. Après avoir confirmé les informations fournies, cliquez sur le 'Magasin' bouton pour créer et stocker le secret :

Ici, le secret est créé avec succès . Clique sur le ' Nom du secret » pour visualiser ses configurations :

En faisant défiler l’interface, nous aurons la section Exemple de code. Dans cette section, un code est généré par le Gestionnaire secret. Copiez ce code car il sera utilisé dans le Fonction Lambda :

// Utilisez cet extrait de code dans votre application.
// Si tu as besoin plus Pour plus d'informations sur les configurations ou la mise en œuvre de l'exemple de code, consultez la documentation AWS :
// https : // docs.aws.amazon.com / sdk-pour-javascript / v3 / guide du développeur / commencer.html

importer {
Client SecretsManager,
GetSecretValueCommand,
} depuis '@aws-sdk/client-secrets-manager' ;

const nom_secret = 'monsecret1/sh' ;

const client = nouveau SecretsManagerClient ( {
région: 'ap-sud-est-1' ,
} ) ;

laisser réponse;

essayer {
réponse = attendre client.envoyer (
nouvelle commande GetSecretValueCommand ( {
ID secret : nom_secret,
Étape de version : 'AWSCURRENT' , // VersionStage est par défaut AWSCURRENT si non spécifié
} )
) ;
} attraper ( erreur ) {
// Pour une liste des exceptions levées, voir
// https : // docs.aws.amazon.com / gestionnaire de secrets / dernier / apiréférence /
API_GetSecretValue.html
erreur de lancement ;
}

const secret = réponse.SecretString ;

// Votre code va ici

Étape 3 : Créer une fonction Lambda

Sur l'interface de la fonction Lambda, cliquez sur le bouton « Créer une fonction ' bouton:

Clique sur le «Auteur à partir de zéro» option du 'Créer une fonction' interface:

Ensuite, nous nous dirigeons vers le 'Informations de base' section. Fournissez le nom de la fonction dans le « Nom de la fonction » champ, puis fournissez le 'Durée' environnement. Ici, nous avons sélectionné le 'Node.js 16.x' dans le champ Runtime :

Clique sur le 'Créer une fonction' bouton:

Ici, nous avons collé le code généré par le Gestionnaire de secrets . Après avoir collé le code, cliquez sur le 'Déployer' bouton:

Après avoir déployé toutes les modifications, cliquez sur le 'Configuration' onglet pour autoriser les autorisations pour Secret Manager :

Clique sur le 'Autorisations' option du 'Configurations' languette. Cela affichera le «  Rôle d'exécution » interface et cliquez sur le lien suivant sous le 'Nom de rôle' champ:

Dans le « Politiques d'autorisations » section, cliquez sur le 'Ajouter des autorisations' bouton. Dans le menu déroulant, cliquez sur 'Joindre les politiques' option:

Dans le 'Autres politiques d'autorisations' section, recherchez et sélectionnez le « SecretsManagerReadWrite » option. Frappez le 'Ajouter des autorisations' bouton:

Ici, la stratégie a été attachée et configurée avec succès :

Étape 4 : Vérifiez l'accès secret

Accédez maintenant à l'interface du tableau de bord Lambda. Clique sur le 'Test' languette:

Sur l'interface suivante, fournissez un nom pour l'événement de test dans le champ 'Nom de l'événement' champ. Clique sur le 'Sauvegarder' bouton pour appliquer les configurations :

Ici, le test a été configuré avec succès. Clique sur le 'Test' bouton:

Ici, nous allons cliquer sur le 'Test' à nouveau sur le bouton, et il affichera la sortie suivante :

C'est tout de ce guide.

Conclusion

Pour gérer les secrets dans Secret Manager, créez le cluster RDS, attachez-le à Secret Manager, puis exécutez ce code dans la fonction Lambda configurée. La fonction Lambda définira si le secret est accessible ou non en exécutant le code qui contient la spécification du cluster RDS. Cet article est un guide étape par étape pour gérer les secrets à l'aide d'AWS Secret Manager et de RDS.