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à.
Configurazione delle policy IAM per i punti di accesso Lambda per oggetti
I punti di accesso Amazon S3 supportano le policy delle risorse AWS Identity and Access Management (IAM) che puoi utilizzare per controllare l'uso del punto di accesso in base alla risorsa, all'utente o ad altre condizioni. È possibile controllare l'accesso tramite una policy di risorse opzionale sul punto di accesso Lambda per oggetti o una policy di risorse sul punto di accesso di supporto. Per step-by-step esempi, consulta Tutorial: trasformazione dei dati per l'applicazione con S3 Object Lambda eTutorial: rilevamento e oscuramento dei dati PII con S3 Object Lambda e Amazon Comprehend.
Per utilizzare i punti di accesso Lambda per oggetti, le seguenti quattro risorse devono disporre delle seguenti autorizzazioni:
-
L'identità IAM, ad esempio un utente o un ruolo. Per ulteriori informazioni sulle identità IAM e sulle best practice, consulta Identità IAM (utenti, gruppi di utenti e ruoli) nella Guida per l'utente di IAM.
-
Il bucket e il relativo punto di accesso standard associato Quando utilizzi i punti di accesso Lambda per oggetti, questo punto di accesso standard è noto come punto di accesso di supporto.
-
Il punto di accesso Lambda per oggetti.
-
La AWS Lambda funzione.
Importante
Prima di salvare la politica, assicurati di risolvere gli avvisi di sicurezza, gli errori, gli avvisi generali e i suggerimenti di. AWS Identity and Access Management Access Analyzer IAM Access Analyzer esegue controlli sulle policy per convalidare le policy rispetto alla grammatica delle policy IAM e alle best practice. Questi controlli generano risultati e forniscono raccomandazioni attuabili per aiutarti a creare policy funzionali e conformi alle best practice di sicurezza.
Per ulteriori informazioni sulla convalida delle policy tramite IAM Access Analyzer, consulta Convalida delle policy di IAM Access Analyzer nella Guida per l'utente di IAM. Per visualizzare un elenco delle avvertenze, degli errori e dei suggerimenti restituiti da IAM Access Analyzer, consulta il Riferimento al controllo delle policy di IAM Access Analyzer.
In questi esempi di policy si presuppone di disporre delle seguenti risorse:
-
Un bucket Amazon S3 con il seguente nome della risorsa Amazon (ARN):
arn:aws:s3:::
amzn-s3-demo-bucket1
-
Un punto di accesso standard Amazon S3 su questo bucket con il seguente ARN:
arn:aws:s3:
us-east-1
:111122223333
:accesspoint/my-access-point
-
Un punto di accesso Lambda per oggetti con il seguente ARN:
arn:aws:s3-object-lambda:
us-east-1
:111122223333
:accesspoint/my-object-lambda-ap
-
Una AWS Lambda funzione con il seguente ARN:
arn:aws:lambda:
us-east-1
:111122223333
:function:MyObjectLambdaFunction
Nota
Se si utilizza una funzione Lambda del proprio account, è necessario includere la versione specifica della funzione nell'istruzione della policy. Nel seguente ARN di esempio, la versione è indicata da 1
:
arn:aws:lambda:
us-east-1
:111122223333
:function:MyObjectLambdaFunction
:1
Lambda non supporta l'aggiunta di policy IAM alla versione $LATEST
. Per ulteriori informazioni sulle versioni delle funzioni Lambda, consulta Versioni delle funzioni Lambda nella Guida per gli sviluppatori di AWS Lambda .
Esempio : policy di bucket che delega il controllo degli accessi ai punti di accesso standard
Il seguente esempio di policy di bucket S3 delega il controllo degli accessi di un bucket ai relativi punti di accesso standard. Questa policy consente l'accesso completo a tutti i punti di accesso di proprietà dell'account del proprietario del bucket. Pertanto, tutto l'accesso a questo bucket è controllato dalle policy associate ai punti di accesso. Gli utenti possono eseguire la lettura dal bucket solo mediante un punto di accesso; ciò significa che le operazioni possono essere richiamate solo tramite i punti di accesso. Per ulteriori informazioni, consulta Delegazione del controllo di accesso agli access point.
{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS":"
account-ARN
"}, "Action" : "*", "Resource" : [ "arn:aws:s3:::amzn-s3-demo-bucket1
", "arn:aws:s3:::amzn-s3-demo-bucket1
/*" ], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "Bucket owner's account ID
" } } }] }
Esempio - Policy IAM che concede a un utente le autorizzazioni necessarie per utilizzare un punto di accesso Lambda per oggetti
La seguente policy IAM concede a un utente le autorizzazioni per la funzione Lambda, il punto di accesso standard e il punto di accesso Lambda per oggetti.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLambdaInvocation", "Action": [ "lambda:InvokeFunction" ], "Effect": "Allow", "Resource": "arn:aws:lambda:
us-east-1
:111122223333
:function:MyObjectLambdaFunction
:1
", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "s3-object-lambda.amazonaws.com" ] } } }, { "Sid": "AllowStandardAccessPointAccess", "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:us-east-1
:111122223333
:accesspoint/my-access-point
/*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "s3-object-lambda.amazonaws.com" ] } } }, { "Sid": "AllowObjectLambdaAccess", "Action": [ "s3-object-lambda:Get*", "s3-object-lambda:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3-object-lambda:us-east-1
:111122223333
:accesspoint/my-object-lambda-ap
" } ] }
Abilitazione delle autorizzazioni per i ruoli di esecuzione Lambda
Quando vengono effettuate richieste GET
a un punto di accesso Lambda per oggetti, la funzione Lambda deve essere autorizzata a inviare dati al punto di accesso Lambda per oggetti S3. Per fornire questa autorizzazione, abilita l'autorizzazione s3-object-lambda:WriteGetObjectResponse
sul ruolo di esecuzione della funzione Lambda. Puoi creare un nuovo ruolo di esecuzione o aggiornare un ruolo esistente.
Nota
La funzione richiede l'autorizzazione s3-object-lambda:WriteGetObjectResponse
solo se stai effettuando una richiesta GET
.
Per creare un ruolo di esecuzione nella console IAM
-
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione a sinistra seleziona Ruoli.
-
Scegliere Crea ruolo.
-
In Common use cases (Casi di utilizzo comuni), scegliere Lambda.
-
Scegli Next (Successivo).
-
Nella pagina Aggiungi autorizzazioni, cerca la policy AWS gestita
AmazonS3ObjectLambdaExecutionRolePolicy
, quindi seleziona la casella di controllo accanto al nome della policy. Questa politica dovrebbe contenere l'operazione
s3-object-lambda:WriteGetObjectResponse
. -
Scegli Next (Successivo).
-
Nella pagina Name, review, and create (Denomina, rivedi e crea), in Role name (Nome ruolo) immetti
s3-object-lambda-role
. -
(Facoltativo) Aggiungi una descrizione e i tag per questo ruolo.
-
Scegliere Crea ruolo.
-
Applica il nuovo
s3-object-lambda-role
quale ruolo di esecuzione della funzione Lambda. Questa operazione può essere eseguita durante o dopo la creazione della funzione Lambda nella console Lambda.
Per ulteriori informazioni sui ruoli di esecuzione, consulta la sezione Ruolo di esecuzione Lambda nella Guida per gli sviluppatori di AWS Lambda .
Utilizzo delle chiavi di contesto con i punti di accesso Lambda per oggetti
S3 Object Lambda valuterà le chiavi di contesto come s3-object-lambda:TlsVersion
o s3-object-lambda:AuthType
in base alla connessione o alla firma della richiesta. Tutte le altre chiavi di contesto, ad esempio s3:prefix
, vengono valutate da Amazon S3.