Hoe geheimen beheren met AWS Secrets Manager en RDS?

Hoe Geheimen Beheren Met Aws Secrets Manager En Rds



Amazon Relational Database is een van de relationele databaseservices die eenvoudiger en eenvoudiger te bedienen zijn en complexe zoekopdrachten uitvoeren. Door de syntaxis van SQL-query's te volgen, is deze service van AWS sneller dan traditionele databases en wordt de database automatisch geschaald op basis van de vereisten van de applicatie. Met AWS RDS elimineert het de noodzaak om de hardware op maat in te stellen of softwareconfiguraties uit te voeren om de zoekopdrachten uit te voeren.

Dit artikel laat zien hoe u geheimen kunt beheren met AWS Secrets Manager en RDS.

Wat is een geheime manager?

Beveiligingsbedreigingen en zorgen over de privacy zijn ook geuit door experts en mensen over de hele wereld. Om uw digitale geheimen, zoals databasegegevens, API en tokens, te beschermen, is AWS Secret Manager hiervoor uw favoriete tool.







AWS Secret Manager helpt bedrijven en organisaties hun bronnen en diensten te beschermen tegen kwaadaardige bedoelingen en cyberaanvallen om gevoelige gegevens te kapen of te stelen. Deze service voegt een extra beveiligingslaag toe aan de bronnen en stelt u in staat de geheimen eenvoudig te schalen en te beheren.



Hoe geheimen beheren met AWS Secret Manager en RDS?

Telkens wanneer een gebruiker het RDS-cluster configureert, heeft deze informatie nodig over de regio, gebruikersnaam en wachtwoord van het cluster en wordt deze geïdentificeerd met behulp van een unieke identificatie van het cluster. Door de RDS te integreren met de Secret Manager kunt u uw RDS-inloggegevens beschermen en dienovereenkomstig beheren.



Door de Secret Manager te gebruiken, kunt u de levenscyclus van deze geheimen definiëren en deze integreren met andere bronnen. Hier in dit artikel voegen we AWS Secret Manager met Lambda-functie toe aan ons RDS-cluster.





Hieronder volgen enkele stappen hiervoor:

Stap 1: Maak een RDS-cluster

De Secret Manager wordt veel gebruikt om de databasegegevens te beschermen. De eerste stap is dus het maken van een RDS-cluster. Raadpleeg hiervoor dit artikel: “ Hoe maak je een RDS-cluster op AWS? ”. We hebben het RDS-cluster actief:



Stap 2: AWS geheime manager

Zoek en selecteer in de AWS Management Console de “ Geheimen Manager ”:

Klik in de Secret Manager-interface op de “Bewaar een nieuw geheim” knop:

In de Geheim type , selecteer de “Inloggegevens voor de Amazon RDS-database” optie zoals we deze configureren voor de RDS:

Het volgende is de Referenties sectie. Geef in dit gedeelte de Gebruikersnaam En Wachtwoord voor de RDS-database die we zojuist hebben gemaakt:

In de Encryptie sleutel sectie kan de gebruiker de standaardversie van de AWS Secret Manager gebruiken of een nieuwe maken door op te klikken “Nieuwe sleutel toevoegen” keuze. Zo ook in de Database sectie, selecteer de “DB-instantie” die je hebt gemaakt en druk op de 'Volgende' knop:

Geef een unieke naam op voor de 'Geheim' dat zal ons helpen het later te identificeren. De beschrijving is optioneel. De gebruiker kan hier echter ook een aangepaste beschrijving opgeven:

Op de interface , de Secret Manager biedt ons ook de mogelijkheid om het geheim te repliceren. Selecteer hiervoor een regio waarin u de replicatie wilt maken. In deze demo hebben we geen replicatie nodig. Als u de rest van de instellingen als standaard wilt behouden, tikt u op de 'Volgende' knop:

We behouden de standaardwaarde en bekijken en bewerken nu de informatie. Nadat u de verstrekte informatie heeft bevestigd, klikt u op de 'Winkel' knop om het geheim te maken en op te slaan:

Hier is het geheim succesvol aangemaakt . Klik op de ' De naam van het geheim ” om de configuraties te bekijken:

Als we door de interface scrollen, zien we het gedeelte Voorbeeldcode. In deze sectie wordt een code gegenereerd door de Geheime manager. Kopieer deze code zoals deze zal worden gebruikt in de Lambda-functie:

// Gebruik dit codefragment in jouw app.
// Als je nodig hebt meer informatie over configuraties of het implementeren van de voorbeeldcode, bezoek de AWS-documenten:
// https: // docs.aws.amazon.com / sdk-voor-javascript / v3 / ontwikkelaarsgids / aan de slag.html

importeren {
GeheimenManagerClient,
  GetSecretValueCommand,
} van '@aws-sdk/client-secrets-manager' ;

const geheime_naam = 'mijngeheim1/sh' ;

const client = nieuwe SecretsManagerClient ( {
regio: 'ap-zuidoost-1' ,
} ) ;

laten antwoord;

poging {
response = wacht op client.send (
nieuwe GetSecretValueCommand ( {
GeheimId: geheime_naam,
VersieStage: 'AWSCURRENT' , // VersionStage is standaard ingesteld op AWSCURRENT als niet gespecificeerd
} )
) ;
} vangst ( fout ) {
// Zie voor een lijst met gegenereerde uitzonderingen
// https: // docs.aws.amazon.com / geheimenmanager / laatste / apireferentie /
API_GetSecretValue.html
fout gooien;
}

const geheim = antwoord.SecretString;

// Je code komt hier

Stap 3: Maak een Lambda-functie

Klik in de Lambda Functie-interface op de knop “ Maak een functie ' knop:

Klik op de “Auteur vanaf het begin” optie uit de “Maak een functie” koppel:

Vervolgens gaan we richting de 'Basis informatie' sectie. Geef de functienaam op in het “Functienaam” veld en geef vervolgens het “Runtime” omgeving. Hier hebben we de “Node.js 16. x” in het Runtime-veld:

Klik op de “Creëer functie” knop:

Hier hebben we de code geplakt die is gegenereerd door de Geheime manager . Nadat u de code heeft geplakt, klikt u op de 'Aanwenden' knop:

Nadat u alle wijzigingen heeft doorgevoerd, klikt u op de 'Configuratie' tabblad om machtigingen voor Secret Manager toe te staan:

Klik op de 'Rechten' optie uit de “Configuraties” tabblad. Hierdoor wordt de “ Uitvoeringsrol” interface en klik op de volgende link onder de 'Rol naam' veld:

In de “Rechtenbeleid” sectie, klik op de “Machtigingen toevoegen” knop. Klik in het vervolgkeuzemenu op de “Beleid bijvoegen” keuze:

In de “Ander toestemmingsbeleid” sectie, zoek en selecteer de “SecretsManagerLezenSchrijven” keuze. Druk op de “Machtigingen toevoegen” knop:

Hier is het beleid succesvol gekoppeld en geconfigureerd:

Stap 4: Controleer de geheime toegang

Ga nu naar de Lambda Dashboard-interface. Klik op de 'Test' tabblad:

Geef in de volgende interface een naam op voor de testgebeurtenis in het 'Evenement naam' veld. Klik op de 'Redden' knop om configuraties toe te passen:

Hier is de test succesvol geconfigureerd. Klik op de 'Test' knop:

Hier klikken we op de 'Test' druk nogmaals op de knop en de volgende uitvoer wordt weergegeven:

Dat komt allemaal uit deze gids.

Conclusie

Om geheimen in Secret Manager te beheren, maakt u het RDS-cluster, koppelt u het aan Secret Manager en voert u vervolgens die code uit in de geconfigureerde Lambda-functie. De Lambda-functie bepaalt of het geheim toegankelijk is of niet door de code daarin uit te voeren die de specificatie van het RDS-cluster bevat. Dit artikel is een stapsgewijze handleiding voor het beheren van geheimen met AWS Secret Manager en RDS.