Autenticazione e autorizzazione delle richieste
Per impostazione predefinita, i bucket di directory sono privati e l'accesso è possibile solo dagli utenti a cui è concesso esplicitamente l'accesso. Il limite di controllo degli accessi per i bucket di directory è impostato solo a livello di bucket. Al contrario, il limite di controllo degli accessi per i bucket per uso generico può essere impostato a livello di bucket, prefisso o tag dell'oggetto. Questa differenza significa che i bucket di directory sono l'unica risorsa che puoi includere nelle policy dei bucket o nelle policy di identità IAM per l'accesso a S3 Express One Zone.
Amazon S3 Express One Zone supporta l'autorizzazione AWS Identity and Access Management (AWS IAM) e l'autorizzazione basata sulla sessione:
-
Per utilizzare le operazioni API endpoint regionali (operazioni a livello di bucket, o piano di controllo (control-plane)) con S3 Express One Zone, si utilizza il modello di autorizzazione IAM, che non prevede la gestione delle sessioni. Le autorizzazioni sono concesse per le singole azioni. Per ulteriori informazioni, consulta Autorizzazione delle operazioni API dell'endpoint regionale con IAM.
-
Per utilizzare le operazioni API endpoint di zona (operazioni a livello di oggetto o di piano dati), ad eccezione di
CopyObjecteHeadBucket, si utilizza l'operazione APICreateSessionper creare e gestire sessioni ottimizzate per l'autorizzazione a bassa latenza delle richieste di dati. Per recuperare e utilizzare un token di sessione, è necessario consentire l'aziones3express:CreateSessionper il bucket della directory in una policy basata sull'identità o in una policy di bucket. Per ulteriori informazioni, consulta Autorizzazione delle operazioni API dell'endpoint regionale con IAM. Se si accede a S3 Express One Zone nella console Amazon S3, tramite AWS Command Line Interface (AWS CLI) o mediante gli SDK AWS, S3 Express One Zone crea una sessione per conto dell'utente.
Con l'operazione API CreateSession, si autenticano e autorizzano le richieste attraverso un nuovo meccanismo basato sulla sessione. Puoi utilizzare CreateSession per richiedere credenziali temporanee che forniscono un accesso a bassa latenza al bucket. Queste credenziali temporanee sono definite per un bucket di directory specifico.
Per utilizzare CreateSession, si consiglia di utilizzare la versione più recente degli SDK AWS o AWS Command Line Interface (AWS CLI). Gli SDK AWS supportati e AWS CLI gestiscono la creazione, l'aggiornamento e la chiusura della sessione per conto dell'utente.
Utilizza i token di sessione solo con operazioni (a livello di oggetto) zonali (fatta eccezione per CopyObject e HeadBucket) per distribuire la latenza associata all'autorizzazione su un determinato numero di richieste in una sessione. Per operazioni API degli endpoint regionali (operazioni a livello di bucket), viene utilizzata l'autorizzazione IAM, che non prevede la gestione di una sessione. Per ulteriori informazioni, consulta Autorizzazione delle operazioni API dell'endpoint regionale con IAM e Autorizzazione delle operazioni API dell'endpoint di zona con CreateSession.
Come vengono autenticate e autorizzate le operazioni API
La tabella seguente elenca le informazioni di autenticazione e autorizzazione per le operazioni API del bucket della directory. Per ogni operazione API, la tabella mostra il nome dell'operazione API, l'azione della policy IAM, il tipo di endpoint (regionale o di zona) e il meccanismo di autorizzazione (IAM o basato sulla sessione). Questa tabella indica anche se è supportato l'accesso multi-account. L'accesso alle azioni a livello di bucket può essere concesso solo nelle policy basate sull'identità IAM (utente o ruolo) e non nelle policy dei bucket.
| API | Tipo di endpoint | Operazione IAM | Accesso multi-account |
|---|---|---|---|
CreateBucket |
Pool di risorse | s3express:CreateBucket |
No |
DeleteBucket |
Pool di risorse | s3express:DeleteBucket |
No |
ListDirectoryBuckets |
Pool di risorse | s3express:ListAllMyDirectoryBuckets |
No |
PutBucketPolicy |
Pool di risorse | s3express:PutBucketPolicy |
No |
GetBucketPolicy |
Pool di risorse | s3express:GetBucketPolicy |
No |
DeleteBucketPolicy |
Pool di risorse | s3express:DeleteBucketPolicy |
No |
CreateSession |
Zonale | s3express:CreateSession |
Sì |
CopyObject |
Zonale | s3express:CreateSession |
Sì |
DeleteObject |
Zonale | s3express:CreateSession |
Sì |
DeleteObjects |
Zonale | s3express:CreateSession |
Sì |
HeadObject |
Zonale | s3express:CreateSession |
Sì |
PutObject |
Zonale | s3express:CreateSession |
Sì |
RenameObject |
Zonale | s3express:CreateSession |
No |
GetObjectAttributes |
Zonale | s3express:CreateSession |
Sì |
ListObjectsV2 |
Zonale | s3express:CreateSession |
Sì |
HeadBucket |
Zonale | s3express:CreateSession |
Sì |
CreateMultipartUpload |
Zonale | s3express:CreateSession |
Sì |
UploadPart |
Zonale | s3express:CreateSession |
Sì |
UploadPartCopy |
Zonale | s3express:CreateSession |
Sì |
CompleteMultipartUpload |
Zonale | s3express:CreateSession |
Sì |
AbortMultipartUpload |
Zonale | s3express:CreateSession |
Sì |
ListParts |
Zonale | s3express:CreateSession |
Sì |
ListMultipartUploads |
Zonale | s3express:CreateSession |
Sì |
ListAccessPointsForDirectoryBuckets |
Zonale | s3express:ListAccessPointsForDirectoryBuckets |
Sì |
GetAccessPointScope |
Zonale | s3express:GetAccessPointScope |
Sì |
PutAccessPointScope |
Zonale | s3express:PutAccessPointScope |
Sì |
DeleteAccessPointScope |
Zonale | s3express:DeleteAccessPointScope |
Sì |