aws-lambda-Sekretsmanager - Konstrukte für AWS S-Lösungen

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-lambda-Sekretsmanager

Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.

Alle Klassen befinden sich in aktiver Entwicklung und unterliegen nicht abwärtskompatiblen Änderungen oder Entfernen in jeder zukünftigen Version. Diese unterliegen nicht derSemantische VersionierungModell. Dies bedeutet, dass Sie möglicherweise Ihren Quellcode aktualisieren müssen, wenn Sie auf eine neuere Version dieses Pakets aktualisieren.

Hinweis: Um eine ordnungsgemäße Funktionalität sicherzustellen, müssen die AWS Solutions Constructs Pakete und AWS CDK-Pakete in Ihrem Projekt dieselbe Version aufweisen.

Sprache Paket
Python
aws_solutions_constructs.aws_lambda_secretsmanager
Typoskript
@aws-solutions-constructs/aws-lambda-secretsmanager
Java
software.amazon.awsconstructs.services.lambdasecretsmanager

Overview

Dieses AWS Solutions Construct implementiert die AWS Lambda Funktion und das AWS Secrets Manager Geheimnis mit den am wenigsten privilegierten Berechtigungen.

Hier ist eine minimale bereitstellbare Musterdefinition in TypeScript:

const { LambdaToSecretsmanagerProps, LambdaToSecretsmanager } from '@aws-solutions-constructs/aws-lambda-secretsmanager'; const props: LambdaToSecretsmanagerProps = { lambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler' }, }; new LambdaToSecretsmanager(this, 'test-lambda-secretsmanager-stack', props);

Initializer

new LambdaToSecretsmanager(scope: Construct, id: string, props: LambdaToSecretsmanagerProps);

Parameter

Muster-Konstrukt Requisiten

Name Typ Beschreibung
Gibt es LambdaObj? lambda.Function Vorhandene Instanz des Lambda Function-Objekts, die sowohl diese als auchlambdaFunctionPropsführt zu einem -Fehler.
LambdaFunctionProps? lambda.FunctionProps Der Benutzer hat Requisiten bereitgestellt, um die Standard-Requisiten für die Lambda Funktion zu überschreiben.
SecretProps? secretsmanager.SecretProps Optional vom Benutzer bereitgestellte Requisiten, um die Standard-Requisiten für Secrets Manager zu überschreiben.
ExistierenSecretObj? secretsmanager.Secret Vorhandene Instanz von Secrets Manager geheimen Objekt, Wenn dies festgelegt ist, dann diesecretPropswird ignoriert.
GrantWriteAccess? boolean Optionaler Schreibzugriff auf das Geheimnis für die Lambda Funktion (standardmäßig schreibgeschützt).
SecretEnvironmentVariableName? string Optionaler Name für die geheime Umgebungsvariable Secrets Manager, die für die Lambda Funktion festgelegt wurde.
ExistenzVPC? ec2.IVpc Eine optionale vorhandene VPC, in der dieses Pattern bereitgestellt werden soll. Bei der Bereitstellung in einer VPC verwendet die Lambda Funktion ENIs in der VPC für den Zugriff auf Netzwerkressourcen, und in der VPC für AWS Secrets Manager wird ein Interface Endpoint erstellt. Wenn eine vorhandene VPC bereitgestellt wird, wird diedeployVpckann nichttrue. Diese Verwendung vonec2.IVpc, damit Clients VPCs bereitstellen können, die außerhalb des Stacks vorhanden sind, mithilfe desec2.Vpc.fromLookup()-Methode.
VPCProps? ec2.VpcProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die neue VPC zu überschreiben.enableDnsHostnames,enableDnsSupport,natGateways, undsubnetConfigurationwerden durch das Muster festgelegt, so dass alle Werte für die hier angegebenen Eigenschaften überschrieben werden. WenndeployVpcist nichttruewird diese Eigenschaft ignoriert.
DeployVPC? boolean So erstellen Sie eine neue VPC basierend aufvpcProps, in das dieses Muster bereitgestellt werden soll. Setzen Sie diese Einstellung auftruestellt die minimale, privatste VPC bereit, um das Pattern auszuführen:
  • Ein isoliertes Subnetz in jeder Availability Zone, die vom CDK-Programm verwendet wird

  • enableDnsHostnamesundenableDnsSupportwerden beide auftrue

Wenn diese Eigenschafttrue, dannexistingVpckann nicht angegeben werden. Standardeinstellung: false.

Muster-Eigenschaften

Name Typ Beschreibung
LambdaFUNction lambda.Function Gibt eine Instanz vonlambda.Functionerstellt durch das Gebäudemodul.
Secret secretsmanager.Secret Gibt eine Instanz vonsecretsmanager.Secreterstellt durch das Gebäudemodul.
vpc? ec2.IVpc Gibt eine Schnittstelle auf der VPC zurück, die vom Muster verwendet wird (falls vorhanden). Dies kann eine VPC sein, die durch das Muster oder die VPC erstellt wurde, die dem Musterkonstruktor zur Verfügung gestellt wurde.

Standardeinstellungen

Die vorgefertigte Implementierung dieses Musters ohne Überschreibungen setzt die folgenden Standardwerte:

AWS Lambda-Funktion

  • Konfigurieren Sie die IAM-Rolle für den eingeschränkten Zugriffsberechtigungen für Lambda Funktion.

  • Aktivieren Sie die Wiederverwendung von Verbindungen mit Keep-Alive für NodeJS Lambda Funktion.

  • Aktivieren Sie X-Ray Nachverfolgung.

  • Festlegen von Umgebungsvariablen:

    • (Standard) SECRET_ARN, die den ARN des Geheimnisses als Rückgabe von CDK enthältSecretArnproperty

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(für Node 10.x und höhere Funktionen)

Amazon Secrets Manager-Geheimnis

  • Aktivieren des schreibgeschützten Zugriffs für die zugehörige AWS Lambda Funktion

  • Aktivieren der serverseitigen Verschlüsselung mithilfe eines standardmäßigen KMS-Schlüssels für das Konto und die Region

  • Erstellt ein neues Geheimnis:

    • (Standard) zufälliger Name

    • (Standard) Zufallswert

  • Behalten Sie das Geheimnis beim Löschen des CloudFormation -Stacks

Architecture

Diagram showing AWS Lambda icon connecting to security and cloud search icons.

GitHub

Um den Code für dieses Muster anzuzeigen, erstellen/anzeigen Probleme und Pull-Anforderungen usw.:
Circular icon with a graduation cap symbol representing education or learning.
@aws -solutions-constructs/aws-lambda-secretsmanager