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à.
Per configurare Lambda @Edge, devi disporre delle seguenti autorizzazioni e ruoli IAM per: AWS Lambda
-
Autorizzazioni IAM: queste autorizzazioni ti consentono di creare la tua funzione Lambda e associarla alla tua distribuzione. CloudFront
-
Un ruolo di esecuzione della funzione Lambda (ruolo IAM): i responsabili del servizio Lambda assumono questo ruolo per eseguire la funzione.
-
Ruoli collegati ai servizi per Lambda @Edge: i ruoli collegati ai servizi consentono a specifiche funzioni Lambda di Servizi AWS replicare e abilitare l'utilizzo di file di registro. Regioni AWS CloudWatch CloudFront
Autorizzazioni IAM necessarie per associare le funzioni Lambda @Edge alle distribuzioni CloudFront
Oltre alle autorizzazioni IAM necessarie per Lambda, sono necessarie le seguenti autorizzazioni per associare le funzioni Lambda alle distribuzioni: CloudFront
-
lambda:GetFunction
— Concede l'autorizzazione a ottenere informazioni di configurazione per la funzione Lambda e un URL predefinito per scaricare.zip
un file che contiene la funzione. -
lambda:EnableReplication*
— Concede l'autorizzazione alla politica delle risorse in modo che il servizio di replica Lambda possa ottenere il codice e la configurazione della funzione. -
lambda:DisableReplication*
— Concede l'autorizzazione alla politica delle risorse in modo che il servizio di replica Lambda possa eliminare la funzione.Importante
È necessario aggiungere l'asterisco (
*
) alla fine delle azioni and.lambda:EnableReplication*
lambda:DisableReplication*
-
Per la risorsa, specificate l'ARN della versione della funzione che desiderate eseguire quando si verifica un CloudFront evento, come nell'esempio seguente:
arn:aws:lambda:us-east-1:123456789012:function:
TestFunction
:2 -
iam:CreateServiceLinkedRole
— Concede l'autorizzazione a creare un ruolo collegato al servizio che Lambda @Edge utilizza per replicare le funzioni Lambda. CloudFront Dopo aver configurato Lambda @Edge per la prima volta, il ruolo collegato al servizio viene creato automaticamente per te. Non è necessario aggiungere questa autorizzazione ad altre distribuzioni che utilizzano Lambda @Edge. -
cloudfront:UpdateDistribution
ocloudfront:CreateDistribution
— Concede l'autorizzazione ad aggiornare o creare una distribuzione.
Per ulteriori informazioni, consulta i seguenti argomenti:
-
Autorizzazioni di accesso alle risorse Lambda nella Developer Guide AWS Lambda
Ruolo di esecuzione della funzione per i principali del servizio
Devi creare un ruolo IAM che i responsabili del lambda.amazonaws.com
edgelambda.amazonaws.com
servizio possano assumere quando eseguono la tua funzione.
Suggerimento
Quando crei la tua funzione nella console Lambda, puoi scegliere di creare un nuovo ruolo di esecuzione utilizzando un modello di AWS policy. Questo passaggio aggiunge automaticamente le autorizzazioni Lambda @Edge richieste per eseguire la funzione. Vedi il Passaggio 5 del tutorial: Creazione di una semplice funzione Lambda @Edge.
Per ulteriori informazioni sulla creazione manuale di un ruolo IAM, consulta Creating roles and attaching policies (console) nella IAM User Guide.
Esempio: politica di fiducia dei ruoli
Puoi aggiungere questo ruolo nella scheda Trust Relationship nella console IAM. Non aggiungere questa politica nella scheda Autorizzazioni.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"lambda.amazonaws.com",
"edgelambda.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
Per ulteriori informazioni sulle autorizzazioni da concedere al ruolo di esecuzione, consulta le autorizzazioni di accesso alle risorse Lambda nella AWS Lambda Developer Guide.
Note
-
Per impostazione predefinita, ogni volta che un CloudFront evento attiva una funzione Lambda, i dati vengono scritti CloudWatch nei log. Se si desidera utilizzare questi registri, il ruolo di esecuzione richiede l'autorizzazione per scrivere dati nei registri. CloudWatch È possibile utilizzare il valore predefinito AWSLambdaBasicExecutionRole per concedere l'autorizzazione al ruolo di esecuzione.
Per ulteriori informazioni sui CloudWatch registri, vedereRegistri delle funzioni Edge.
-
Se il codice della funzione Lambda accede ad altre AWS risorse, ad esempio la lettura di un oggetto da un bucket S3, il ruolo di esecuzione necessita dell'autorizzazione per eseguire tale azione.
Ruoli collegati ai servizi per Lambda@Edge
Lambda @Edge utilizza ruoli collegati ai servizi IAM. Un ruolo collegato ai servizi è un tipo univoco di ruolo IAM collegato direttamente a un servizio. I ruoli collegati ai servizi sono definiti automaticamente dal servizio stesso e includono tutte le autorizzazioni richieste dal servizio per eseguire chiamate agli altri servizi AWS per tuo conto.
Lambda @Edge utilizza i seguenti ruoli collegati ai servizi IAM:
-
AWSServiceRoleForLambdaReplicator: Lambda@Edge utilizza questo ruolo per consentire a Lambda@Edge di replicare funzioni su Regioni AWS.
Quando aggiungi per la prima volta un trigger Lambda @Edge CloudFront, un ruolo denominato AWSServiceRoleForLambdaReplicator viene creato automaticamente per consentire a Lambda @Edge di replicare le funzioni su. Regioni AWS Questo ruolo è necessario per utilizzare le funzioni Lambda @Edge. L'ARN per AWSServiceRoleForLambdaReplicator il ruolo è simile al seguente esempio:
arn:aws:iam::123456789012:role/aws-service-role/replicator.lambda.amazonaws.com/AWSServiceRoleForLambdaReplicator
-
AWSServiceRoleForCloudFrontLogger— CloudFront utilizza questo ruolo per inviare i file di registro in CloudWatch. Puoi utilizzare i file di registro per eseguire il debug degli errori di convalida Lambda @Edge.
Il AWSServiceRoleForCloudFrontLogger il ruolo viene creato automaticamente quando si aggiunge l'associazione di funzioni Lambda @Edge per consentire di inviare i file CloudFront di registro degli errori Lambda @Edge a. CloudWatch L'ARN per AWSServiceRoleForCloudFrontLogger il ruolo è simile al seguente:
arn:aws:iam::account_number:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger
Un ruolo collegato ai servizi semplifica la configurazione e l'utilizzo di Lambda@Edge perché non dovrai più aggiungere manualmente le autorizzazioni necessarie. Lambda@Edge definisce le autorizzazioni dei relativi ruoli associati ai servizi e solo Lambda@Edge potrà assumere i propri ruoli. Le autorizzazioni definite includono policy di trust e di autorizzazioni. Le policy di autorizzazioni non possono essere attribuite a nessun'altra entità IAM.
È necessario rimuovere tutte le risorse associate CloudFront o Lambda @Edge prima di poter eliminare un ruolo collegato al servizio. Questo aiuta a proteggere le risorse Lambda @Edge in modo da non rimuovere un ruolo collegato al servizio che è ancora necessario per accedere alle risorse attive.
Per ulteriori informazioni sui ruoli collegati al servizio, consulta Ruoli collegati ai servizi per CloudFront.
Autorizzazioni del ruolo collegato ai servizi per Lambda@Edge
Lambda @Edge utilizza due ruoli collegati ai servizi, denominati AWSServiceRoleForLambdaReplicator e AWSServiceRoleForCloudFrontLogger. Le sezioni seguenti descrivono le autorizzazioni per ciascuno di questi ruoli.
Indice
Autorizzazioni del ruolo collegato ai servizi per Lambda Replicator
Questo ruolo collegato al servizio consente a Lambda di replicare le funzioni Lambda@Edge su Regioni AWS.
Il AWSServiceRoleForLambdaReplicator service-linked role si fida che il replicator.lambda.amazonaws.com
servizio assuma il ruolo.
La policy delle autorizzazioni del ruolo consente a Lambda@Edge di eseguire le seguenti operazioni sulle risorse specificate:
-
lambda:CreateFunction
-arn:aws:lambda:*:*:function:*
-
lambda:DeleteFunction
-arn:aws:lambda:*:*:function:*
-
lambda:DisableReplication
-arn:aws:lambda:*:*:function:*
-
iam:PassRole
-all AWS resources
-
cloudfront:ListDistributionsByLambdaFunction
-all AWS resources
Autorizzazioni di ruolo collegate al servizio per il logger CloudFront
Questo ruolo collegato al servizio consente di CloudFront inviare file di registro in CloudWatch modo da poter eseguire il debug degli errori di convalida Lambda @Edge.
Il AWSServiceRoleForCloudFrontLogger service-linked role si fida che il servizio assuma il ruolo. logger.cloudfront.amazonaws.com
La politica di autorizzazione dei ruoli consente a Lambda @Edge di completare le seguenti azioni sulla arn:aws:logs:*:*:log-group:/aws/cloudfront/*
risorsa specificata:
-
logs:CreateLogGroup
-
logs:CreateLogStream
-
logs:PutLogEvents
Per consentire a un'entità IAM (ad esempio un utente, un gruppo o un ruolo) di eliminare ruoli Lambda@Edge collegati ai servizi, devi configurare le autorizzazioni. Per ulteriori informazioni, consulta Autorizzazioni del ruolo collegato ai servizi nella Guida per l'utente di IAM.
Creazione di ruoli collegati ai servizi per Lambda@Edge
In genere non si creano manualmente i ruoli collegati ai servizi per Lambda@Edge. Il servizio crea i ruoli automaticamente nei seguenti casi:
-
Quando si crea un trigger per la prima volta, il servizio crea il AWSServiceRoleForLambdaReplicator ruolo (se non esiste già). Questo ruolo consente a Lambda di replicare le funzioni Lambda @Edge su. Regioni AWS
Se lo elimini, il ruolo collegato ai servizi verrà creato nuovamente quando aggiungi un nuovo trigger per Lambda@Edge in una distribuzione.
-
Quando aggiorni o crei una CloudFront distribuzione con un'associazione Lambda @Edge, il servizio crea il AWSServiceRoleForCloudFrontLogger ruolo (se il ruolo non esiste già). Questo ruolo consente di CloudFront inviare i file di registro a CloudWatch.
Se elimini il ruolo collegato al servizio, il ruolo verrà creato nuovamente quando aggiorni o crei una CloudFront distribuzione con un'associazione Lambda @Edge.
Per creare manualmente questi ruoli collegati ai servizi, puoi eseguire i seguenti comandi (): AWS Command Line Interface AWS CLI
Per creare AWSServiceRoleForLambdaReplicator role
-
Esegui il comando seguente.
aws iam create-service-linked-role --aws-service-name replicator.lambda.amazonaws.com
Per creare il AWSServiceRoleForCloudFrontLogger role
-
Esegui il comando seguente.
aws iam create-service-linked-role --aws-service-name logger.cloudfront.amazonaws.com
Modifica dei ruoli Lambda@Edge collegati ai servizi
Lambda @Edge non consente di modificare AWSServiceRoleForLambdaReplicator oppure AWSServiceRoleForCloudFrontLogger ruoli collegati ai servizi. Dopo che il servizio ha creato un ruolo collegato al servizio, non è possibile modificare il nome del ruolo perché diverse entità potrebbero fare riferimento al ruolo. Puoi tuttavia utilizzare IAM per modificare la descrizione del ruolo. Per ulteriori informazioni, consulta Modifica di un ruolo collegato ai servizi nella Guida per l'utente di IAM.
Supportato Regioni AWS per i ruoli collegati ai servizi Lambda @Edge
CloudFront supporta l'utilizzo di ruoli collegati ai servizi per Lambda @Edge nei seguenti casi: Regioni AWS
-
Stati Uniti orientali (Virginia settentrionale) –
us-east-1
-
Stati Uniti orientali (Ohio) –
us-east-2
-
Stati Uniti occidentali (California settentrionale) –
us-west-1
-
Stati Uniti occidentali (Oregon) –
us-west-2
-
Asia Pacifico (Mumbai) –
ap-south-1
-
Asia Pacifico (Seul) -
ap-northeast-2
-
Asia Pacifico (Singapore) –
ap-southeast-1
-
Asia Pacifico (Sydney) -
ap-southeast-2
-
Asia Pacifico (Tokyo) -
ap-northeast-1
-
Europe (Francoforte) –
eu-central-1
-
Europa (Irlanda) –
eu-west-1
-
Europe (Londra) –
eu-west-2
-
Sud America (San Paolo) –
sa-east-1