Exemplos de política baseada em recursos do S3 Vectors
nota
O Amazon S3 Vectors está na versão prévia para o Amazon Simple Storage Service e está sujeito a alterações.
Políticas baseadas em recurso são anexadas a um recurso. Você pode criar políticas baseadas em recursos para buckets de vetores. As políticas baseadas em recursos para o S3 Vectors usam o formato de política padrão da AWS em JSON, que você anexa diretamente aos buckets de vetores para controlar o acesso ao bucket e ao respectivo conteúdo.
Diferentemente das políticas baseadas em identidade anexadas a usuários, grupos ou perfis, as políticas baseadas em recursos são anexadas ao próprio recurso (o bucket de vetores) e podem conceder permissões a entidades principais de outras contas da AWS. Isso as torna ideais para cenários em que você precisa compartilhar dados vetoriais além das fronteiras organizacionais ou implementar controles de acesso refinados com base no recurso específico que está sendo acessado.
As políticas baseadas em recursos são avaliadas com as políticas baseadas em identidade, e as permissões efetivas são determinadas pela união de todas as políticas aplicáveis. Isso significa que a entidade principal precisa da permissão da política baseada em identidade (anexada ao usuário/perfil) e da política baseada em recursos (anexada ao bucket) para realizar uma ação, a menos que a política baseada em recursos conceda explicitamente a permissão.
Exemplo 1: política de acesso entre contas
Essa política demonstra como conceder permissões específicas a usuários de contas da AWS diferentes:
{ "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
" ] } ] }
Exemplo 2: negar ações em nível de índice de vetores
Essa política demonstra como negar ações específicas em nível de índice de vetores a um perfil do 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
/*" } ] }
Exemplo 3: negar operações de modificação em nível de índice de vetores e bucket
Essa política demonstra como negar solicitações de modificação para ações em nível de índice de vetores e de bucket especificando vários recursos:
{ "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
" ] } ] }