Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Come posso usare le policy basate su risorse con AWS Lambda per concedere l'autorizzazione ai servizi AWS?
Vorrei usare le policy basate su risorse per AWS Lambda per concedere l'autorizzazione ai servizi AWS.
Breve descrizione
Puoi usare l'AWS Command Line Interface (AWS CLI) con Lambda per concedere l'autorizzazione ai servizi AWS usando policy basate su risorse. Per ulteriori informazioni, consulta Utilizzo delle policy basate su risorse per AWS Lambda.
Risoluzione
L'esempio seguente aggiunge l'autorizzazione per EventBridge e conferma che la funzione Lambda richiama la policy basata su risorse.
Nota:
- se ricevi un messaggio di errore durante l’esecuzione dei comandi AWS CLI, assicurati di usare la versione più recente di AWS CLI.
- Sostituisci your-event e your-function con le tue variabili e your-region con la tua regione AWS.
Conferma che nella funzione Lambda non sia configurata una policy basata su risorse
Alcuni servizi AWS come EventBridge creano una policy basata su risorse per la funzione Lambda. Verifica che la policy basata su risorse non disponga dell'autorizzazione per EventBridge con il comando di AWS CLI get-policy, in modo analogo a quanto segue:
aws lambda get-policy --region your-region --function-name your-function An error occurred (ResourceNotFoundException) when calling the GetPolicy operation: The resource you requested does not exist.
Questo errore conferma che nella funzione Lambda non è configurata una policy basata su risorse.
Aggiungere autorizzazioni per EventBridge
Esegui il comando di AWS CLI add-permission per richiamare la funzione Lambda, in modo analogo a quanto segue:
aws lambda add-permission --region your-region --function-name your-function --statement-id "your-event-permission" --action "lambda:InvokeFunction" --principal "events.amazonaws.com" --source-arn "arn:aws:events:your-region:xxxxxxxxxxxxx:rule/your-event" { "Statement": "{\"Sid\":\"your-event-permission\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"events.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:your-region:xxxxxxxxxxxxx:function:your-function\",\"Condition\":{\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:events:your-region:xxxxxxxxxxxxx:rule/your-event\"}}}" }
Verificare le autorizzazioni per la policy basata su risorse della funzione Lambda
Esegui nuovamente il comando get-policy di AWS CLI, in modo analogo a quanto segue:
aws lambda get-policy --region your-region --function-name your-function { "Version": "2012-10-17", "Id": "default", "Statement": [ { "Sid": "your-event-permission", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:your-region:xxxxxxxxxxxxx:function:your-function", "Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:events:your-region:xxxxxxxxxxxxx:rule/your-event" } } } ] }
(Facoltativo) Rimozione dell'autorizzazione da una policy basata su risorse della funzione Lambda
Se non hai più necessità che un servizio AWS attivi la funzione Lambda, puoi eseguire il comando di AWS CLI remove-permission, in modo analogo a quanto segue:
aws lambda remove-permission --region your-region --function-name your-function --statement-id "your-event-permission"
Nota: la quota delle policy basate su risorse della funzione Lambda è di 20 KB. Per ulteriori informazioni, consulta Quote di Lambda.
Informazioni correlate
In che modo posso risolvere l'errore "La dimensione della policy finale supera il limite" di Lambda?

Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata un anno fa