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à.
Concedere agli utenti l'accesso a una funzione Lambda
Utilizza policy basate sull'identità per consentire a utenti, gruppi di utenti o ruoli di eseguire operazioni sulle funzioni Lambda.
Nota
Per una funzione definita come immagine del contenitore, l'autorizzazione dell'utente per accedere all'immagine deve essere configurata in Amazon Elastic Container Registry (AmazonECR). Per un esempio, consulta le politiche dei ECR repository di Amazon.
Di seguito viene illustrato un esempio di policy di autorizzazione con ambito di applicazione limitato. Ciò consente a un utente di creare e gestire le funzioni Lambda denominate con un prefisso designato (intern-
) e configurate con un ruolo di esecuzione designato.
Esempio Policy di sviluppo delle funzioni
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnlyPermissions", "Effect": "Allow", "Action": [ "lambda:GetAccountSettings", "lambda:GetEventSourceMapping", "lambda:GetFunction", "lambda:GetFunctionConfiguration", "lambda:GetFunctionCodeSigningConfig", "lambda:GetFunctionConcurrency", "lambda:ListEventSourceMappings", "lambda:ListFunctions", "lambda:ListTags", "iam:ListRoles" ], "Resource": "*" }, { "Sid": "DevelopFunctions", "Effect": "Allow", "NotAction": [ "lambda:AddPermission", "lambda:PutFunctionConcurrency" ], "Resource": "arn:aws:lambda:*:*:function:intern-*" }, { "Sid": "DevelopEventSourceMappings", "Effect": "Allow", "Action": [ "lambda:DeleteEventSourceMapping", "lambda:UpdateEventSourceMapping", "lambda:CreateEventSourceMapping" ], "Resource": "*", "Condition": { "StringLike": { "lambda:FunctionArn": "arn:aws:lambda:*:*:function:intern-*" } } }, { "Sid": "PassExecutionRole", "Effect": "Allow", "Action": [ "iam:ListRolePolicies", "iam:ListAttachedRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:PassRole", "iam:SimulatePrincipalPolicy" ], "Resource": "arn:aws:iam::*:role/intern-lambda-execution-role" }, { "Sid": "ViewLogs", "Effect": "Allow", "Action": [ "logs:*" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/intern-*" } ] }
Le autorizzazioni nella policy sono organizzate in dichiarazioni in base alle risorse e le condizioni che supportano.
-
ReadOnlyPermissions
– La console Lambda utilizza queste autorizzazioni quando l'utente sfoglia e visualizza le funzioni. Esse non supportano i modelli di risorse o condizioni."Action": [ "lambda:GetAccountSettings", "lambda:GetEventSourceMapping", "lambda:GetFunction", "lambda:GetFunctionConfiguration", "lambda:GetFunctionCodeSigningConfig", "lambda:GetFunctionConcurrency", "lambda:ListEventSourceMappings", "lambda:ListFunctions", "lambda:ListTags", "iam:ListRoles" ], "Resource": "*"
-
DevelopFunctions
— Utilizzare qualsiasi azione Lambda che operi su funzioni con prefissointern-
, tranne e.AddPermission
PutFunctionConcurrency
AddPermission
modifica la politica basata sulle risorse sulla funzione e può avere implicazioni sulla sicurezza.PutFunctionConcurrency
riserva la capacità di scalabilità per una funzione e può sottrarre capacità ad altre funzioni."NotAction": [ "lambda:AddPermission", "lambda:PutFunctionConcurrency" ], "Resource": "arn:aws:lambda:*:*:function:intern-*"
-
DevelopEventSourceMappings
: gestisci le mappature di origine eventi sulle funzioni con prefissointern-
. Queste operazioni operano su mappature di origine eventi, ma è possibile limitarle per funzione con una condizione."Action": [ "lambda:DeleteEventSourceMapping", "lambda:UpdateEventSourceMapping", "lambda:CreateEventSourceMapping" ], "Resource": "*", "Condition": { "StringLike": { "lambda:FunctionArn": "arn:aws:lambda:*:*:function:intern-*" } }
-
PassExecutionRole
— Visualizza e passa solo un ruolo denominatointern-lambda-execution-role
, che deve essere creato e gestito da un utente con IAM autorizzazioni.PassRole
viene utilizzato quando si assegna un ruolo di esecuzione a una funzione."Action": [ "iam:ListRolePolicies", "iam:ListAttachedRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:PassRole", "iam:SimulatePrincipalPolicy" ], "Resource": "arn:aws:iam::*:role/intern-lambda-execution-role"
-
ViewLogs
— Utilizzate CloudWatch Logs per visualizzare i log delle funzioni il cui prefisso è.intern-
"Action": [ "logs:*" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/intern-*"
Questa policy consente a un utente di iniziare con Lambda, senza mettere le risorse di altri utenti a rischio. Non consente a un utente di configurare una funzione per l'attivazione o la chiamata di altri AWS servizi, il che richiede autorizzazioni più ampie. IAM Inoltre, non include l'autorizzazione a servizi che non supportano politiche ad ambito limitato, come CloudWatch X-Ray. Utilizzare le policy di sola lettura per questi servizi per fornire all'utente l'accesso ai parametri e ai dati di traccia.
Quando configuri i trigger per la tua funzione, devi accedere per utilizzare il AWS servizio che richiama la tua funzione. Ad esempio, per configurare un trigger Amazon S3, è necessario disporre dell'autorizzazione per utilizzare le operazioni Amazon S3 che gestiscono le notifiche dei bucket. Molte di queste autorizzazioni sono incluse nella policy _ managed. AWSLambda FullAccess