Identity and Access Management in S3 Vectors - Amazon Simple Storage Service

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.

Tipi di risorsa disponibili nei vettori S3
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.

Azioni di policy per 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 s3vectors:QueryVectors, è possibile recuperare le chiavi dei vettori dei vicini più prossimi approssimativi e le relative distanze calcolate dal vettore di query. Questa autorizzazione è sufficiente solo quando non si imposta alcun filtro per i metadati e non si richiedono dati vettoriali o metadati (mantenendo il parametro returnMetadata impostato su false o non specificato).

Lettura
(Obbligatorio su condizione): s3vectors:GetVectors

Obbligatorio se si impostano i filtri per i metadati, si imposta returnMetadata su true nella richiesta.

Con s3vectors:QueryVectors e s3vectors:GetVectors, è possibile filtrare i risultati utilizzando i criteri di metadati e recuperare le chiavi di vettore insieme ai dati associati, ai metadati e alle distanze calcolate del vettore di query.

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 s3vectors:ListVectors, è possibile elencare le chiavi di vettore quando entrambi i parametri returnData e returnMetadata sono falsi o non sono specificati.

Lettura
(Obbligatorio su condizione): s3vectors:GetVectors

Obbligatorio se nella richiesta è impostato su true uno dei due parametri returnData e returnMetadata.

Con s3vectors:ListVectors e s3vectors:GetVectors, è possibile recuperare le chiavi di vettore insieme ai dati e ai metadati associati impostando returnData e returnMetadata su true.

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