Come funziona Amazon S3 con IAM - 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à.

Come funziona Amazon S3 con IAM

Prima di utilizzare IAM per gestire l'accesso ad Amazon S3, scopri quali IAM funzionalità sono disponibili per l'uso con Amazon S3.

Per avere una panoramica generale di come Amazon S3 e AWS altri servizi funzionano con la IAM maggior parte delle funzionalità, AWS consulta i servizi che funzionano IAM con nella Guida per IAMl'utente.

Policy basate sull'identità per Amazon S3

Supporta le policy basate su identità:

Le politiche basate sull'identità sono documenti relativi ai criteri di JSON autorizzazione che è possibile allegare a un'identità, ad esempio un IAM utente, un gruppo di utenti o un ruolo. Tali policy definiscono le azioni che utenti e ruoli possono eseguire, su quali risorse e in quali condizioni. Per informazioni su come creare una politica basata sull'identità, consulta Creazione di politiche nella Guida per l'utente. IAM IAM

Con le politiche IAM basate sull'identità, puoi specificare azioni e risorse consentite o negate, nonché le condizioni in base alle quali le azioni sono consentite o negate. Non è possibile specificare l'entità principale in una policy basata sull'identità perché si applica all'utente o al ruolo a cui è associato. Per ulteriori informazioni su tutti gli elementi che è possibile utilizzare in una JSON politica, vedere il riferimento agli elementi IAM JSON della politica nella Guida per l'IAMutente.

Esempi di policy basate sull'identità per Amazon S3

Per visualizzare esempi di policy basate sull'identità di Amazon S3, consulta. Policy basate sull'identità per Amazon S3

Policy basate sulle risorse all'interno di Amazon S3

Supporta politiche basate sulle risorse: Sì

Le politiche basate sulle risorse sono documenti di JSON policy allegati a una risorsa. Esempi di politiche basate sulle risorse sono le policy di trust dei IAM ruoli e le policy dei bucket di Amazon S3. Nei servizi che supportano policy basate sulle risorse, gli amministratori dei servizi possono utilizzarli per controllare l'accesso a una risorsa specifica. Quando è collegata a una risorsa, una policy definisce le azioni che un principale può eseguire su tale risorsa e a quali condizioni. È necessario specificare un principale in una policy basata sulle risorse. I principali possono includere account, utenti, ruoli, utenti federati o. AWS servizi

Per abilitare l'accesso tra più account, puoi specificare un intero account o IAM entità in un altro account come principale in una politica basata sulle risorse. L'aggiunta di un principale multi-account a una policy basata sulle risorse rappresenta solo una parte della relazione di trust. Quando il principale e la risorsa sono diversi Account AWS, un IAM amministratore dell'account fidato deve inoltre concedere all'entità principale (utente o ruolo) l'autorizzazione ad accedere alla risorsa. L'autorizzazione viene concessa collegando all'entità una policy basata sull'identità. Tuttavia, se una policy basata su risorse concede l'accesso a un principale nello stesso account, non sono richieste ulteriori policy basate su identità. Per ulteriori informazioni, consulta la sezione Cross Account Resource Access IAM nella Guida IAM per l'utente.

Il servizio Amazon S3 supporta policy relative ai bucket, policy relative ai punti di accesso e concessioni di accesso:

  • Le policy bucket sono politiche basate sulle risorse collegate a un bucket Amazon S3. Una bucket policy definisce quali principali attori possono eseguire azioni sul bucket.

  • Le policy relative ai punti di accesso sono politiche basate sulle risorse che vengono valutate insieme alla policy bucket sottostante.

  • Le concessioni di accesso sono un modello semplificato per definire le autorizzazioni di accesso ai dati in Amazon S3 per prefisso, bucket o oggetto. Per informazioni su S3 Access Grants, consulta. Gestione dell'accesso con S3 Access Grants

Principi per le policy relative ai bucket

L'Principalelemento specifica l'utente, l'account, il servizio o altra entità a cui è consentito o negato l'accesso a una risorsa. Di seguito vengono illustrati alcuni esempi di specifica del Principal. Per ulteriori informazioni, vedere Principal nella Guida per l'IAMutente.

Concedi le autorizzazioni a un Account AWS

Per concedere le autorizzazioni a un utente Account AWS, identifica l'account utilizzando il seguente formato.

"AWS":"account-ARN"

Di seguito vengono mostrati gli esempi.

"Principal":{"AWS":"arn:aws:iam::AccountIDWithoutHyphens:root"}
"Principal":{"AWS":["arn:aws:iam::AccountID1WithoutHyphens:root","arn:aws:iam::AccountID2WithoutHyphens:root"]}

Concedere le autorizzazioni a un utente IAM

Per concedere l'autorizzazione a un IAM utente all'interno del tuo account, devi fornire una coppia "AWS":"user-ARN" nome-valore.

"Principal":{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"}

Per esempi dettagliati che forniscono step-by-step istruzioni, consulta Esempio 1: il proprietario del bucket concede agli utenti le autorizzazioni per il bucket e. Esempio 3: il proprietario del bucket concede autorizzazioni per gli oggetti che non sono di sua proprietà

Nota

Se un'IAMidentità viene eliminata dopo aver aggiornato la bucket policy, la bucket policy mostrerà un identificatore univoco nell'elemento principale anziché un. ARN Questi codici univoci non IDs vengono mai riutilizzati, quindi puoi rimuovere in sicurezza i principali con identificatori univoci da tutte le tue dichiarazioni politiche. Per ulteriori informazioni sugli identificatori univoci, consulta gli identificatori nella Guida per l'IAMutente. IAM

Concessione di autorizzazioni anonime

avvertimento

Si deve prestare attenzione a concedere l'accesso anonimo al proprio bucket Amazon S3. Quando si concede l'accesso anonimo, si consente a qualsiasi persona al mondo di accedere al bucket. È consigliabile non concedere mai alcun tipo di accesso anonimo in scrittura al bucket S3.

Per assegnare l'autorizzazione a tutti, vale a dire l'accesso anonimo, è necessario impostare i caratteri jolly ("*") come valore Principal. Ad esempio, se si configura un bucket come un sito Web, si vuole che tutti gli oggetti presenti nel bucket siano pubblicamente accessibili.

"Principal":"*"
"Principal":{"AWS":"*"}

L'utilizzo "Principal": "*" con Allow effetto in una politica basata sulle risorse consente a chiunque, anche se non ha effettuato l'accesso AWS, di accedere alla risorsa.

L'utilizzo "Principal" : { "AWS" : "*" } con Allow effetto in una policy basata sulle risorse consente a qualsiasi utente root, utente, sessione con ruolo assunto o IAM utente federato in qualsiasi account nella stessa partizione di accedere alla risorsa.

Per gli utenti anonimi, questi due metodi sono equivalenti. Per ulteriori informazioni, consulta Tutti i principi nella Guida per l'utente. IAM

Non è possibile utilizzare un carattere jolly per far corrispondere parte di un nome principale o. ARN

Importante

Poiché chiunque può crearne uno Account AWS, il livello di sicurezza di questi due metodi è equivalente, anche se funzionano in modo diverso.

Limitazione delle autorizzazioni per le risorse

È inoltre possibile utilizzare la politica delle risorse per limitare l'accesso a risorse che altrimenti sarebbero disponibili per IAM i responsabili. Usa un'istruzione Deny per impedire l'accesso.

L'esempio seguente blocca l'accesso se non viene utilizzato un protocollo di trasporto sicuro:

{"Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": <bucket ARN>, "Condition": { "Boolean": { "aws:SecureTransport" : "false"} } }

Utilizzare il "Principal": "*" in modo che questa restrizione si applichi a tutti è una best practice, anziché tentare di negare l'accesso solo a account o principali specifici utilizzando questo metodo.

Richiedi l'accesso tramite CloudFront URLs

Puoi richiedere che gli utenti accedano ai tuoi contenuti Amazon S3 solo utilizzando CloudFront URLs invece di Amazon S3. URLs A tale scopo, crea un controllo di accesso all' CloudFront origine ()OAC. Quindi, modifica le autorizzazioni sui tuoi dati S3. Nella tua policy sui bucket, puoi impostarla come Principal CloudFront come segue:

"Principal":{"Service":"cloudfront.amazonaws.com"}

Utilizza un Condition elemento della policy per consentire l'accesso CloudFront al bucket solo quando la richiesta è per conto della CloudFront distribuzione che contiene l'origine S3.

"Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront-distribution-ID" } }

Per ulteriori informazioni su come richiedere l'accesso a S3 tramite CloudFront URLs, consulta Limitazione dell'accesso a un'origine Amazon Simple Storage Service nella Amazon CloudFront Developer Guide. Per ulteriori informazioni sui vantaggi in termini di sicurezza e privacy derivanti dall'utilizzo di Amazon CloudFront, consulta Configurazione dell'accesso sicuro e limitazione dell'accesso ai contenuti.

Esempi di policy basate sulle risorse per Amazon S3

Azioni politiche per Amazon S3

Supporta le operazioni di policy: si

Gli amministratori possono utilizzare AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'Actionelemento di una JSON policy descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a una policy. Le azioni politiche in genere hanno lo stesso nome dell' AWS APIoperazione associata. Esistono alcune eccezioni, come le azioni basate solo sulle autorizzazioni che non hanno un'operazione corrispondente. API Esistono anche alcune operazioni che richiedono più operazioni in una policy. Queste operazioni aggiuntive sono denominate operazioni dipendenti.

Includi le operazioni in una policy per concedere le autorizzazioni a eseguire l'operazione associata.

Di seguito vengono illustrati i diversi tipi di relazione di mappatura tra le API operazioni di S3 e le azioni politiche richieste.

  • O ne-to-one mappatura con lo stesso nome. Ad esempio, per utilizzare l'PutBucketPolicyAPIoperazione, è necessaria l'azione s3:PutBucketPolicy politica.

  • O ne-to-one mappatura con nomi diversi. Ad esempio, per utilizzare l'ListObjectsV2APIoperazione, è necessaria l'azione s3:ListBucket politica.

  • ne-to-many Mappatura O. Ad esempio, per utilizzare l'HeadObjectAPIoperazione, s3:GetObject è necessario. Inoltre, quando si utilizza S3 Object Lock e si desidera ottenere lo stato di conservazione o lo stato di conservazione a fini legali di un oggetto, sono necessarie anche le azioni corrispondenti s3:GetObjectLegalHold o s3:GetObjectRetention politiche prima di poter utilizzare l'HeadObjectAPIoperazione.

  • any-to-one Mappatura M. Ad esempio, per utilizzare le HeadBucket API operazioni ListObjectsV2 or, è necessaria l'azione s3:ListBucket politica.

Per visualizzare un elenco delle azioni di Amazon S3 da utilizzare nelle politiche, consulta Azioni definite da Amazon S3 nel Service Authorization Reference. Per un elenco completo delle API operazioni di Amazon S3, consulta Amazon S3 Actions nel Amazon API Simple Storage Service Reference. API

Le azioni politiche in Amazon S3 utilizzano il seguente prefisso prima dell'azione:

s3

Per specificare più operazioni in una sola istruzione, occorre separarle con la virgola.

"Action": [ "s3:action1", "s3:action2" ]

Le operazioni bucket sono operazioni S3 API che operano sul tipo di risorsa bucket. For example: CreateBucket, ListObjectsV2 e PutBucketPolicy. Le azioni delle policy di S3 per le operazioni sui bucket richiedono che l'Resourceelemento nelle policy dei bucket o nelle politiche IAM basate sull'identità sia l'identificatore Amazon Resource Name () ARN del tipo di bucket S3 nel seguente formato di esempio.

"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"

La seguente policy sui bucket concede all'utente Akua con account 12345678901 il s3:ListBucket permesso di eseguire l'APIoperazione ListObjectsV2 ed elencare gli oggetti in un bucket S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" } ] }
Operazioni bucket nelle politiche dei punti di accesso

Le autorizzazioni concesse in una policy sui punti di accesso sono efficaci solo se il bucket sottostante consente le stesse autorizzazioni. Quando utilizzi S3 Access Points, devi delegare il controllo degli accessi dal bucket al punto di accesso o aggiungere le stesse autorizzazioni nelle policy dei punti di accesso alla policy del bucket sottostante. Per ulteriori informazioni, consulta Configurazione delle IAM politiche per l'utilizzo dei punti di accesso. Nelle politiche dei punti di accesso, le azioni politiche di S3 per le operazioni dei bucket richiedono l'utilizzo dell'elemento accesspoint ARN for the nel seguente formato. Resource

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT"

La seguente politica del punto di accesso concede all'utente Akua con account 12345678901 l's3:ListBucketautorizzazione a eseguire l'APIoperazione ListObjectsV2 tramite il punto di accesso S3 DOC-EXAMPLE-ACCESS-POINT per elencare gli oggetti nel bucket associato al punto di accesso.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT" } ] }
Nota

Non tutte le operazioni relative ai bucket sono supportate da S3 Access Point. Per ulteriori informazioni, consulta Compatibilità dei punti di accesso con le operazioni S3.

Le operazioni sugli oggetti sono API operazioni S3 che agiscono sul tipo di risorsa oggetto. For example: GetObject, PutObject e DeleteObject. Le azioni politiche di S3 per le operazioni sugli oggetti richiedono che l'Resourceelemento nelle politiche sia l'oggetto S3 ARN nei seguenti formati di esempio.

"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*"
Nota

L'oggetto ARN deve contenere una barra dopo il nome del bucket, come illustrato negli esempi precedenti.

La seguente politica del bucket concede all'utente Akua con account 12345678901 l's3:PutObjectautorizzazione a eseguire l'PutObjectAPIoperazione di caricamento di oggetti in un bucket S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to upload objects", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
Operazioni sugli oggetti nelle politiche dei punti di accesso

Quando utilizzi i punti di accesso S3 per controllare l'accesso alle operazioni sugli oggetti, puoi utilizzare le policy dei punti di accesso. Quando si utilizzano le policy dei punti di accesso, le azioni delle policy di S3 per le operazioni sugli oggetti richiedono l'utilizzo dell'Resourceelemento accesspoint ARN for the nel seguente formato:. arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource Per le operazioni sugli oggetti che utilizzano il punto di accesso, è necessario includere il /object/ valore dopo l'intero punto di accesso ARN nell'Resourceelemento. Ecco alcuni esempi.

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT/object/*"
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT/object/prefix/*"

La seguente politica del punto di accesso concede all'utente Akua con account 12345678901 l's3:GetObjectautorizzazione a eseguire l'GetObjectAPIoperazione tramite il punto di accesso DOC-EXAMPLE-ACCESS-POINT su tutti gli oggetti nel bucket associato al punto di accesso.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to get objects through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT/object/*" } ] }
Nota

Non tutte le operazioni sugli oggetti sono supportate da S3 Access Point. Per ulteriori informazioni, consulta Compatibilità dei punti di accesso con le operazioni S3.

Le operazioni sui punti di accesso sono API operazioni S3 che operano sul tipo di accesspoint risorsa. For example: CreateAccessPoint, DeleteAccessPoint e GetAccessPointPolicy. Le azioni policy di S3 per le operazioni sui punti di accesso possono essere utilizzate solo nelle policy IAM basate sull'identità, non nelle policy bucket o nelle policy dei punti di accesso. Le operazioni sui punti di accesso richiedono che l'Resourceelemento sia accesspoint ARN nel formato di esempio seguente.

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/DOC-EXAMPLE-ACCESS-POINT"

La seguente politica IAM basata sull'identità concede l's3:GetAccessPointPolicyautorizzazione a eseguire l'GetAccessPointPolicyAPIoperazione sul punto di accesso S3 DOC-EXAMPLE-ACCESS-POINT.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Grant permission to retrieve the access point policy of access point DOC-EXAMPLE-ACCESS-POINT", "Effect": "Allow", "Action": [ "s3:GetAccessPointPolicy" ], "Resource": "arn:aws:s3:*:123456789012:access point/DOC-EXAMPLE-ACCESS-POINT" } ] }

Quando usi gli Access Points, per controllare l'accesso alle operazioni del bucket, vediOperazioni bucket nelle politiche dei punti di accesso; per controllare l'accesso alle operazioni sugli oggetti, vedi. Operazioni sugli oggetti nelle politiche dei punti di accesso Per ulteriori informazioni su come configurare le politiche dei punti di accesso, vedereConfigurazione delle IAM politiche per l'utilizzo dei punti di accesso.

Con Amazon S3 Object Lambda puoi aggiungere codice personalizzato alle richieste GET, LIST e HEAD di Amazon S3 per modificare ed elaborare i dati restituiti a un'applicazione. È possibile effettuare richieste tramite un punto di accesso Object Lambda, che funziona allo stesso modo delle richieste tramite altri punti di accesso. Per ulteriori informazioni, consulta Trasformazione di oggetti con S3 Object Lambda.

Per ulteriori informazioni su come configurare le politiche per le operazioni degli access point Object Lambda, vedere. Configurazione delle IAM politiche per gli access point Object Lambda

Un punto di accesso multiregionale fornisce un endpoint globale che le applicazioni possono utilizzare per soddisfare le richieste provenienti da bucket S3 che si trovano in più bucket. Regione AWSÈ possibile utilizzare un punto di accesso multiregionale per creare applicazioni multiregionali con la stessa architettura utilizzata in una singola regione e quindi eseguire tali applicazioni in qualsiasi parte del mondo. Per ulteriori informazioni, consulta Punti di accesso multi-regione in Amazon S3.

Per ulteriori informazioni su come configurare le politiche per le operazioni dei punti di accesso multiregionali, vedere. Esempi di policy dei punti di accesso multi-regione

Le operazioni job (Batch Operations) sono API operazioni S3 che operano sul tipo di risorsa job. Ad esempio DescribeJob e CreateJob. Le azioni policy di S3 per le job operations possono essere utilizzate solo in policy IAM basate sull'identità, non in policy bucket. Inoltre, le operazioni di lavoro richiedono che l'Resourceelemento nelle politiche IAM basate sull'identità sia presente nel seguente formato di esempio. job ARN

"Resource": "arn:aws:s3:*:123456789012:job/*"

La seguente politica IAM basata sull'identità concede l's3:DescribeJobautorizzazione a eseguire l'operazione DescribeJobAPIsu S3 Batch Operations Job. DOC-EXAMPLE-JOB.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow describing the Batch operation job DOC-EXAMPLE-JOB", "Effect": "Allow", "Action": [ "s3:DescribeJob" ], "Resource": "arn:aws:s3:*:123456789012:job/DOC-EXAMPLE-JOB" } ] }

Per ulteriori informazioni su come configurare le operazioni di configurazione di S3 Storage Lens, consulta. Autorizzazioni Amazon S3 Storage Lens

Le operazioni dell'account sono API operazioni S3 che operano a livello di account. Ad esempio, GetPublicAccessBlock (per account). L'account non è un tipo di risorsa definito da Amazon S3. Le azioni delle policy di S3 per le operazioni degli account possono essere utilizzate solo in policy IAM basate sull'identità, non in policy bucket. Inoltre, le operazioni relative agli account richiedono che l'Resourceelemento delle politiche basate sull'identità sia lo stesso. IAM "*"

La seguente politica IAM basata sull'identità concede l's3:GetAccountPublicAccessBlockautorizzazione a eseguire l'GetPublicAccessBlockAPIoperazione a livello di account e recuperare le impostazioni del blocco di accesso pubblico a livello di account.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"Allow retrieving the account-level Public Access Block settings", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }

Esempi di policy per Amazon S3

Risorse relative alle policy per Amazon S3

Supporta le risorse di policy:

Gli amministratori possono utilizzare AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire operazioni su quali risorse, e in quali condizioni.

L'elemento Resource JSON policy specifica l'oggetto o gli oggetti a cui si applica l'azione. Le istruzioni devono includere un elemento Resourceo un elemento NotResource. Come best practice, specifica una risorsa utilizzando il relativo Amazon Resource Name (ARN). Puoi eseguire questa operazione per azioni che supportano un tipo di risorsa specifico, note come autorizzazioni a livello di risorsa.

Per le azioni che non supportano le autorizzazioni a livello di risorsa, ad esempio le operazioni di elenco, utilizza un carattere jolly (*) per indicare che l'istruzione si applica a tutte le risorse.

"Resource": "*"

Alcune API azioni di Amazon S3 supportano più risorse. Ad esempio, s3:GetObject accede a EXAMPLE - RESOURCE -1 e EXAMPLE - RESOURCE -2, quindi un principale deve disporre delle autorizzazioni per accedere a entrambe le risorse. Per specificare più risorse in un'unica istruzione, separale ARNs con virgole.

"Resource": [ "EXAMPLE-RESOURCE-1", "EXAMPLE-RESOURCE-2"

Le risorse in Amazon S3 sono bucket, oggetti, punti di accesso o job. In una policy, utilizza l'Amazon Resource Name (ARN) del bucket, dell'oggetto, del punto di accesso o del job per identificare la risorsa.

Per visualizzare un elenco completo dei tipi di risorse Amazon S3 e relativiARNs, consulta Resources defined by Amazon S3 nel Service Authorization Reference. Per sapere con quali azioni è possibile specificare le caratteristiche ARN di ciascuna risorsa, consulta Azioni definite da Amazon S3.

Wildcard per la risorsa ARNs

È possibile utilizzare i caratteri jolly come parte della risorsa. ARN È possibile utilizzare caratteri jolly (*e?) all'interno di qualsiasi ARN segmento (le parti separate da due punti). Un asterisco (*) rappresenta qualsiasi combinazione di zero o più caratteri, mentre un punto interrogativo (?) rappresenta qualsiasi singolo carattere. È possibile utilizzare * o ? multipli in ogni segmento, ma un carattere jolly non può separare i segmenti.

  • Quanto segue ARN utilizza il carattere jolly * nella parte Relative-ID di ARN per identificare tutti gli oggetti nel bucket. examplebucket

    arn:aws:s3:::examplebucket/*
  • Quanto segue viene ARN utilizzato * per indicare tutti i bucket e gli oggetti S3.

    arn:aws:s3:::*
  • Quanto segue ARN utilizza sia i caratteri jolly che?, * nella parte. relative-ID Identifica tutti gli oggetti nei bucket quali example1bucket, example2bucket, example3bucket e così via.

    arn:aws:s3:::example?bucket/*

Variabili politiche per la risorsa ARNs

È possibile utilizzare variabili di policy in Amazon S3ARNs. Al momento di valutare la policy, queste variabili predefinite vengono sostituite dai valori corrispondenti. Si supponga di organizzare il bucket come raccolta di cartelle, una cartella per ogni utente. Il nome della cartella corrisponde al nome utente. Per concedere agli utenti l'autorizzazione alle loro cartelle, puoi specificare una variabile di policy nella risorsaARN:

arn:aws:s3:::bucket_name/developers/${aws:username}/

In fase di esecuzione, quando la policy viene valutata, la variabile ${aws:username} nella risorsa ARN viene sostituita dal nome utente della persona che effettua la richiesta.

Esempi di policy per Amazon S3

Chiavi relative alle condizioni delle politiche per Amazon S3

Supporta le chiavi di condizione delle policy specifiche del servizio:

Gli amministratori possono utilizzare AWS JSON le policy per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento Condition(o blocco Condition) consente di specificare le condizioni in cui un'istruzione è in vigore. L'elemento Conditionè facoltativo. Puoi compilare espressioni condizionali che utilizzano operatori di condizione, ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta.

Se specifichi più elementi Conditionin un'istruzione o più chiavi in un singolo elemento Condition, questi vengono valutati da AWS utilizzando un'operazione ANDlogica. Se si specificano più valori per una singola chiave di condizione, AWS valuta la condizione utilizzando un'operazione logicaOR. Tutte le condizioni devono essere soddisfatte prima che le autorizzazioni dell'istruzione vengano concesse.

Puoi anche utilizzare variabili segnaposto quando specifichi le condizioni. Ad esempio, è possibile concedere a un IAM utente l'autorizzazione ad accedere a una risorsa solo se è contrassegnata con il suo nome IAM utente. Per ulteriori informazioni, consulta gli elementi IAM della politica: variabili e tag nella Guida IAM per l'utente.

AWS supporta chiavi di condizione globali e chiavi di condizione specifiche del servizio. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di contesto delle condizioni AWS globali nella Guida per l'IAMutente.

Ogni chiave di condizione di Amazon S3 è mappata all'intestazione di richiesta dello stesso nome consentita dalla condizione API su cui è possibile impostare la condizione. Le chiavi di condizione specifiche di Amazon S3 determinano il comportamento delle intestazioni di richiesta con lo stesso nome. Ad esempio, la chiave di condizione s3:VersionId utilizzata per concedere l'autorizzazione condizionale definisce s3:GetObjectVersion il comportamento del parametro di versionId query impostato in una GET richiesta Object.

Per visualizzare un elenco di chiavi di condizione di Amazon S3, consulta Chiavi di condizione per Amazon S3 nel Service Authorization Reference. Per sapere con quali azioni e risorse puoi utilizzare una chiave di condizione, consulta Azioni definite da Amazon S3.

Esempio: limitazione dei caricamenti di oggetti agli oggetti con una classe di archiviazione specifica

Supponiamo che l'account A, rappresentato dall'ID account 123456789012, sia proprietario di un bucket. L'amministratore dell'Account A desidera limitare Dave, un utente dell'Account A, in modo che Dave possa caricare oggetti solo nel bucket archiviato con la classe di archiviazione. STANDARD_IA Per limitare il caricamento di oggetti con una classe di storage specifica, l'amministratore dell'Account A può utilizzare la chiave di condizione s3:x-amz-storage-class, come illustrato nella policy di bucket di esempio seguente.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Dave" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*", "Condition": { "StringEquals": { "s3:x-amz-storage-class": [ "STANDARD_IA" ] } } } ] }

Nell'esempio, il blocco Condition specifica la condizione StringEquals che viene applicata alla coppia chiave-valore "s3:x-amz-acl":["public-read"]. Esiste un insieme predefinito di chiavi che possono essere utilizzate nell'espressione di una condizione. L'esempio utilizza la chiave di condizione s3:x-amz-acl. Questa condizione richiede che l'utente includa l'x-amz-aclintestazione con valore public-read in ogni richiesta di oggetto. PUT

Esempi di policy per Amazon S3

ACLsin Amazon S3

SupportiACLs: Sì

In Amazon S3, gli elenchi di controllo degli accessi (ACLs) controllano quali Account AWS sono i permessi per accedere a una risorsa. ACLssono simili alle politiche basate sulle risorse, sebbene non utilizzino il formato del documento di policy. JSON

Importante

La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di. ACLs

Per informazioni sull'utilizzo per ACLs controllare l'accesso in Amazon S3, consulta. Gestione dell'accesso con ACLs

ABACcon Amazon S3

Supporti ABAC (tag nelle politiche): parziale

Il controllo degli accessi basato sugli attributi (ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. In AWS, questi attributi sono chiamati tag. È possibile allegare tag a IAM entità (utenti o ruoli) e a molte AWS risorse. L'etichettatura di entità e risorse è il primo passo diABAC. Quindi si progettano ABAC politiche per consentire le operazioni quando il tag del principale corrisponde al tag sulla risorsa a cui sta tentando di accedere.

ABACè utile in ambienti in rapida crescita e aiuta in situazioni in cui la gestione delle politiche diventa complicata.

Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione aws:ResourceTag/key-name, aws:RequestTag/key-nameo aws:TagKeys.

Se un servizio supporta tutte e tre le chiavi di condizione per ogni tipo di risorsa, il valore per il servizio è Yes (Sì). Se un servizio supporta tutte e tre le chiavi di condizione solo per alcuni tipi di risorsa, allora il valore sarà Parziale.

Per ulteriori informazioni suABAC, vedere Cos'è? ABAC nella Guida IAM per l'utente. Per visualizzare un tutorial con i passaggi per la configurazioneABAC, consulta Utilizzare il controllo di accesso basato sugli attributi (ABAC) nella Guida per l'IAMutente.

Per visualizzare esempi di policy basate sull'identità per limitare l'accesso ai job di S3 Batch Operations basati sui tag, consulta. Controllo delle autorizzazioni per S3 Batch Operations utilizzando i tag di processo

ABACe tag di oggetti

Nelle ABAC politiche, gli oggetti utilizzano i s3: tag anziché i aws: tag. Per controllare l'accesso agli oggetti in base ai tag degli oggetti, si forniscono informazioni sui tag nell'elemento condition di una politica utilizzando i seguenti tag:

  • s3:ExistingObjectTag/tag-key

  • s3:s3:RequestObjectTagKeys

  • s3:RequestObjectTag/tag-key

Per informazioni sull'utilizzo dei tag degli oggetti per controllare l'accesso, inclusi esempi di politiche di autorizzazione, vedereTagging e policy di controllo degli accessi.

Utilizzo di credenziali temporanee con Amazon S3

Supporta le credenziali temporanee:

Alcune AWS servizi non funzionano quando accedi utilizzando credenziali temporanee. Per ulteriori informazioni, incluse quelle che AWS servizi funzionano con credenziali temporanee, consulta la sezione AWS servizi relativa alla funzionalità IAM nella Guida per l'IAMutente.

Si utilizzano credenziali temporanee se si accede AWS Management Console utilizzando qualsiasi metodo tranne il nome utente e la password. Ad esempio, quando accedete AWS utilizzando il link Single Sign-on (SSO) della vostra azienda, tale processo crea automaticamente credenziali temporanee. Le credenziali temporanee vengono create in automatico anche quando accedi alla console come utente e poi cambi ruolo. Per ulteriori informazioni sul cambio di ruolo, consulta Passare a un ruolo (console) nella Guida per l'IAMutente.

È possibile creare manualmente credenziali temporanee utilizzando AWS CLI o AWS API. È quindi possibile utilizzare tali credenziali temporanee per accedere. AWS AWS consiglia di generare dinamicamente credenziali temporanee anziché utilizzare chiavi di accesso a lungo termine. Per ulteriori informazioni, vedere Credenziali di sicurezza temporanee in. IAM

Sessioni di accesso diretto per Amazon S3

Supporta sessioni di accesso diretto (FAS): Sì

Quando utilizzi un IAM utente o un ruolo per eseguire azioni AWS, sei considerato un principale. Quando si utilizzano alcuni servizi, è possibile eseguire un'operazione che attiva un'altra operazione in un servizio diverso. FASutilizza le autorizzazioni del principale che chiama an AWS servizio, in combinazione con la richiesta AWS servizio per effettuare richieste ai servizi downstream. FASle richieste vengono effettuate solo quando un servizio riceve una richiesta che richiede interazioni con altri AWS servizi o risorse per essere completata. In questo caso è necessario disporre delle autorizzazioni per eseguire entrambe le azioni. Per i dettagli FAS delle politiche relative alle richieste, consulta Forward access sessions.

Ruoli di servizio per Amazon S3

Supporta i ruoli di servizio:

Un ruolo di servizio è un IAMruolo che un servizio assume per eseguire azioni per tuo conto. Un IAM amministratore può creare, modificare ed eliminare un ruolo di servizio dall'internoIAM. Per ulteriori informazioni, vedere Creazione di un ruolo per delegare le autorizzazioni a un utente AWS servizio nella Guida per l'IAMutente.

avvertimento

La modifica delle autorizzazioni per un ruolo di servizio potrebbe compromettere la funzionalità di Amazon S3. Modifica i ruoli di servizio solo quando Amazon S3 fornisce indicazioni in tal senso.

Ruoli collegati ai servizi per Amazon S3

Supporta ruoli collegati ai servizi: parziale

Un ruolo collegato al servizio è un tipo di ruolo di servizio collegato a un. AWS servizio Il servizio può assumere il ruolo per eseguire un'azione per tuo conto. I ruoli collegati al servizio vengono visualizzati in Account AWS e sono di proprietà del servizio. Un IAM amministratore può visualizzare, ma non modificare le autorizzazioni per i ruoli collegati al servizio.

Amazon S3 supporta i ruoli collegati ai servizi per Amazon S3 Storage Lens. Per dettagli sulla creazione o la gestione di ruoli collegati ai servizi Amazon S3, consulta. Utilizzo dei ruoli collegati ai servizi per Amazon S3 Storage Lens

Servizio Amazon S3 come principale

Nome del servizio nella politica Funzionalità S3 Ulteriori informazioni

s3.amazonaws.com

Replica di Amazon S3

Configurazione della replica in tempo reale

s3.amazonaws.com

Notifiche di eventi S3

Notifiche di eventi Amazon S3

s3.amazonaws.com

Inventario S3

Amazon S3 Inventory

access-grants.s3.amazonaws.com

S3 Access Grants

Registrazione di una posizione

batchoperations.s3.amazonaws.com

Operazioni in batch S3

Concessione delle autorizzazioni per le operazioni in batch Amazon S3

logging.s3.amazonaws.com

Registrazione degli accessi al server S3

Abilitazione della registrazione degli accessi al server Amazon S3

storage-lens.s3.amazonaws.com

S3 Storage Lens

Visualizzazione dei parametri di Amazon S3 Storage Lens utilizzando una esportazione di dati