AWS Secrets Manager-Secrets in Java-Anwendungen abrufen - AWS Secrets Manager

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.

AWS Secrets Manager-Secrets in Java-Anwendungen abrufen

Wenn Sie ein Secret abrufen, können Sie die Java-basierte Caching-Komponente von Secrets Manager verwenden, um es für zukünftige Verwendung zu cachen. Das Abrufen eines gecacheten Secrets ist schneller als das Abrufen aus Secrets Manager. Da für den Aufruf von Secrets-Manager-Manager-APIs Kosten anfallen, kann die Verwendung eines Caches Ihre Kosten senken. Alle Möglichkeiten, wie Sie Secrets abrufen können, finden Sie unter Abrufen von Secrets.

Die Cache-Richtlinie ist Least Recently Used (LRU). Wenn der Cache also ein Secret verwerfen muss, verwirft er das am wenigsten verwendete Secret. Standardmäßig aktualisiert der Cache Secrets jede Stunde. Sie können konfigurieren, wie oft das Secret im Cache aktualisiert wird, und Sie können den Secret-Abruf anbinden, um weitere Funktionalität hinzuzufügen.

Der Cache erzwingt keine Garbage Collection, sobald Cache-Referenzen freigegeben wurden. Die Cache-Implementierung beinhaltet keine Cache-Invalidierung. Die Cache-Implementierung konzentriert sich auf den Cache selbst und ist weder sicherheitsgehärtet noch fokussiert. Wenn Sie zusätzliche Sicherheit benötigen, z. B. das Verschlüsseln von Elementen im Cache, verwenden Sie die bereitgestellten Schnittstellen und abstrakten Methoden.

Zum Verwenden der Komponente ist Folgendes erforderlich:

  • Eine Java-8- oder eine höhere Entwicklungsumgebung. Siehe Java SE-Downloads auf der Oracle-Website.

  • Das AWS-SDK für Java 1.x. Sie können beide Versionen des AWS SDK for Java in Ihren Projekten verwenden. Weitere Informationen finden Sie unter Using the SDK for Java 1.x and 2.x side-by-side (Verwenden des SDK for Java 1.x und 2.x nebeneinander).

Informationen zum Herunterladen des Quellcodes finden Sie unter Secrets-Manager-Java-Caching-Client auf GitHub.

Um die Komponente Ihrem Projekt hinzuzufügen, fügen Sie in Ihrer Datei Maven pom.xml die folgende Abhängigkeit ein. Weitere Informationen zu Maven finden Sie im Handbuch „Erste Schritte“ auf der Website von Apache Maven.

<dependency> <groupId>com.amazonaws.secretsmanager</groupId> <artifactId>aws-secretsmanager-caching-java</artifactId> <version>1.0.2</version> </dependency>

Erforderliche Berechtigungen:

  • secretsmanager:DescribeSecret

  • secretsmanager:GetSecretValue

Weitere Informationen finden Sie unter Berechtigungsreferenz .

Beispiel Ein Secret abrufen

Das folgende Codebeispiel zeigt eine Lambda-Funktion, die eine Secret-Zeichenfolge abruft. Es folgt der bewährten Methode, den Cache außerhalb des Funktionshandlers zu instanziieren, ruft also die API nicht weiter auf, wenn Sie die Lambda-Funktion erneut aufrufen.

package com.amazonaws.secretsmanager.caching.examples; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.LambdaLogger; import com.amazonaws.secretsmanager.caching.SecretCache; public class SampleClass implements RequestHandler<String, String> { private final SecretCache cache = new SecretCache(); @Override public String handleRequest(String secretId, Context context) { final String secret = cache.getSecretString(secretId); // Use the secret, return success; } }