Esempi di policy basate sulle risorse di S3 Vectors - Amazon Simple Storage Service

Esempi di policy basate sulle risorse di S3 Vectors

Nota

Amazon S3 Vectors è disponibile in versione di anteprima per Amazon Simple Storage Service ed è soggetto a modifiche.

Le policy basate su risorse sono collegate a una risorsa. È possibile creare policy basate sulle risorse per i bucket vettoriali. Le policy basate sulle risorse per S3 Vectors utilizzano il formato di policy AWS standard in JSON che puoi associare direttamente ai bucket vettoriali per controllare l’accesso al bucket e al suo contenuto.

A differenza delle policy basate sull’identità associate a utenti, gruppi o ruoli, le policy basate sulle risorse sono collegate alla risorsa stessa (il bucket vettoriale) e possono concedere autorizzazioni ai principali di altri account AWS. Ciò le rende ideali per scenari in cui è necessario condividere dati vettoriali tra diversi ambiti organizzativi oppure implementare controlli di accesso granulari basati sulla specifica risorsa a cui si sta accedendo.

Le policy basate sulle risorse vengono valutate in combinazione con le policy basate sull’identità e le autorizzazioni effettive sono determinate dall’unione di tutte le policy applicabili. Ciò significa che un principale ha bisogno dell’autorizzazione sia dalla policy basata sull’identità (associata al suo utente/ruolo) sia dalla policy basata sulle risorse (associata al bucket) per eseguire un’azione, a meno che la policy basata sulle risorse non conceda esplicitamente tale autorizzazione.

Esempio 1: policy di accesso multi-account

Questa policy dimostra come concedere autorizzazioni specifiche agli utenti di account AWS diversi.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CrossAccountBucketAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:123456789012:role/Admin" }, "Action": [ "s3vectors:CreateIndex", "s3vectors:ListIndexes", "s3vectors:QueryVectors", "s3vectors:PutVectors", "s3vectors:DeleteIndex" ], "Resource": [ "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket/*", "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket" ] } ] }

Esempio 2: negare le azioni a livello di indice vettoriale

Questa policy dimostra come negare azioni specifiche a livello di indice vettoriale a un ruolo IAM:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyIndexLevelActions", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam:123456789012:role/External-Role-Name" }, "Action": [ "s3vectors:QueryVectors", "s3vectors:PutVectors", "s3vectors:DeleteIndex", "s3vectors:GetVectors", "s3vectors:GetIndex", "s3vectors:DeleteVectors", "s3vectors:CreateIndex", "s3vectors:ListVectors" ], "Resource": "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket/*" } ] }

Esempio 3: negare le operazioni di modifica sia a livello di indice vettoriale che a livello di bucket

Questa policy dimostra come negare le richieste di modifica sia per l’indice vettoriale che per le azioni a livello di bucket specificando più risorse:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyModificationActionsAtBucketandIndexLevels", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam:123456789012:role/External-Role-Name" }, "Action": [ "s3vectors:CreateVectorBucket", "s3vectors:DeleteVectorBucket", "s3vectors:PutVectorBucketPolicy", "s3vectors:DeleteVectorBucketPolicy", "s3vectors:CreateIndex", "s3vectors:DeleteIndex", "s3vectors:PutVectors", "s3vectors:DeleteVectors" ], "Resource": [ "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket/*", "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket" ] } ] }