S3 Vectors 中的身分和存取管理 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

S3 Vectors 中的身分和存取管理

S3 Vectors 中的存取管理遵循 AWS 安全最佳實務,提供多層控制,以確保只有授權的使用者和應用程式可以存取您的向量資料。此服務與 IAM 整合,並支援身分型政策和資源型政策,讓您靈活地建構和管理整個組織的許可權。

驗證和授權請求

S3 Vectors 使用 AWS 標準身分驗證和授權機制來保護對向量儲存貯體及其內容的存取。對 S3 Vectors 的每個請求都必須使用有效的 AWS 登入資料進行驗證,而且服務會根據以身分為基礎的政策、以資源為基礎的政策和任何適用服務控制政策的組合來評估許可。

當用戶端使用 AWS 登入資料 (存取金鑰、來自 的臨時登入資料或 IAM 角色) 向 S3 Vectors 提出請求時 AWS STS,身分驗證程序就會開始。服務會驗證這些憑證,然後針對請求的動作和目標資源,評估與已驗證身分相關聯的許可權。此評估程序會考慮多種政策類型,並套用最低權限原則來決定是否應允許或拒絕請求。

S3 Vectors 中的授權會以多個精細程度運作。您可以在向量儲存貯體層級、個別向量索引層級,甚至是索引中的特定操作上控制存取。此階層式許可模型可讓您實作符合您組織結構和資料治理要求的複雜存取控制機制。

為向量儲存貯體定義的資源類型

S3 Vectors 定義了可在 IAM 政策和資源型政策中參考的特定資源類型。了解這些資源類型對於建立有效的存取控制政策至關重要,因為這些政策可為適當的使用者和應用程式提供適當的存取層級。

下表說明 S3 Vectors 中的可用資源類型。

S3 Vectors 中的可用資源類型
Resource Type (資源類型) ARN 格式 Description
VectorBucket arn:aws:s3vectors:region:123456789012:bucket/bucket-name 代表向量儲存貯體,並用於儲存貯體層級的操作,例如建立、刪除或設定儲存貯體
索引 arn:aws:s3vectors:region:123456789012:bucket/bucket-name/index/index-name 代表儲存貯體中的向量索引,並用於特定索引操作,例如查詢向量或管理索引中容

向量儲存貯體的政策動作

S3 Vectors 提供一組完整的政策動作,對應於您可以在向量儲存貯體和索引上執行的各種操作。這些動作旨在提供可以全面執行特定操作的精細控制,以讓您有效地實作最低權限原則。

下表列出 S3 Vectors 資源的所有可用政策動作。

S3 Vectors 資源的政策動作
Resource Type (資源類型) API 操作 政策動作 政策動作的描述 存取層級 條件索引鍵
帳戶 ListVectorBuckets s3vectors:ListVectorBuckets 授予列出帳戶和區域中的所有向量儲存貯體 清單
VectorBucket CreateVectorBucket s3vectors:CreateVectorBucket 授予使用指定的組態建立新向量儲存貯體的許可權 寫入 s3vectors:sseType, s3vectors:kmsKeyArn
VectorBucket GetVectorBucket s3vectors:GetVectorBucket 授予擷取向量儲存貯體屬性和組態 讀取
VectorBucket DeleteVectorBucket s3vectors:DeleteVectorBucket 授予刪除空白向量儲存貯體的許可權 寫入
VectorBucket ListIndexes s3vectors:ListIndexes 授予列出向量儲存貯體中的所有索引的許可權 清單
VectorBucket PutVectorBucketPolicy s3vectors:PutVectorBucketPolicy 授予在向量儲存貯體上套用或更新資源型政策的許可權 許可管理
VectorBucket GetVectorBucketPolicy s3vectors:GetVectorBucketPolicy 授予擷取連接至向量儲存貯體的資源類型政策的許可權 讀取
VectorBucket DeleteVectorBucketPolicy s3vectors:DeleteVectorBucketPolicy 授予從向量儲存貯體中移除資源型政策的許可權 許可管理
索引 CreateIndex s3vectors:CreateIndex 授予使用指定的維度和中繼資料組態建立新的向量索引的許可權 寫入
索引 GetIndex s3vectors:GetIndex 授予擷取向量索引屬性和組態的許可權 讀取
索引 DeleteIndex s3vectors:DeleteIndex 授予刪除向量索引及其所有內容的許可權 寫入
索引 QueryVectors (必要) s3vectors:QueryVectors

授予對索引中的向量執行相似度查詢的許可權。

僅使用 s3vectors:QueryVectors,您可以擷取近似最近鄰的向量索引鍵及其與查詢向量的計算距離。只有當您未設定任何中繼資料篩選條件,且未請求向量資料或中繼資料 (藉由將 returnMetadata 參數保持設定為 false 或未指定) 時,此許可權才足夠。

讀取
(附帶條件的需要):s3vectors:GetVectors

如果您設定中繼資料篩選條件,在請求中將 returnMetadata 設定為 true 時,則為必要。

使用 s3vectors:QueryVectorss3vectors:GetVectors,您可以使用中繼資料條件來篩選結果,並擷取向量索引鍵及其與查詢向量的相關資料、中繼資料和計算距離。

讀取
索引 PutVectors s3vectors:PutVectors 授予在索引中新增或更新向量的許可權 寫入
索引 GetVectors s3vectors:GetVectors 授予依向量索引鍵擷取特定向量及其中繼資料的許可權 讀取
索引 ListVectors (必要) s3vectors:ListVectors

授予列出索引中的向量索引鍵的許可權。

僅使用 s3vectors:ListVectors,當 returnDatareturnMetadata 參數皆為 false 或未指定,您才能列出向量索引鍵。

讀取
(附帶條件的需要):s3vectors:GetVectors

如果您在請求中將 returnDatareturnMetadata 參數設定為 true,則為必要。

使用 s3vectors:ListVectorss3vectors:GetVectors,您可以透過將 returnDatareturnMetadata 設定為 true 來擷取向量索引鍵及其相關聯的資料和中繼資料。

讀取
索引 DeleteVectors s3vectors:DeleteVectors 授予從索引刪除特定向量的許可權 寫入

這些動作可以透過各種方式組合,以建立符合您特定存取要求的政策。例如,您可以建立包含 s3vectors:GetVectorBuckets3vectors:ListIndexess3vectors:QueryVectorss3vectors:GetVectors 動作的唯讀政策,或包含查詢和向量檢索許可權的政策,但不包括建立或刪除索引等管理動作。

向量儲存貯體的條件索引鍵

向量儲存貯體的條件索引鍵
條件索引鍵 描述 Type
1 s3vectors:sseType 依伺服器端加密類型篩選存取權,有效值:AES256 | aws:kms String
2 s3vectors:kmsKeyArn 針對用於加密向量儲存貯體的 AWS AWS KMS 金鑰,依金鑰 ARN 篩選存取權 ARN