Configurazione delle IAM politiche per gli access point Object Lambda - Amazon Simple Storage Service

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 IAM politiche per gli access point Object Lambda

I punti di accesso Amazon S3 supportano AWS Identity and Access Management (IAM) politiche di risorse 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, vedi Tutorial: trasformazione dei dati per l'applicazione con S3 Object Lambda eTutorial: rilevamento e redazione PII dei dati 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'IAMidentità, ad esempio l'utente o il ruolo. Per ulteriori informazioni sulle IAM identità e sulle procedure consigliate, consulta IAMidentità (utenti, gruppi di utenti e ruoli) nella Guida per l'IAMutente.

  • 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 IAMAccess Analyzer esegue controlli sulle policy per convalidare la policy rispetto alla grammatica e alle best practice IAM delle policy. Questi controlli generano risultati e forniscono suggerimenti utili per aiutarti a creare policy funzionali e conformi alle best practice per la sicurezza.

Per ulteriori informazioni sulla convalida delle policy utilizzando IAM Access Analyzer, consulta la sezione Convalida delle policy di IAM Access Analyzer nella Guida per l'utente. IAM Per visualizzare un elenco degli avvisi, degli errori e dei suggerimenti restituiti da IAM Access Analyzer, vedere IAM il riferimento per il controllo delle politiche di Access Analyzer.

In questi esempi di policy si presuppone di disporre delle seguenti risorse:

  • Un bucket Amazon S3 con il seguente Amazon Resource Name (): ARN

    arn:aws:s3:::amzn-s3-demo-bucket1

  • Un punto di accesso standard Amazon S3 su questo bucket con quanto segue: ARN

    arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point

  • Un punto di accesso Object Lambda con quanto segue: ARN

    arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/my-object-lambda-ap

  • Una AWS Lambda funzione con quanto segue: ARN

    arn:aws:lambda:us-east-1:111122223333:function:MyObjectLambdaFunction

Nota

Se utilizzi una funzione Lambda dal tuo account, devi includere la versione della funzione specifica nella tua dichiarazione politica. Nell'esempio seguenteARN, la versione è indicata da 1:

arn:aws:lambda:us-east-1:111122223333:function:MyObjectLambdaFunction:1

Lambda non supporta l'aggiunta IAM di policy 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 — IAM politica che concede a un utente le autorizzazioni necessarie per utilizzare un punto di accesso Object Lambda

La seguente IAM politica concede a un utente le autorizzazioni per la funzione Lambda, il punto di accesso standard e il punto di accesso Object Lambda.

{ "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 GET richieste a un punto di accesso Object Lambda, la funzione Lambda necessita dell'autorizzazione per inviare dati a S3 Object Lambda Access Point. 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
  1. Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione a sinistra seleziona Ruoli.

  3. Scegliere Crea ruolo.

  4. In Common use cases (Casi di utilizzo comuni), scegliere Lambda.

  5. Scegli Next (Successivo).

  6. 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.

  7. Scegli Next (Successivo).

  8. Nella pagina Name, review, and create (Denomina, rivedi e crea), in Role name (Nome ruolo) immetti s3-object-lambda-role.

  9. (Facoltativo) Aggiungi una descrizione e i tag per questo ruolo.

  10. Scegliere Crea ruolo.

  11. 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.