Identity and Access Management in S3 Vectors
Nota
Amazon S3 Vectors è disponibile in versione di anteprima per Amazon Simple Storage Service ed è soggetto a modifiche.
La gestione degli accessi in S3 Vectors segue le best practice di sicurezza AWS offrendo più livelli di controllo per garantire che solo gli utenti e le applicazioni autorizzati possano accedere ai dati vettoriali. Il servizio si integra con IAM e supporta le policy basate su identità e risorse, fornendo flessibilità nel modo in cui si strutturano e gestiscono le autorizzazioni all’interno dell’organizzazione.
Autenticazione e autorizzazione delle richieste
S3 Vectors utilizza meccanismi di autenticazione e autorizzazione AWS standard per proteggere l’accesso ai bucket vettoriali e ai relativi contenuti. Ogni richiesta a S3 Vectors deve essere autenticata utilizzando credenziali AWS valide e il servizio valuta le autorizzazioni in base alla combinazione di policy basate su identità, policy basate su risorse e qualsiasi policy di controllo del servizio applicabile.
Il processo di autenticazione inizia quando un client effettua una richiesta a S3 Vectors utilizzando credenziali AWS (chiavi di accesso, credenziali temporanee di AWS STS o ruoli IAM). Il servizio convalida queste credenziali e quindi valuta le autorizzazioni associate all’identità autenticata in relazione all’azione richiesta e alla risorsa di destinazione. Questo processo di valutazione prende in considerazione diversi tipi di policy e applica il principio del privilegio minimo per determinare se consentire o rifiutare la richiesta.
L’autorizzazione in S3 Vectors funziona a più livelli di granularità. È possibile controllare l’accesso a livello di bucket vettoriale, a livello di indice vettoriale individuale o anche operazioni specifiche all’interno di un indice. Questo modello di autorizzazione gerarchico consente di implementare sofisticati schemi di controllo degli accessi in linea con la struttura organizzativa e i requisiti di governance dei dati.
Tipi di risorsa definiti per i bucket vettoriali
S3 Vectors definisce tipi di risorse specifici a cui è possibile fare riferimento nelle policy IAM e nelle policy basate su risorse. La comprensione di questi tipi di risorse è essenziale per creare policy di controllo degli accessi efficaci che forniscano il livello di accesso appropriato agli utenti e alle applicazioni corretti.
La tabella seguente descrive i tipi di risorsa disponibili in S3 Vectors.
| Tipo di risorsa | Formato ARN | Descrizione |
|---|---|---|
| VectorBucket | arn:aws:s3vectors:regione:123456789012:bucket/nome-bucket |
Rappresenta un bucket vettoriale e viene utilizzato per operazioni a livello di bucket come la creazione, l’eliminazione o la configurazione del bucket |
| Indice | arn:aws:s3vectors:regione:123456789012:bucket/nome-bucket/index/nome-indice |
Rappresenta un indice vettoriale all’interno di un bucket e viene utilizzato per operazioni specifiche dell’indice, come l’esecuzione di query sui vettori o la gestione del contenuto dell’indice |
Azioni di policy per bucket vettoriali
S3 Vectors fornisce un set completo di azioni di policy che corrispondono alle varie operazioni che è possibile eseguire su bucket vettoriali e indici vettoriali. Queste azioni sono progettate per fornire un controllo granulare su chi può eseguire operazioni specifiche, consentendo di implementare efficacemente il principio del privilegio minimo.
La tabella seguente elenca tutte le azioni di policy disponibili per le risorse S3 Vectors.
| Tipo di risorsa | Operazioni API | Azioni di policy | Descrizione delle azioni delle policy | Livello di accesso | Chiavi di condizione |
|---|---|---|---|---|---|
| Account | ListVectorBuckets | s3vectors:ListVectorBuckets | Fornisce l’autorizzazione per elencare tutti i bucket vettoriali nell’account e nella Regione | Elenco | |
| VectorBucket | CreateVectorBucket | s3vectors:CreateVectorBucket | Fornisce l’autorizzazione per creare un nuovo bucket vettoriale con la configurazione specificata | Scrittura | s3vectors:sseType, s3vectors:kmsKeyArn |
| VectorBucket | GetVectorBucket | s3vectors:GetVectorBucket | Fornisce l’autorizzazione per recuperare gli attributi e la configurazione del bucket vettoriale | Lettura | |
| VectorBucket | DeleteVectorBucket | s3vectors:DeleteVectorBucket | Fornisce l’autorizzazione per eliminare un bucket vettoriale vuoto | Scrittura | |
| VectorBucket | ListIndexes | s3vectors:ListIndexes | Fornisce l’autorizzazione per elencare tutti gli indici all’interno di un bucket vettoriale | Elenco | |
| VectorBucket | PutVectorBucketPolicy | s3vectors:PutVectorBucketPolicy | Fornisce l’autorizzazione per applicare o aggiornare una policy basata su risorse di un bucket vettoriale | Gestione delle autorizzazioni | |
| VectorBucket | GetVectorBucketPolicy | s3vectors:GetVectorBucketPolicy | Fornisce l’autorizzazione per recuperare una policy basata su risorse collegata a un bucket vettoriale | Lettura | |
| VectorBucket | DeleteVectorBucketPolicy | s3vectors:DeleteVectorBucketPolicy | Fornisce l’autorizzazione per rimuovere la policy basata su risorse da un bucket vettoriale | Gestione delle autorizzazioni | |
| Indice | CreateIndex | s3vectors:CreateIndex | Fornisce l’autorizzazione per creare un nuovo indice vettoriale con dimensioni e configurazione dei metadati specificate | Scrittura | |
| Indice | GetIndex | s3vectors:GetIndex | Fornisce l’autorizzazione per recuperare gli attributi e la configurazione dell’indice vettoriale | Lettura | |
| Indice | DeleteIndex | s3vectors:DeleteIndex | Fornisce l’autorizzazione per eliminare un indice vettoriale e tutto il relativo contenuto | Scrittura | |
| Indice | QueryVectors | (Obbligatorio) s3vectors:QueryVectors | Fornisce l’autorizzazione a eseguire query di somiglianza sui vettori di un indice. Solo con |
Lettura | |
| (Obbligatorio su condizione): s3vectors:GetVectors | Obbligatorio se si impostano i filtri per i metadati, si imposta Con |
Lettura | |||
| Indice | PutVectors | s3vectors:PutVectors | Fornisce l’autorizzazione per aggiungere o aggiornare vettori in un indice | Scrittura | |
| Indice | GetVectors | s3vectors:GetVectors | Fornisce l’autorizzazione per recuperare vettori specifici e i relativi metadati tramite la chiave di vettore | Lettura | |
| Indice | ListVectors | (Obbligatorio) s3vectors:ListVectors | Fornisce l’autorizzazione a elencare le chiavi di vettore in un indice. Solo con |
Lettura | |
| (Obbligatorio su condizione): s3vectors:GetVectors | Obbligatorio se nella richiesta è impostato su true uno dei due parametri Con |
Lettura | |||
| Indice | DeleteVectors | s3vectors:DeleteVectors | Fornisce l’autorizzazione a eliminare vettori specifici da un indice | Scrittura |
Queste azioni possono essere combinate in vari modi per creare policy che soddisfino i requisiti di accesso specifici. Ad esempio, è possibile creare una policy di sola lettura che includa le azioni s3vectors:GetVectorBucket, s3vectors:ListIndexes, s3vectors:QueryVectors e s3vectors:GetVectors oppure una policy che includa le autorizzazioni di query e recupero di vettori ma escluda le azioni amministrative come la creazione o l’eliminazione di indici.
Chiavi di condizione per bucket vettoriali
| Chiavi di condizione | Descrizione | Tipo | |
|---|---|---|---|
| 1 | s3vectors:sseType | Filtra l’accesso tramite il tipo di crittografia lato server. Valori validi: AES256 | aws:kms |
Stringa |
| 2 | s3vectors:kmsKeyArn | Filtra l’accesso tramite l’ARN della chiave AWS AWS KMS utilizzata per crittografare un bucket vettoriale | ARN |