对象存储 访问控制(向量存储桶)

在腾讯云向量存储桶中,资源(存储桶、索引、向量等)默认是私有的。只有资源拥有者(腾讯云主账号)可以访问和修改这些资源。其他用户(例如子账号、匿名用户等)在未授权的情况下无法直接通过 URL 访问资源。向量存储桶支持基于 CAM 用户的访问权限管理和基于资源的访问权限管理两种维度。

相关产品
对象存储 产品页,含版本规格、价格与购买入口。

·用户策略(CAM 策略):以用户为中心的权限管理。配置策略时无需指定用户,需要指定资源、操作和条件。可在 CAM 控制台 进行设置。

·资源策略(桶策略):将权限直接关联到具体资源上,用于授权其他腾讯云账户、子账户或匿名用户访问指定的向量资源。可通过 COS 控制台或 COS Vectors API 进行配置。

一、向量存储桶的资源

存储桶(Bucket)、索引(Index)和向量(Vector)是向量存储桶的三种主要资源类型。目前,访问权限的配置支持到桶级和索引级,暂不支持向量级。你可以通过配置访问策略,对存储桶整体或桶内指定的索引进行授权管理。

需要注意的是,在资源六段式中,向量存储桶的资源标识为 cosvector,资源 ID 以层次结构展现,这点与对象存储 COS 有较大区别。向量桶的资源六段式的具体格式如下表所示。

资源级别 格式 示例
当前账号下所有向量存储桶资源 qcs::cosvector::uid/{appid}:bucket/* 授权访问当前账号下所有向量桶资源:qcs::cosvector::uid/1250000000:bucket/*
向量存储桶 qcs::cosvector:{region}:uid/{appid}:bucket/{bucketname}/* 授权访问指定向量桶:qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/my-vector-bucket-1250000000/*
向量索引 qcs::cosvector:{region}:uid/{appid}:bucket/{bucketname}/index/{indexname}/* 授权访问指定向量桶内的指定索引:qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/my-vector-bucket-1250000000/index/my-index/*

注意:说明:

二、支持的 Action

向量存储桶使用了一套跟 COS 完全不同的 API 接口,完整的 API 与对应的 Action 如下表所示。

模块 API Action 接口描述
向量桶操作 CreateVectorBucket cos:PutVectorBucket 创建向量存储桶。
 GetVectorBucket cos:GetVectorBucket 获取向量存储桶的详细信息。
 ListVectorBuckets cos:ListVectorBuckets 列举请求者拥有的所有向量存储桶。
 DeleteVectorBucket cos:DeleteVectorBucket 删除向量存储桶。
向量桶策略 PutVectorBucketPolicy cos:PutVectorBucketPolicy 设置指定向量存储桶的授权策略。
 GetVectorBucketPolicy cos:GetVectorBucketPolicy 获取指定向量存储桶的授权策略。
 DeleteVectorBucketPolicy cos:DeleteVectorBucketPolicy 删除指定向量存储桶的授权策略。
向量索引操作 CreateIndex cos:PutVectorIndex 创建向量索引。
 GetIndex cos:GetVectorIndex 获取向量索引的详细信息。
 ListIndexes cos:ListVectorIndexes 列举向量存储桶中的所有向量索引。
 DeleteIndex cos:DeleteVectorIndex 删除向量索引。
向量操作 PutVectors cos:PutVectors 写入向量数据。
 GetVectors cos:GetVectors 获取指定的向量数据。
 ListVectors cos:ListVectors 列举向量索引中的所有向量数据。
 QueryVectors cos:QueryVectors 进行向量相似性检索。
 DeleteVectors cos:DeleteVectors 删除向量索引中的指定向量数据。

三、支持的条件(Condition)

当前 COS 向量存储桶不支持条件表达式。

四、示例一:授予子账号对向量桶的操作权限

授予子账号 700001234567 对向量桶 example-bucket-1250000000的部分操作权限,包含获取向量桶信息、创建向量索引、列举向量索引。

{ "Statement": [ { "Action": [ "name/cos:GetVectorBucket", "name/cos:PutVectorIndex", "name/cos:ListVectorIndexes" ], "Effect": "allow", "Principal": { "qcs": [ "qcs::cam::uin/700000000000:uin/700001234567" ] }, "Resource": [ "qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/example-bucket-1250000000/*" ], "Sid": "bucket_action" } ], "Version": "2.0"}

五、示例二:授予子账号对向量桶的索引操作和向量操作权限

授予子账号 700001234567 对向量桶 example-bucket-1250000000内的索引 idx-dim3 的索引操作和向量操作权限。

{ "Statement": [ { "Action": [ "name/cos:GetVectorIndex", "name/cos:PutVectors", "name/cos:GetVectors", "name/cos:ListVectors", "name/cos:QueryVectors" ], "Effect": "allow", "Principal": { "qcs": [ "qcs::cam::uin/700000000000:uin/700001234567" ] }, "Resource": [ "qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/example-bucket-1250000000/index/idx-dim3/*" ], "Sid": "index_idx_dim3_action" } ], "Version": "2.0"}

六、示例三:授予子账号对向量桶的桶操作、索引操作和向量操作权限

授予子账号 700001234567 对向量桶 example-bucket-1250000000的桶操作权限以及桶内所有索引的索引操作和向量操作权限。

{ "Statement": [ { "Action": [ "name/cos:DeleteVectorBucket", "name/cos:GetVectorBucket", "name/cos:PutVectorIndex", "name/cos:DeleteVectorIndex", "name/cos:GetVectorIndex", "name/cos:ListVectorIndexes", "name/cos:PutVectorBucketPolicy", "name/cos:GetVectorBucketPolicy", "name/cos:DeleteVectorBucketPolicy", "name/cos:PutVectors", "name/cos:GetVectors", "name/cos:DeleteVectors", "name/cos:ListVectors", "name/cos:QueryVectors" ], "Effect": "allow", "Principal": { "qcs": [ "qcs::cam::uin/700000000000:uin/700001234567" ] }, "Resource": [ "qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/example-bucket-1250000000/*" ], "Sid": "total_action" } ], "Version": "2.0"}

七、示例四:授予子账号对向量桶的桶操作权限,以及对向量索引的索引操作和向量操作权限

授予子账号 700001234567 对向量桶 example-bucket-1250000000 的桶操作权限,同时授予子账号 700001234567 对向量桶 example-bucket-1250000000 内的 idx-dim3 索引的索引操作和向量操作权限。

在这种情况下,子账号 700001234567 虽然拥有对向量桶 example-bucket-1250000000 的 GetVectorBucket 等操作权限,也拥有对索引 idx-dim3 的 GetVectors 等操作权限,但是却没有对其他索引如 idx-dim3-other 的 GetVectors 操作权限。

{ "Statement": [ { "Action": [ "name/cos:DeleteVectorBucket", "name/cos:GetVectorBucket", "name/cos:PutVectorIndex", "name/cos:ListVectorIndexes", "name/cos:PutVectorBucketPolicy", "name/cos:GetVectorBucketPolicy", "name/cos:DeleteVectorBucketPolicy" ], "Effect": "allow", "Principal": { "qcs": [ "qcs::cam::uin/700000000000:uin/700001234567" ] }, "Resource": [ "qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/example-bucket-1250000000/*" ], "Sid": "bucket_action" }, { "Action": [ "name/cos:DeleteVectorIndex", "name/cos:GetVectorIndex", "name/cos:PutVectors", "name/cos:GetVectors", "name/cos:DeleteVectors", "name/cos:ListVectors", "name/cos:QueryVectors" ], "Effect": "allow", "Principal": { "qcs": [ "qcs::cam::uin/700000000000:uin/700001234567" ] }, "Resource": [ "qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/example-bucket-1250000000/index/idx-dim3/*" ], "Sid": "idx_dim3_action" } ], "Version": "2.0"}

八、示例五:同时使用允许和拒绝两类 Statement

授予子账号 700001234567 对向量桶 example-bucket-1250000000 桶操作权限以及桶内所有索引的操作和向量操作权限,同时显式拒绝对桶内 idx-dim3 索引的写操作权限。

这种情况下,子账号 700001234567 对向量桶 example-bucket-1250000000 内的其他索引都具有写操作权限,唯独无法对 idx-dim3 索引进行写操作。

{ "Statement": [ { "Action": [ "name/cos:DeleteVectorBucket", "name/cos:GetVectorBucket", "name/cos:PutVectorIndex", "name/cos:DeleteVectorIndex", "name/cos:GetVectorIndex", "name/cos:ListVectorIndexes", "name/cos:PutVectorBucketPolicy", "name/cos:GetVectorBucketPolicy", "name/cos:DeleteVectorBucketPolicy", "name/cos:PutVectors", "name/cos:GetVectors", "name/cos:DeleteVectors", "name/cos:ListVectors", "name/cos:QueryVectors" ], "Effect": "allow", "Principal": { "qcs": [ "qcs::cam::uin/700000000000:uin/700001234567" ] }, "Resource": [ "qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/example-bucket-1250000000/*" ], "Sid": "total_action" }, { "Action": [ "name/cos:DeleteVectorIndex", "name/cos:PutVectors", "name/cos:DeleteVectors" ], "Effect": "deny", "Principal": { "qcs": [ "qcs::cam::uin/700000000000:uin/700001234567" ] }, "Resource": [ "qcs::cosvector:ap-guangzhou:uid/1250000000:bucket/example-bucket-1250000000/index/idx-dim3/*" ], "Sid": "deny_idx_dim3_write_action" } ], "Version": "2.0"}

赞 (0)
上一篇 4天前
下一篇 4天前