Solo DataPower API Gateway

Lambda

Utilizza la politica Lambda per attivare direttamente le funzioni Lambda AWS dall'API senza utilizzare Amazon API Gateway.

Supporto gateway

Tabella 1. Tabella che mostra quali gateway supportano questa politica e la versione della politica corrispondente
Gateway Versione politica
DataPower® API Gateway 1.3.0

Questo argomento descrive come configurare il criterio nell'interfaccia utente dell'assembly; per i dettagli su come configurare il criterio nella propria sorgente, vedere Lambda OpenAPI sorgente, vedere Lambda.

Informazioni

Il criterio Lambda consente di attivare le funzioni Lambda di AWS dall'assembly di un'API, senza dover utilizzare Amazon API Gateway. Quando aggiungi la politica a un assembly API, puoi specificare la funzione Lambda per richiamare e fornire le credenziali per utilizzarlo. Le credenziali possono essere un ruolo IAM AWS o una coppia Access Key ID/Secret Access Key. È possibile scaricare il criterio lambda da Lambda policy fix pack.

Per abilitare API Connect a invocare una funzione Lambda, completare le seguenti operazioni:
  1. Configurare l'accesso alla funzione Lambda in AWS come descritto nella sezione Impostazione delle autorizzazioni e dell'affidabilità in AWS di questo argomento.
  2. Definire un criterio API in API Connect utilizzando le proprietà del criterio nella sezione Proprietà di questo argomento.
Nota:
  • Il criterio Lambda utilizza gli endpoint VPC per garantire che la comunicazione dal gateway al servizio Lambda avvenga attraverso il backbone privato AWS.
  • Per informazioni su Lambda e istruzioni sull'uso delle funzioni di Lambda, consultare la documentazione di AWS Lambda.

Impostazione delle autorizzazioni e dell'attendibilità in AWS

Per utilizzare un criterio Lambda, è necessario impostare un ruolo nell'account AWS, specificando un criterio di autorizzazioni e una relazione di fiducia, in modo che API Connect possa invocare la funzione Lambda AWS. Esiste un'opzione di autenticazione quando si utilizza il criterio AWS Lambda:

Utilizzare le istruzioni per l'opzione che meglio si adatta alle proprie necessità.

ID chiave di accesso / Chiave di accesso segreta
Fornire la coppia AWS Access Key ID/AWS Secret Access Key di un account con l'autorizzazione a richiamare una o più funzioni Lambda. Le autorizzazioni di questo account dovrebbero avere un ambito il più ristretto possibile; l'account dovrebbe essere un account di servizio con nessun' altra autorizzazione diversa dalla capacità di richiamare una o più funzioni Lambda. Per ulteriori informazioni, consultare la documentazione sulle Identity-Based IAM Policies for Lambda.

Per utilizzare l'opzione di autenticazione ID chiave di accesso/chiave di accesso segreta, completare i passaggi seguenti per utilizzare il servizio IAM dell'account e creare un account del servizio IAM con le autorizzazioni appropriate per facilitare la comunicazione limitata con API Connect:

  1. Accedere alla console di gestione AWS e aprire la console IAM.
  2. Nella console AWS IAM, fai clic su Utenti nell'elenco di navigazione e quindi su Aggiungi utenti.
  3. Quando ti viene richiesto di "Impostare i dettagli utente", fornisci un Nome utente (univoco nel tuo account AWS ) e seleziona Chiave di accesso - Accesso programmatico.

    È possibile selezionare l'opzione Password - AWS Management Console, ma non è necessaria per interagire con API Connect.

    Esistono diverse opzioni per la definizione delle autorizzazioni per il nuovo account utente. Per informazioni sull'aggiunta dell'utente a un gruppo di utenti o sull'assegnazione di un criterio direttamente all'utente, consultare la Guida dell'utente di AWS Identity and Access Management.

    Un metodo semplice per la definizione delle autorizzazioni utente che aderisce al principio dei privilegi minimi è quello di creare un utente IAM senza autorizzazioni e quindi aggiungere tale utente alla configurazione delle autorizzazioni di una funzione Lambda specifica, come mostrato nella seguente procedura.

  4. Nella pagina "Imposta dettagli utente", fare clic su Avanti: tag senza apportare alcuna modifica al nuovo account utente.
  5. Creare i Tag desiderati e fare clic su Avanti: Rivedi.
  6. Rivedere le proprie impostazioni e fare clic su Crea utente.

    Ignorare l'avvertenza This user has no permissions perché si assegneranno le autorizzazioni nei passi rimanenti.

  7. Fai clic su Scarica .csv per salvare l' ID chiave di accesso e la chiave di accesso segretadel nuovo utente e memorizzarli in un luogo sicuro. Questi valori saranno utilizzati come AWS Access Key ID e AWS Secret Access Key quando si configura la politica Lambda della propria API in API Connect.
  8. Aggiornare la funzione Lambda per fornire le autorizzazioni per il nuovo utente:
    1. Nella console Lambda, apri la pagina Functions .
    2. Selezionare la funzione che API Connect dovrà richiamare.
    3. Fare clic su Configurazione.
    4. Nella sezione Istruzioni di politica basate su risorse , fare clic su Aggiungi autorizzazioni.
    5. Selezionare AccountAWS e aggiungere un ID istruzioneunivoco.
    6. Impostare Principal sull'ARN del nuovo utente.

      arn:aws:iam::<AWS_account_ID>:user/<username>disponibile nella pagina Utenti > <nome utente>.

    7. Impostare Azione su lambda:InvokeFunction.
    8. Fare clic su Salva.

    Ripetere questo passo per ogni funzione Lambda che verrà richiamata dall'utente.

Proprietà

La seguente tabella elenca le proprietà della politica, indica se una proprietà è obbligatoria, specifica i valori validi e predefiniti per l'input e specifica il tipo di dati dei valori.

Tabella 2. Proprietà della politica Limite frequenza
Etichetta proprietà Obbligatorio Descrizione Tipo di dati
Titolo No Il titolo della politica. Il valore predefinito è lambda. stringa
Descrizione No Una descrizione della politica. stringa
ID chiave di accesso AWS AWS Le chiavi di accesso sono credenziali a lungo termine per un utente IAM AWS . Obbligatorio se non viene fornito AWS Assume Ruolo ARN .

Per istruzioni sulla creazione della coppia di chiavi di accesso in AWS, consultare ID chiave di accesso / chiave di accesso segreta in questo argomento.

stringa
Chiave di accesso segreta AWS La chiave di accesso segreta che corrisponde all' ID chiave di accessoAWSspecificato. stringa
funzione Il nome o l'ARN (Amazon Resource Name) della funzione Lambda AWS da eseguire, utilizzando uno dei formati seguenti:
  • Nome funzione; ad esempio: my-function
  • Funzione ARN; ad esempio: arn:aws:lambda:us-east-a:123456789012:function:my-function
  • ARN parziale - 123456789012:function:my-function

Per ulteriori informazioni, vedere FunctionName nella Guida per gli sviluppatori di AWS Lambda.

stringa
Regione La regione AWS in cui è ospitata la funzione Lambda. stringa
Qualificatore No L'alias o la versione della funzione Lambda che si desidera eseguire.

Per ulteriori informazioni, vedere Qualifier nella Guida per gli sviluppatori di AWS Lambda.

stringa