Come gestire le autorizzazioni con la funzione AWS Lambda

Come gestire le autorizzazioni con la funzione AWS Lambda
“Quando viene creata una funzione Lambda, viene creato un ruolo IAM predefinito. Questo ruolo iam è chiamato il ruolo di esecuzione e ha autorizzazioni limitate per mettere i registri Lambda nei registri Cloudwatch. Inoltre, nessun altro servizio AWS ha alcun permesso per invocare la funzione Lambda per impostazione predefinita. Per gestire queste autorizzazioni, è necessario aggiornare il ruolo IAM o la politica basata sulle risorse.

Il ruolo IAM consente alla funzione Lambda di accedere ad altri servizi AWS all'interno dell'account AWS. D'altra parte, la politica basata sulle risorse è allegata alla funzione Lambda per consentire ad altri servizi AWS all'interno degli stessi o diversi account di accedere alla funzione Lambda. In questo blog, vedremo come possiamo gestire le autorizzazioni Lambda applicando le politiche basate sulle risorse e basate sulle risorse."

Gestione delle autorizzazioni utilizzando il ruolo IAM

Per impostazione predefinita, il ruolo IAM allegato alla funzione Lambda ha accesso solo a mettere i registri nei registri CloudWatch. Puoi sempre aggiornare il ruolo di esecuzione per aggiungere ulteriori autorizzazioni ad esso. Se si desidera accedere al bucket S3 o si desidera eseguire un po 'di azione su un oggetto bucket S3, è necessario l'accesso a livello di oggetti S3 e S3 nel ruolo di esecuzione Lambda. In questa sezione del blog, aggiorneremo le autorizzazioni di ruolo IAM per consentire a Lambda di interagire con il secchio S3.

Prima di tutto, vai alla console Lambda AWS e fai clic sulla funzione Lambda per cui si desidera aggiornare il ruolo di esecuzione per. Clicca sul configurazione Scheda sulla console della funzione Lambda. Quindi dal pannello laterale sinistro, selezionare il Autorizzazioni tab, e mostrerà il ruolo di esecuzione Lambda lì.

Nel ruolo di IAM, è possibile aggiungere una politica gestita da AWS o gestita dal cliente, oppure è possibile aggiungere una politica in linea per concedere le autorizzazioni necessarie alla funzione LAMBDA per interagire con altri servizi AWS.

Gestione dell'autorizzazione utilizzando la politica basata sulle risorse

Le politiche basate sulle risorse per la funzione Lambda forniscono autorizzazioni ad altri servizi AWS all'interno dello stesso o diverso account AWS per accedere alla funzione Lambda. Per impostazione predefinita, non esiste una politica basata sulle risorse automaticamente allegata alla funzione Lambda, quindi nessun servizio AWS può accedere alla funzione Lambda. È possibile aggiungere e rimuovere le politiche basate sulle risorse in qualsiasi momento alla funzione Lambda. In questo blog, aggiungeremo una politica basata sulle risorse alla funzione Lambda, che consente a S3 di invocare la funzione Lambda.

Per aggiungere una politica basata sulle risorse alla funzione Lambda, prima, fai clic sulla funzione Lambda e vai al autorizzazioni Scheda della funzione Lambda.

Nel autorizzazioni Scheda, scorri verso il basso e troverai una sezione per le politiche basate sulle risorse. Clicca sul Aggiungi autorizzazioni pulsante nel Dichiarazioni di politiche basate sulle risorse Sezione della console per aggiungere una nuova politica basata sulle risorse alla funzione Lambda.

Nella politica basata sulle risorse, ci sono tre tipi di risorse che puoi concedere l'autorizzazione per la funzione Lambda.

  • Concedere il permesso ai servizi AWS
  • Concedere l'autorizzazione a un altro conto AWS
  • Concedere le autorizzazioni per invocare la funzione Lambda tramite URL

Per questa demo, configureremo un secchio S3 dello stesso account per invocare la funzione Lambda ogni volta che viene caricato un nuovo oggetto S3. Per questa configurazione, selezionare il Servizio AWS e quindi selezionare il file S3 come servizio. Immettere l'ID account AWS in cui esiste il bucket S3, i.e., Il tuo ID account AWS. Dopo aver fornito l'ID account, fornire l'ARN del secchio S3, che avrà il permesso di invocare la funzione Lambda, quindi selezionare Lambda: InvokeFunction Per quanto ci possa invocare la funzione Lambda dal secchio S3.

Dopo aver aggiunto tutte queste informazioni, fare clic sul pulsante Salva per aggiungere la politica basata sulle risorse alla funzione Lambda. Puoi anche dare un'occhiata al formato JSON della politica basata sulle risorse allegata alla funzione Lambda.

Dalla sezione politica basata sulle risorse nel autorizzazioni Scheda, fare clic sulla politica basata sulle risorse appena creata e visualizzerà la politica in formato JSON.

Rimozione della politica basata sulle risorse

È possibile rimuovere la politica basata sulle risorse quando non è necessario consentire ad altri servizi AWS di accedere alla funzione Lambda. Mantenere la politica basata sulle risorse collegata a una funzione Lambda può essere dannoso in quanto garantisce l'accesso di altri servizi AWS alla funzione Lambda.

Per rimuovere la politica basata sulle risorse, vai al dichiarazioni basate sulle risorse sezione del autorizzazioni scheda. Seleziona la politica basata sulle risorse che si desidera rimuovere e fare clic su Eliminare pulsante e eliminerà la politica basata sulle risorse dalla funzione Lambda.

Chiederà conferma prima di rimuovere la politica basata sulle risorse e puoi confermare la cancellazione facendo clic sul eliminare pulsante.

Conclusione

In questo blog, abbiamo studiato come gestire il permesso con la funzione AWS Lambda. Esistono due tipi di autorizzazioni che possono essere assegnati a Lambda; Uno è le autorizzazioni basate sul ruolo Lambda iam che consentono a AWS Lambda di accedere ad altri servizi AWS e l'altro è autorizzazioni basate sulle risorse che consentono ad altri servizi di accedere alla funzione Lambda. In questo blog, abbiamo studiato la differenza tra i due tipi di politiche e abbiamo visto come potremmo aggiornare entrambe le politiche per concedere le autorizzazioni.