aws-lambda-secretsmanager - Costrutti delle soluzioni AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

aws-lambda-secretsmanager

Tutte le classi sono in fase di sviluppo attivo e soggette a modifiche o rimozione non compatibili con le versioni precedenti in qualsiasi versione futura. Questi non sono soggetti allaIl controllo delle versioni semanticoModello. Ciò significa che, mentre è possibile utilizzarli, potrebbe essere necessario aggiornare il codice sorgente quando si esegue l'aggiornamento a una versione più recente di questo pacchetto.

Nota: Per garantire la corretta funzionalità, i pacchetti AWS Solutions Constructs e i pacchetti AWS CDK nel progetto devono essere della stessa versione.

Linguaggio Pacchetto
Python
aws_solutions_constructs.aws_lambda_secretsmanager
TypeScript
@aws-solutions-constructs/aws-lambda-secretsmanager
Java
software.amazon.awsconstructs.services.lambdasecretsmanager

Overview

Questo AWS Solutions Construct implementa la funzione AWS Lambda e il segreto AWS Secrets Manager con le autorizzazioni meno privilegiate.

Ecco una definizione di modello distribuibile minima 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);

Parametri

Puntelli di costruzione modelli

Nome Tipo Descrizione
EsistenteLambdaobj? lambda.Function Istanza esistente dell'oggetto Function Lambda, fornendo sia questo chelambdaFunctionPropscauserà un errore.
LambdafunctionPunps? lambda.FunctionProps L'utente ha fornito oggetti di scena per sovrascrivere gli oggetti di scena predefiniti per la funzione Lambda.
Secretpuntelli? secretsmanager.SecretProps L'utente facoltativo ha fornito oggetti di scena per sovrascrivere gli oggetti di scena predefiniti per Secrets Manager.
EsistingSecretoBJ? secretsmanager.Secret Istanza esistente di Secrets Manager oggetto segreto, Se questo è impostato, la proprietàsecretPropsviene ignorato.
GrantWriteAccess? boolean Accesso facoltativo in scrittura al segreto per la funzione Lambda (di sola lettura per impostazione predefinita).
SecretenVironmentVariableName? string Nome facoltativo per la variabile di ambiente segreto Secrets Manager impostata per la funzione Lambda.
VPC esistente? ec2.IVpc Un VPC opzionale esistente in cui deve essere distribuito questo modello. Quando viene distribuita in un VPC, la funzione Lambda utilizzerà ENI nel VPC per accedere alle risorse di rete e verrà creato un endpoint di interfaccia nel VPC per AWS Secrets Manager. Se viene fornito un VPC esistente,deployVpcnon può esseretrue: . Questo utilizzaec2.IVpcper consentire ai client di fornire i VPC che esistono al di fuori dello stack utilizzando ilec2.Vpc.fromLookup()Metodo.
VPCProp? ec2.VpcProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per il nuovo VPC.enableDnsHostnames,enableDnsSupport,natGateways, esubnetConfigurationsono impostati dal modello, quindi tutti i valori per quelle proprietà fornite qui verranno ignorati. SedeployVpcnon ètruequesta proprietà verrà ignorata.
DeployVPC? boolean Se creare un nuovo VPC basato suvpcPropsin cui distribuire questo modello. Impostazione di questo valore sutruedistribuirà il VPC minimo e più privato per eseguire il pattern:
  • Una sottorete isolata in ciascuna zona di disponibilità utilizzata dal programma CDK

  • enableDnsHostnameseenableDnsSupportsaranno entrambi impostati sutrue

Se questa proprietà ètrue, quindiexistingVpcnon può essere specificato. L'impostazione predefinita è false.

Proprietà modelli

Nome Tipo Descrizione
LambdaFunction lambda.Function Restituisce un'istanza dilambda.Functioncreato dal costrutto.
Secret secretsmanager.Secret Restituisce un'istanza disecretsmanager.Secretcreato dal costrutto.
VPC? ec2.IVpc Restituisce un'interfaccia sul VPC utilizzato dal modello (se presente). Questo può essere un VPC creato dal pattern o dal VPC fornito al costruttore del pattern.

Impostazioni predefinite

L'implementazione predefinita di questo modello senza sostituzioni imposterà i seguenti valori predefiniti:

Funzione di AWS Lambda

  • Configurare il ruolo IAM di accesso con privilegi limitati per la funzione Lambda.

  • Abilita il riutilizzo delle connessioni con Keep-Alive per la funzione NodeJS Lambda.

  • Abilitare il tracciamento X-Ray.

  • Impostazione delle variabili di ambiente:

    • (default) SECRET_ARN contenente l'ARN del segreto come restituito da CDKSecretArnproperty

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(per le funzioni Node 10.x e successive)

Segreto di Amazon Secrets Manager

  • Abilita l'accesso in sola lettura per la funzione AWS Lambda associata

  • Abilitare la crittografia lato server utilizzando una chiave del servizio di gestione delle chiavi predefinita per l'account e l'area

  • Crea un nuovo segreto:

    • Nome casuale (predefinito)

    • (default) valore casuale

  • Mantieni il segreto durante l'eliminazione dello stack CloudFormation

Architecture

GitHub

Per visualizzare il codice per questo modello, creare/visualizzare problemi e richieste pull e altro ancora:
@aws -solutions-constructs/aws-lambda-secretsmanager