Configurazione delle IAM politiche per l'utilizzo dei punti di accesso - 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 l'utilizzo dei punti di accesso

I punti di accesso Amazon S3 supportano politiche di risorse AWS Identity and Access Management (IAM) che consentono di controllare l'uso del punto di accesso in base alla risorsa, all'utente o ad altre condizioni. Affinché un'applicazione o un utente possa accedere agli oggetti tramite un access point, sia l'access point che il bucket sottostante devono consentire la richiesta.

Importante

L'aggiunta di un punto di accesso S3 a un bucket non modifica il comportamento del bucket quando vi si accede direttamente tramite il nome del bucket o Amazon Resource Name (). ARN Tutte le operazioni esistenti inerenti il bucket continueranno a funzionare come prima. Le limitazioni incluse in una policy di access point si applicano solo alle richieste effettuate tramite quell'access point.

Quando utilizzi le policy relative alle IAM risorse, assicurati di risolvere gli avvisi di sicurezza, gli errori, gli avvisi generali e i suggerimenti relativi alla sicurezza prima di salvare la policy. AWS Identity and Access Management Access Analyzer IAMAccess Analyzer esegue controlli sulle policy per convalidare le policy in base alla grammatica e alle best IAM practice delle policy. Questi controlli generano risultati e forniscono suggerimenti 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.

Esempi di policy degli access point

Gli esempi seguenti mostrano come creare IAM politiche per controllare le richieste effettuate tramite un punto di accesso.

Nota

Le autorizzazioni concesse in una policy del punto di accesso sono valide solo se anche il bucket sottostante consente lo stesso accesso. Puoi farlo in due modi:

  1. (Consigliato) Delega il controllo degli accessi dal bucket al punto di accesso come descritto in Delegazione del controllo di accesso agli access point.

  2. Aggiungere le stesse autorizzazioni contenute nella policy del punto di accesso alla policy del bucket sottostante. Nel primo esempio di policy del punto di accesso viene illustrato come modificare la policy di bucket sottostante per consentire l'accesso necessario.

Esempio 1: Concessione della policy del punto di accesso

La seguente politica del punto di accesso concede IAM all'utente incluso Jane nell'account 123456789012 le autorizzazioni relative al punto di accesso GET e PUT agli oggetti con il prefisso Jane/ my-access-point nell'account 123456789012.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Jane" }, "Action": ["s3:GetObject", "s3:PutObject"], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/Jane/*" }] }
Nota

Affinché la politica dei punti di accesso garantisca efficacemente l'accesso a Jane, il bucket sottostante deve inoltre consentire lo stesso accesso a Jane. È possibile delegare il controllo degli accessi dal bucket al punto di accesso come descritto in. Delegazione del controllo di accesso agli access point In alternativa, è possibile aggiungere la policy seguente al bucket sottostante per concedere le autorizzazioni necessarie a Jane. Si noti che la voce Resource differisce tra le policy dell'access point e del bucket.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Jane" }, "Action": ["s3:GetObject", "s3:PutObject"], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/Jane/*" }] }
Esempio 2: Policy del punto di accesso con condizione di tag

La seguente politica del punto di accesso concede all'utente IAM Mateo in conto 123456789012 autorizzazioni agli GET oggetti tramite il punto di accesso my-access-point nell'account 123456789012 che hanno la chiave tag dati impostato con un valore di finanza.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Principal" : { "AWS": "arn:aws:iam::123456789012:user/Mateo" }, "Action":"s3:GetObject", "Resource" : "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/*", "Condition" : { "StringEquals": { "s3:ExistingObjectTag/data": "finance" } } }] }
Esempio 3: Policy del punto di accesso che consente l'elenco dei bucket

La seguente politica sui punti di accesso consente IAM all'utente Arnav di accedere all'account 123456789012 autorizzazione a visualizzare gli oggetti contenuti nel bucket sottostante il punto di accesso my-access-point nell'account 123456789012.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Arnav" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point" }] }
Esempio 4: Policy di controllo dei servizi

La seguente politica di controllo del servizio richiede che tutti i nuovi punti di accesso vengano creati con un'origine di rete virtuale privata cloud (VPC). Con questa policy, gli utenti dell'organizzazione non possono creare nuovi access point accessibili da Internet.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "s3:CreateAccessPoint", "Resource": "*", "Condition": { "StringNotEquals": { "s3:AccessPointNetworkOrigin": "VPC" } } }] }
Esempio 5 — Policy Bucket per limitare le operazioni di S3 alle VPC origini della rete

La seguente policy sui bucket limita l'accesso a tutte le operazioni sugli oggetti S3 per il bucket amzn-s3-demo-bucket ai punti di accesso con un'origine di rete. VPC

Importante

Prima di utilizzare un'istruzione come quella riportata nell'esempio, assicurati di non utilizzare funzionalità non supportate dai punti di accesso, come la replica tra regioni.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": [ "s3:AbortMultipartUpload", "s3:BypassGovernanceRetention", "s3:DeleteObject", "s3:DeleteObjectTagging", "s3:DeleteObjectVersion", "s3:DeleteObjectVersionTagging", "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectLegalHold", "s3:GetObjectRetention", "s3:GetObjectTagging", "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionAcl", "s3:PutObjectVersionTagging", "s3:RestoreObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringNotEquals": { "s3:AccessPointNetworkOrigin": "VPC" } } } ] }

Chiavi di condizione

I punti di accesso S3 dispongono di chiavi di condizione che puoi utilizzare nelle IAM politiche per controllare l'accesso alle tue risorse. Le seguenti chiavi di condizione rappresentano solo una parte di una IAM politica. Per esempi completi di policy, consulta Esempi di policy degli access point, Delegazione del controllo di accesso agli access point e Concessione delle autorizzazioni per i punti di accesso multi-account.

s3:DataAccessPointArn

Questo esempio mostra una stringa che è possibile utilizzare per la corrispondenza su un punto di accessoARN. L'esempio seguente corrisponde a tutti i punti di accesso per Account AWS 123456789012 nella regione us-west-2:

"Condition" : { "StringLike": { "s3:DataAccessPointArn": "arn:aws:s3:us-west-2:123456789012:accesspoint/*" } }
s3:DataAccessPointAccount

Questo esempio mostra un operatore stringa che è possibile utilizzare per la corrispondenza dell'ID account del proprietario di un punto di accesso. L'esempio seguente corrisponde a tutti i punti di accesso di proprietà di Account AWS 123456789012.

"Condition" : { "StringEquals": { "s3:DataAccessPointAccount": "123456789012" } }
s3:AccessPointNetworkOrigin

Questo esempio mostra un operatore stringa che è possibile utilizzare per la corrispondenza dell'origine di rete, Internet o VPC. L'esempio seguente corrisponde solo ai punti di accesso con un'VPCorigine.

"Condition" : { "StringEquals": { "s3:AccessPointNetworkOrigin": "VPC" } }

Per ulteriori informazioni sull'utilizzo delle chiavi di condizione con Amazon S3, consulta Azioni, risorse e chiavi di condizione per Amazon S3 nel Service Authorization Reference.

Per ulteriori informazioni sulle autorizzazioni alle API operazioni S3 in base ai tipi di risorse S3, consulta. Autorizzazioni richieste per le operazioni di Amazon API S3

Delegazione del controllo di accesso agli access point

È possibile delegare il controllo degli accessi per un bucket agli access point del bucket. La policy di bucket di esempio seguente consente l'accesso completo a tutti i punti di accesso dell'account del proprietario del bucket. Pertanto, tutto l'accesso a questo bucket è controllato dalle policy associate agli access point. Si consiglia di configurare i bucket in questo modo per tutti i casi d'uso che non richiedono l'accesso diretto al bucket.

Esempio 6: Policy di bucket che delega il controllo degli accessi ai punti di accesso
{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS": "*" }, "Action" : "*", "Resource" : [ "Bucket ARN", "Bucket ARN/*"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "Bucket owner's account ID" } } }] }

Concessione delle autorizzazioni per i punti di accesso multi-account

Per creare un punto di accesso a un bucket di proprietà di un altro account, devi prima creare il punto di accesso specificando il nome del bucket e l'ID del proprietario dell'account. Il proprietario del bucket deve quindi aggiornare la policy di bucket per autorizzare le richieste dal punto di accesso. La creazione di un punto di accesso è simile alla creazione di un punto di accesso DNS CNAME in quanto il punto di accesso non fornisce l'accesso al contenuto del bucket. Tutti gli accessi ai bucket sono controllati dalla policy di bucket. La policy di bucket di esempio consente di eseguire richieste GET e LIST sul bucket da un punto di accesso di proprietà di un Account AWS attendibile.

Replace (Sostituisci) Bucket ARN con il coperchio ARN del secchio.

Esempio 7 — La politica di Bucket prevede la delega delle autorizzazioni a un altro Account AWS
{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS": "*" }, "Action" : ["s3:GetObject","s3:ListBucket"], "Resource" : [ "Bucket ARN", "Bucket ARN/*"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "Access point owner's account ID" } } }] }