Wie verwaltet man Geheimnisse mit AWS Secrets Manager und RDS?

Wie Verwaltet Man Geheimnisse Mit Aws Secrets Manager Und Rds



Amazon Relational Database ist einer der relationalen Datenbankdienste, die immer einfacher zu bedienen und komplexe Abfragen auszuführen sind. Dieser Service von AWS folgt der Syntax von SQL-Abfragen, ist schneller als herkömmliche Datenbanken und skaliert die Datenbank automatisch basierend auf den Anforderungen der Anwendung. Mit AWS RDS entfällt die Notwendigkeit, die Hardware individuell einzurichten oder Konfigurationen an der Software vorzunehmen, um die Abfragen auszuführen.

In diesem Artikel wird gezeigt, wie Sie Geheimnisse mit AWS Secrets Manager und RDS verwalten.

Was ist ein Secret Manager?

Sicherheitsbedrohungen und Datenschutzbedenken wurden auch von Experten und Menschen auf der ganzen Welt geäußert. Um Ihre digitalen Geheimnisse wie Datenbankanmeldeinformationen, API und Token zu schützen, ist AWS Secret Manager Ihr bevorzugtes Tool für diesen Zweck.







AWS Secret Manager hilft Unternehmen und Organisationen, ihre Ressourcen und Dienste vor böswilligen Absichten und Cyberangriffen zu schützen, um sensible Daten zu kapern oder zu stehlen. Dieser Dienst fügt den Ressourcen eine zusätzliche Sicherheitsebene hinzu und ermöglicht Ihnen die einfache Skalierung und Verwaltung der Geheimnisse.



Wie verwaltet man Secrets mit AWS Secret Manager und RDS?

Wenn ein Benutzer den RDS-Cluster konfiguriert, benötigt er Informationen über die Region, den Benutzernamen und das Kennwort des Clusters und identifiziert ihn mithilfe einer eindeutigen Kennung des Clusters. Durch die Integration des RDS in den Secret Manager können Sie Ihre RDS-Anmeldeinformationen schützen und entsprechend verwalten.



Mithilfe des Secret Managers können Sie den Lebenszyklus dieser Geheimnisse definieren und sie mit anderen Ressourcen integrieren. Hier in diesem Artikel werden wir AWS Secret Manager mit Lambda-Funktion zu unserem RDS-Cluster hinzufügen.





Nachfolgend finden Sie einige Schritte zu diesem Zweck:

Schritt 1: RDS-Cluster erstellen

Der Secret Manager wird häufig zum Schutz der Datenbankanmeldeinformationen verwendet. Der erste Schritt besteht also darin, einen RDS-Cluster zu erstellen. Lesen Sie hierzu diesen Artikel: „ Wie erstelle ich einen RDS-Cluster auf AWS? “. Wir haben den RDS-Cluster eingerichtet und laufen:



Schritt 2: AWS Secret Manager

Suchen Sie in der AWS-Managementkonsole nach „ Secrets Manager ”:

Klicken Sie auf der Secret Manager-Benutzeroberfläche auf „Speichern Sie ein neues Geheimnis“ Taste:

Im Geheimtyp , wähle aus „Anmeldeinformationen für die Amazon RDS-Datenbank“ Option, da wir sie für das RDS konfigurieren:

Als nächstes kommt das Referenzen Abschnitt. Geben Sie in diesem Abschnitt Folgendes an: Nutzername Und Passwort für die RDS-Datenbank, die wir gerade erstellt haben:

Im Verschlüsselungsschlüssel Im Abschnitt kann der Benutzer entweder die vom AWS Secret Manager bereitgestellte Standardversion verwenden oder eine neue erstellen, indem er auf klickt „Neuen Schlüssel hinzufügen“ Möglichkeit. Ebenso in der Datenbank Abschnitt, wählen Sie die aus „DB-Instanz“ dass du erstellt hast und klicke auf die 'Nächste' Taste:

Geben Sie einen eindeutigen Namen dafür an 'Geheimnis' Das wird uns später helfen, es zu identifizieren. Die Beschreibung ist optional. Der Benutzer kann hier jedoch auch eine individuelle Beschreibung angeben:

Auf der Schnittstelle , Der Secret Manager bietet uns auch die Möglichkeit, das Geheimnis zu reproduzieren. Wählen Sie dazu eine Region aus, in der Sie die Replikation erstellen möchten. In dieser Demo benötigen wir keine Replikation. Tippen Sie daher auf, indem Sie die restlichen Einstellungen als Standard beibehalten 'Nächste' Taste:

Unter Beibehaltung der Standardeinstellung überprüfen und bearbeiten wir nun die Informationen. Nachdem Sie die bereitgestellten Informationen bestätigt haben, klicken Sie auf 'Speichern' Klicken Sie auf die Schaltfläche, um das Geheimnis zu erstellen und zu speichern:

Hier liegt das Geheimnis Erfolgreich erstellt . Klick auf das ' Der Name des Geheimnisses ”, um seine Konfigurationen anzuzeigen:

Wenn wir in der Benutzeroberfläche nach unten scrollen, finden wir den Abschnitt „Beispielcode“. In diesem Abschnitt wird ein Code von generiert Geheimmanager. Kopieren Sie diesen Code so, wie er im verwendet wird Lambda-Funktion:

// Verwenden Sie dieses Code-Snippet In Ihre App.
// Wenn Sie brauchen mehr Informationen zu Konfigurationen oder zur Implementierung des Beispielcodes finden Sie in den AWS-Dokumenten:
// https: // docs.aws.amazon.com / SDK-für-Javascript / v3 / Entwicklerhandbuch / Erste Schritte.html

importieren {
SecretsManagerClient,
GetSecretValueCommand,
} aus „@aws-sdk/client-secrets-manager“ ;

const geheimnisname = „mysecret1/sh“ ;

const client = neuer SecretsManagerClient ( {
Region: „ap-southeast-1“ ,
} ) ;

lassen Antwort;

versuchen {
Antwort = Warten auf client.send (
neuer GetSecretValueCommand ( {
SecretId: Secret_Name,
VersionStage: „AWSCURRENT“ , // VersionStage ist standardmäßig auf AWSCURRENT eingestellt Wenn nicht spezifiziert
} )
) ;
} fangen ( Fehler ) {
// Eine Liste der ausgelösten Ausnahmen finden Sie unter
// https: // docs.aws.amazon.com / Secretsmanager / neueste / apireference /
API_GetSecretValue.html
Wurffehler;
}

const Secret = Response.SecretString;

// Ihr Code kommt hierher

Schritt 3: Lambda-Funktion erstellen

Klicken Sie auf der Lambda-Funktionsoberfläche auf „ Erstellen Sie eine Funktion ' Taste:

Klick auf das „Autor von Grund auf“ Option aus dem „Eine Funktion erstellen“ Schnittstelle:

Als nächstes bewegen wir uns in Richtung 'Grundinformation' Abschnitt. Geben Sie den Funktionsnamen im an 'Funktionsname' Feld und geben Sie dann das ein 'Laufzeit' Umfeld. Hier haben wir die ausgewählt „Node.js 16. x“ im Feld Laufzeit:

Klick auf das „Funktion erstellen“ Taste:

Hier haben wir den Code eingefügt, der von generiert wurde Geheimmanager . Klicken Sie nach dem Einfügen des Codes auf 'Einsetzen' Taste:

Nachdem Sie alle Änderungen übernommen haben, klicken Sie auf 'Aufbau' Registerkarte, um Berechtigungen für Secret Manager zu erteilen:

Klick auf das „Berechtigungen“ Option aus dem „Konfigurationen“ Tab. Daraufhin wird „ Ausführungsrolle“ Schnittstelle und klicken Sie auf den folgenden Link unter 'Rollenname' Feld:

Im „Berechtigungsrichtlinien“ Klicken Sie im Abschnitt auf „Berechtigungen hinzufügen“ Taste. Klicken Sie im Dropdown-Menü auf „Richtlinien anhängen“ Möglichkeit:

Im „Andere Berechtigungsrichtlinien“ Abschnitt, suchen und wählen Sie die aus „SecretsManagerReadWrite“ Möglichkeit. Schlagen Sie die „Berechtigungen hinzufügen“ Taste:

Hier wurde die Richtlinie erfolgreich angehängt und konfiguriert:

Schritt 4: Überprüfen Sie den geheimen Zugriff

Gehen Sie nun zur Lambda Dashboard-Schnittstelle. Klick auf das 'Prüfen' Tab:

Geben Sie auf der nächsten Schnittstelle einen Namen für das Testereignis ein 'Veranstaltungsname' Feld. Klick auf das 'Speichern' Schaltfläche zum Anwenden von Konfigurationen:

Hier wurde der Test erfolgreich konfiguriert. Klick auf das 'Prüfen' Taste:

Hier klicken wir auf 'Prüfen' Klicken Sie erneut auf die Schaltfläche und es wird die folgende Ausgabe angezeigt:

Das ist alles aus diesem Leitfaden.

Abschluss

Um Geheimnisse in Secret Manager zu verwalten, erstellen Sie den RDS-Cluster, hängen Sie ihn an Secret Manager an und führen Sie diesen Code dann in der konfigurierten Lambda-Funktion aus. Die Lambda-Funktion definiert, ob auf das Geheimnis zugegriffen werden kann oder nicht, indem sie den darin enthaltenen Code ausführt, der die Spezifikation des RDS-Clusters enthält. Dieser Artikel ist eine Schritt-für-Schritt-Anleitung zur Verwaltung von Geheimnissen mit AWS Secret Manager und RDS.