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à.
Risorse e condizioni per le azioni Lambda
Puoi limitare l'ambito delle autorizzazioni di un utente specificando le risorse e le condizioni in una policy AWS Identity and Access Management (IAM). Ogni operazione in una policy supporta una combinazione di tipi di risorse e condizioni che varia a seconda del comportamento dell'operazione.
Ogni dichiarazione di policy IAM concede l'autorizzazione a un'operazione eseguita su una risorsa. Quando l'operazione non agisce su una risorsa designata oppure quando concedi l'autorizzazione per eseguire l'operazione su tutte le risorse, il valore della risorsa nella policy è un carattere jolly (*
). Per molte operazioni, puoi limitare le risorse che un utente può modificare specificando il nome della risorsa Amazon (ARN) di una risorsa o uno schema ARN che corrisponde a più risorse.
Per limitare le autorizzazioni in base alla risorsa, specifica la risorsa in base all'ARN.
Formato ARN della risorsa Lambda
-
Funzione –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
-
Versione funzione –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
:1
-
Alias funzione –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
:TEST
-
Mappatura delle origini eventi –
arn:aws:lambda:
us-west-2
:123456789012
:event-source-mapping:fa123456-14a1-4fd2-9fec-83de64ad683de6d47
-
Livello –
arn:aws:lambda:
us-west-2
:123456789012
:layer:my-layer
-
Versione livello –
arn:aws:lambda:
us-west-2
:123456789012
:layer:my-layer
:1
Ad esempio, la seguente politica consente a un utente di Account AWS 123456789012
richiamare una funzione denominata my-function
nella regione Stati Uniti occidentali (Oregon) AWS .
Esempio Invocare la policy di una funzione
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Invoke", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ],
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-function"
} ] }
Questo è un caso speciale in cui l'identificatore dell'operazione (lambda:InvokeFunction
) differisce dall'operazione API (Invoke). Per altre operazioni, l'identificatore dell'operazione è il nome dell'operazione preceduto dal prefisso lambda:
.
Sections
Condizioni delle policy
Le condizioni sono un elemento opzionale della policy che applica una logica aggiuntiva per stabilire se è consentita un'operazione. Oltre alle condizioni comuni supportate da tutte le operazioni, Lambda definisce i tipi di condizione che è possibile utilizzare per limitare i valori dei parametri aggiuntivi su alcune operazioni.
Ad esempio, la condizione lambda:Principal
consente di limitare il servizio o un account al quale un utente può concedere l'accesso a una chiamata su una policy basata sulle risorse della funzione. La policy seguente consente a un utente di concedere l'autorizzazione agli argomenti del Servizio di notifica semplice Amazon (Amazon SNS) per richiamare una funzione denominata test
.
Esempio Gestione delle autorizzazioni di una policy della funzione
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageFunctionPolicy", "Effect": "Allow", "Action": [ "lambda:AddPermission", "lambda:RemovePermission" ], "Resource": "arn:aws:lambda:us-west-2:123456789012:function:test:*",
"Condition": { "StringEquals": { "lambda:Principal": "sns.amazonaws.com" } }
} ] }
La condizione richiede che il principale sia Amazon SNS e non un altro servizio o account. Il modello di risorsa richiede che il nome della funzione sia test
e includa un numero di versione o un alias. Ad esempio, test:v1
.
Per ulteriori informazioni sulle risorse e le condizioni per Lambda e altri AWS servizi, consulta Azioni, risorse e chiavi di condizione per AWS i servizi nel Service Authorization Reference.
Nomi delle risorse funzione
Puoi fare riferimento a una funzione Lambda in un rendiconto sulla policy utilizzando un Amazon Resource Name (ARN). Il formato dell'ARN di una funzione dipende dal fatto che si stia facendo riferimento all'intera funzione (non qualificato) o a una versione di funzione o a un alias (qualificato).
Quando effettuano chiamate API Lambda, gli utenti possono specificare una versione o un alias passando una versione ARN o un alias ARN nel parametro o impostando un valore GetFunctionFunctionName
nel parametro. GetFunctionQualifier
Lambda prende decisioni di autorizzazione confrontando l'elemento risorsa nella policy IAM con FunctionName
e Qualifier
passati nelle chiamate API. Se c'è un errore, Lambda nega la richiesta.
Sia che si stia consentendo o negando un'operazione sulla funzione, è necessario utilizzare i tipi ARN della funzione corretti nell'istruzione di policy per ottenere i risultati previsti. Ad esempio, se la policy fa riferimento all'ARN non qualificato, Lambda accetta le richieste che fanno riferimento all'ARN non qualificato ma nega le richieste che fanno riferimento a un ARN qualificato.
Nota
Non puoi utilizzare un carattere jolly (*) per la corrispondenza con l'ID account. Per informazioni sulla sintassi accettata, consulta Documentazione di riferimento sulle policy JSON per IAM nella Guida per l'utente di IAM.
Esempio permettere la chiamata di un ARN non qualificato
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction"
} ] }
Se la policy fa riferimento a uno specifico ARN qualificato, Lambda accetta le richieste che fanno riferimento a quell'ARN ma nega le richieste che fanno riferimento all'ARN non qualificato o a un ARN qualificato diverso, ad esempio myFunction:2
.
Esempio permettere la chiamata di un ARN qualificato specifico
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:1"
} ] }
Se tua policy fa riferimento a un ARN qualificato utilizzando :*
, Lambda accetta qualsiasi ARN qualificato ma nega le richieste che fanno riferimento all'ARN non qualificato.
Esempio permettere la chiamata di un ARN qualificato
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:*"
} ] }
Se la tua policy fa riferimento a qualsiasi ARN che utilizza *
, Lambda accetta qualsiasi ARN qualificato o non qualificato.
Esempio permettere la chiamata di un ARN qualificato o non qualificato
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction*"
} ] }
Azioni funzione
Le operazioni alla base di una funzione possono essere limitate a una funzione specifica in base alla funzione, alla versione o all'ARN dell'alias, come descritto nella tabella riportata di seguito. Le operazioni che non supportano limitazioni di risorse sono concesse a tutte le risorse (*
).
Azioni funzione | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Azione | Risorsa | Condition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funzione Versione funzione Alias funzione |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Autorizzazione: |
Funzione Versione funzione Alias funzione |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funzione |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funzione |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteFunctionCodeSigningConfig |
Funzione |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funzione Alias funzione |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funzione |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteFunctionEventInvokeConfig |
Funzione |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DeleteProvisionedConcurrencyConfig |
Alias funzione Versione funzione |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Nessuno |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funzione |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Funzione |
|
Operazioni della mappatura dell'origine eventi
Per le mappature delle origini eventi, puoi limitare le autorizzazioni di eliminazione e aggiornamento a un'origine eventi specifica. La condizione lambda:FunctionArn
consente di limitare le funzioni che un utente può configurare per richiamare un origine eventi.
Per tali operazioni, la risorsa è la mappatura dell'origine evento, quindi Lambda fornisce una condizione che consente di limitare l'autorizzazione in base alla funzione che la mappatura dell'origine evento richiama.
Operazioni della mappatura dell'origine eventi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Azione | Risorsa | Condition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mappatura delle origini eventi |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Nessuno |
Azioni livello
Le operazioni relative ai livelli consentono di limitare i livelli che un utente può gestire o utilizzare con una funzione. Le operazioni che riguardano l'utilizzo e le autorizzazioni relative ai livelli agiscono su una versione di un livello, mentre PublishLayerVersion
agisce su un nome di livello. Entrambe possono essere utilizzate con i caratteri jolly per limitare i livelli che un utente può adottare in base al nome.
Nota
L'azione copre anche. GetLayerVersionGetLayerVersionByArn Lambda non supporta GetLayerVersionByArn
come azione IAM.
Azioni livello | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Azione | Risorsa | Condition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Versione livello |
Nessuno | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Livello |
Nessuno | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Nessuno |