Konfiguration AWS Secrets Manager - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfiguration AWS Secrets Manager

AWS Secrets Manager hilft Ihnen dabei, die Geheimnisse zu schützen, die Sie für den Zugriff auf Ihre Anwendungen, Dienste und IT-Ressourcen benötigen. Der Service speichert, verwaltet, verschlüsselt und rotiert Datenbankanmeldedaten, API Schlüssel und andere Geheimnisse, einschließlich OAuth Token, und bietet eine native Integration mit Amazon Relational Database Service (AmazonRDS), Amazon Redshift und Amazon DocumentDB. Benutzer und Anwendungen rufen Geheimnisse ab, indem sie Secrets Manager aufrufen. Dadurch entfällt die NotwendigkeitAPIs, vertrauliche Informationen im Klartext fest zu codieren. Secrets Manager bietet detaillierte Zugriffsberechtigungen und bietet einen zentralen Ort für die Überprüfung der Geheimnisrotation in Umgebungen AWS Cloud, vor Ort und in Umgebungen von Drittanbietern.

Voraussetzungen für die Verwendung von Secrets Manager mit. NETFramework-Anwendungen

  • Ein aktiver AWS-Konto

  • Microsoft Visual Studio, installiert

  • AWS Command Line Interface (AWS CLI) Version 2, installiert und konfiguriert für den Zugriff auf Ihre AWS-Konto (siehe Anweisungen)

  • AWS Toolkit for Visual Studio, konfiguriert (siehe Anweisungen)

  • Ein Geheimnis, das mit der Secrets Manager-Konsole oder dem AWS CLI (siehe Anweisungen) erstellt und abgerufen wurde

Beispiel

Um über Secrets Manager auf Secrets Manager zuzugreifen, finden Sie imASP. NETKernweb API (. NET6):

  1. Fügen Sie das folgende NuGet Paket dem hinzuASP. NETKernwebAPI.

    AWSSDK.SecretsManager.Caching
  2. Nehmen Sie in der Program.cs Datei die folgenden Änderungen vor.

    • Fügen Sie den Amazon.SecretsManager Namespace (1) hinzu.

      using Amazon.SecretsManager;
    • Registrieren Sie den Dienst (2).

      builder.Services.AddScoped<IAmazonSecretsManager>(x => new AmazonSecretsManagerClient(RegionEndpoint.EUWest2) );
    Änderungen an der Datei Program.cs für den Zugriff auf Secrets Manager
  3. Um die Secrets aus Secrets Manager abzurufen, nehmen Sie die folgenden Änderungen an der Controller-Klassendatei vor (z. B.ValuesController.cs).

    • Fügen Sie den Konstruktor hinzu (1).

      private readonly IAmazonSecretsManager _secretsManager; public SecretsController(IAmazonSecretsManager secretsManager) { _secretsManager = secretsManager; }
    • Implementieren Sie die GetSecret Methode (2).

      string secretName = "arn:aws:secretsmanager:eu-west-2:111122223333:secret:dev/myapp/tenant-gSj6qd"; GetSecretValueRequest request = new GetSecretValueRequest(); request.SecretId = secretName; request.VersionStage = "AWSCURRENT"; Task<GetSecretValueResponse> response = _secretsManager.GetSecretValueAsync(request); return Ok(new { Secret = response.Result.SecretString });

      wobei sich 111122223333 auf die Konto-ID bezieht.

    Änderungen an der Controller-Klassendatei zum Abrufen von Geheimnissen aus Secrets Manager
    Anmerkung

    secretNamebezieht sich auf den Namen oder Amazon-Ressourcennamen (ARN) des Geheimnisses. Nachdem ein Secret erstellt wurde, kann dieser Wert von der Secrets Manager Manager-Konsole abgerufen werden. Sie sollten secretName dynamisch oder von Umgebungsvariablen aus aufrufen. Kodieren Sie diesen Wert in Produktionsumgebungen nicht fest.