Come posso usare una funzione Lambda creata in un account AWS con una risorsa personalizzata AWS CloudFormation in un altro account AWS?

2 minuti di lettura
0

Desidero creare una funzione AWS Lambda in un account e quindi richiamarla da una risorsa personalizzata di AWS CloudFormation in un altro account.

Breve descrizione

Puoi richiamare una funzione Lambda da una risorsa personalizzata in un account diverso solo se la funzione Lambda e la risorsa personalizzata si trovano nella stessa regione AWS. La proprietà ServiceToken di AWS::CloudFormation::CustomResource deve trovarsi nella stessa regione in cui hai creato lo stack AWS CloudFormation. È necessario utilizzare una policy basata sulle risorse per concedere agli account con risorse personalizzate l'autorizzazione a richiamare la funzione Lambda.

Nota: quando si associa una funzione Lambda a una risorsa personalizzata, la funzione viene richiamata ogni volta che la risorsa personalizzata viene creata, aggiornata o eliminata. AWS CloudFormation chiama un'API Lambda per richiamare la funzione e passare tutti i dati della richiesta alla funzione. Ad esempio, i dati della richiesta includono il tipo di richiesta e le proprietà della risorsa.

Risoluzione

Nota: se riscontri degli errori durante l'esecuzione dei comandi dell’interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente dell'AWS CLI.

Per concedere alla tua funzione Lambda l'accesso alla tua risorsa personalizzata da un altro account (Account B), esegui il comando AWS CLI add-permission nel tuo account principale (Account A).

-oppure-

  1. Quando viene creata una funzione Lambda tramite uno stack nell'Account A, utilizza la risorsa AWS::Lambda::Permission per concedere l'autorizzazione all'Account B.

  2. Nell'Account B, avvia lo stack AWS CloudFormation che contiene la tua risorsa personalizzata.

Nota: assicurati che ServiceToken si riferisca al nome della risorsa Amazon (ARN) della funzione Lambda dell'Account A. Includi eventuali proprietà aggiuntive da inviare alla risorsa personalizzata come input.

  1. Usa Amazon CloudWatch Logs per confermare che la tua risorsa personalizzata dell'Account B abbia richiamato la tua funzione Lambda nell'Account A.

Informazioni correlate

Proprietà

Concessione dell'accesso alla funzione ad altri account

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa