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à.
Ottimizzazione delle sezioni Risorse e Condizioni delle politiche
Puoi limitare l'ambito delle autorizzazioni di un utente specificando risorse e condizioni in una AWS Identity and Access Management politica (). 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 IAM politica concede l'autorizzazione a un'azione 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 azioni, puoi limitare le risorse che un utente può modificare specificando l'Amazon Resource Name (ARN) di una risorsa o uno ARN schema che corrisponda a più risorse.
Per limitare le autorizzazioni per risorsa, specifica la risorsa per. ARN
Formato di risorse Lambda ARN
-
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 di azione (lambda:InvokeFunction
) è diverso dall'APIoperazione (Invoke). Per altre operazioni, l'identificatore dell'operazione è il nome dell'operazione preceduto dal prefisso lambda:
.
Sections
Comprensione della sezione Condizione nelle politiche
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 seguente politica consente a un utente di concedere l'autorizzazione agli argomenti di Amazon Simple Notification Service (AmazonSNS) per richiamare una funzione denominatatest
.
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.
Funzioni di riferimento nella sezione Risorse delle politiche
Fai riferimento a una funzione Lambda in una dichiarazione di policy utilizzando un Amazon Resource Name ()ARN. Il formato di una funzione ARN dipende dal fatto che tu stia facendo riferimento all'intera funzione (non qualificata) o a una versione o alias della funzione (qualificata).
Quando effettuano API chiamate Lambda, gli utenti possono specificare una versione o un alias passando una versione ARN o un alias ARN nel GetFunctionFunctionName
parametro o impostando un valore nel parametro. GetFunctionQualifier
Lambda prende decisioni di autorizzazione confrontando l'elemento risorsa nella IAM policy con le chiamate FunctionName
e quelle Qualifier
passateAPI. Se c'è un errore, Lambda nega la richiesta.
Sia che si consenta o si neghi un'azione sulla funzione, è necessario utilizzare i ARN tipi di funzione corretti nella dichiarazione di policy per ottenere i risultati attesi. Ad esempio, se la tua politica fa riferimento a un non qualificatoARN, Lambda accetta le richieste che fanno riferimento a un ARN non qualificato ma nega le richieste che fanno riferimento a un qualificato. ARN
Nota
Non puoi utilizzare un carattere jolly (*) per la corrispondenza con l'ID account. Per ulteriori informazioni sulla sintassi accettata, consulta il riferimento alle IAM JSON politiche nella Guida per l'utente. IAM
Esempio consentire l'invocazione di un non qualificato ARN
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction"
} ] }
Se la tua politica fa riferimento a un qualificato specificoARN, Lambda accetta le richieste che fanno riferimento a quello, ARN ma nega le richieste che fanno riferimento a un qualificato non qualificato ARN o diversoARN, ad esempio. myFunction:2
Esempio consentire l'invocazione di un qualificato specifico ARN
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:1"
} ] }
Se la tua politica fa riferimento a un ARN uso qualificato:*
, Lambda accetta qualsiasi uso qualificato ARN ma nega le richieste che fanno riferimento a chi non è qualificato. ARN
Esempio permettendo l'invocazione di qualsiasi elemento qualificato ARN
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:*"
} ] }
Se la tua politica fa riferimento a qualsiasi ARN utilizzo*
, Lambda accetta qualsiasi prodotto qualificato o non qualificato. ARN
Esempio permettendo l'invocazione di qualsiasi persona qualificata o non qualificata ARN
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction*"
} ] }
Azioni funzionali supportate
Le azioni che operano su una funzione possono essere limitate a una funzione specifica per funzione, versione o aliasARN, come descritto nella tabella seguente. Le operazioni che non supportano limitazioni di risorse sono concesse a tutte le risorse (*
).
Azione | Risorsa | Condizione |
---|---|---|
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 |
|
Azioni di mappatura delle sorgenti degli eventi supportate
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 | Condizione | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mappatura delle origini eventi |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Nessuno |
Azioni di livello supportate
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'GetLayerVersionazione copre anche GetLayerVersionByArn. Lambda non supporta l'GetLayerVersionByArn
azione. IAM
Azioni livello | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Azione | Risorsa | Condizione | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Versione livello |
Nessuno | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Livello |
Nessuno | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Nessuno |