能力 2. 為生成 AI RAG 技術提供安全的訪問,使用和實現 - AWS 規定指引

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

能力 2. 為生成 AI RAG 技術提供安全的訪問,使用和實現

下圖說明生成 AI 帳戶用於擷取增強產生 (RAG) 功能的 AWS 服務。這種情況下的範圍是為了保護 RAG 功能。

針對 RAG 功能的生成 AI 帳戶建議使用的 AWS 服務

生成 AI 帳戶包括將嵌入儲存在向量資料庫中、儲存使用者對話以及維護快速存放區所需的服務,以及實作安全防護和集中式安全控管所需的一套必要安全服務。您應該在設定 VPC 環境存取的 Amazon S3 中為模型叫用日誌、提示存放區和知識庫資料來源儲存貯體建立 Amazon S3 閘道端點。 您也應該為 VPC 環境設定要存取的 CloudWatch 記錄檔建立 Logs 閘道端點。 CloudWatch

理由

檢索增強一代(RAG)是一種生成的 AI 技術,其中系統通過在生成答案之前從外部,權威知識庫中檢索信息來增強其響應。此程序可讓 FM 存取和特定於上下文的資料,進而提升產生回應的準確性 up-to-date 和相關性,藉此協助克服 FM 的限制。此使用案例是指生成 AI 安全範圍矩陣的範圍 3。 在範圍 3 中,您的組織使用預先訓練的 FM (例如 Amazon 基岩中提供的 FM) 來建立生成式 AI 應用程式。在此範圍內,您可以控制應用程式和應用程式使用的任何客戶資料,而 FM 提供者則控制預先訓練的模型及其訓練資料。 

當您讓使用者存取 Amazon 基岩知識庫時,您應該解決以下關鍵安全考量: 

  • 安全地訪問模型調用,知識庫,對話歷史記錄和提示存儲 

  • 對話,提示存儲和知識庫的加密

  • 警示潛在的安全風險,例如迅速注入或敏感資訊洩露

下一節討論這些安全性考量和衍生式 AI 功能。 

設計考量

建議您避免使用敏感資料自訂 FM (請參閱本指南稍後的生成 AI 模型自訂章節)。而是使用 RAG 技術與敏感信息進行交互。這種方法提供了幾個優點: 

  • 更緊密的控制和能見度。透過將敏感資料與模型分開,您可以對敏感資訊進行更好的控制和可見性。您可以視需要輕鬆編輯、更新或移除資料,以協助確保更好的資料控管。 

  • 減輕敏感資訊洩露。RAG 允許在模型調用期間與敏感數據進行更受控的交互。這有助於降低敏感資訊意外洩露的風險,如果資料直接合併到模型的參數中,就可能發生這種情況。 

  • 靈活性和適應性。將敏感資料與模型分離可提供更大的彈性和適應性。隨著數據要求或法規的變化,可以更新或修改敏感信息,而無需重新訓練或重建整個語言模型。

Amazon 基岩知識庫

您可以使用 Amazon 基岩知識庫建立 RAG 應用程式,方法是安全有效地將 FM 與自己的資料來源連接起來。此功能使用 Amazon OpenSearch 無伺服器做為向量存放區,以有效率地從資料擷取相關資訊。然後 FM 會使用該資料來產生回應。您的資料會從 Amazon S3 同步到知識庫,並產生嵌入以提高擷取效率。

安全考量

生成 AI RAG 工作負載面臨獨特的風險,包括 RAG 資料來源的資料外洩,以及透過威脅參與者迅速注入或惡意軟體中毒 RAG 資料來源。Amazon 基岩知識庫為資料保護、存取控制、網路安全、記錄和監控以及輸入/輸出驗證提供強大的安全控制,有助於降低這些風險。 

補救

資料保護

使用您建立、擁有和管理的 AWS Key Management Service (AWS KMS) 客戶受管金鑰,加密傳輸中和靜態的知識庫資料。 當您為知識庫設定資料擷取工作時,請使用客戶管理的金鑰加密工作。如果您選擇讓 Amazon 基岩在 Amazon OpenSearch 服務中為您的知識庫創建矢量存儲,Amazon 基岩可以將您選擇的 AWS KMS 密鑰傳遞給 Amazon OpenSearch 服務進行加密。

您可以透過使用 AWS KMS 金鑰查詢知識庫來加密產生回應的工作階段。 您可以將知識庫的資料來源存放在 S3 儲存貯體中。 如果您使用客戶受管金鑰在 Amazon S3 中加密資料來源,請將政策附加到您的知識庫服務角色。 如果包含您知識庫的向量存放區是使用 AWS Secrets Manager 密碼設定的,請使用客戶受管金鑰加密該機密。

如需詳細資訊和要使用的政策,請參閱 Amazon 基岩文件中的知識庫資源加密

身分與存取管理

遵循最低權限原則,為 Amazon 基岩的知識庫建立自訂服務角色。建立可讓 Amazon Bedrock 擔任此角色的信任關係,以及建立和管理知識庫。將下列身分識別原則附加至自訂知識庫服務角色: 

知識庫支援安全組態,為您的知識庫設定資料存取政策,以及針對私有 Amazon OpenSearch 無伺服器知識庫設定網路存取政策。 如需詳細資訊,請參閱 Amazon 基岩文件中的建立知識庫服務角色

輸入和輸出驗證

輸入驗證對於 Amazon 基岩知識庫至關重要。在將檔案上傳到資料來源之前,使用 Amazon S3 中的惡意軟體防護掃描檔案是否有惡意內容。如需詳細資訊,請參閱 AWS 部落格文章,將惡意軟體掃描與 Amazon S3 防毒功能整合到資料擷取管道中。

識別並篩選出使用者上傳至知識庫資料來源的潛在提示插入。 此外,偵測並編輯個人識別資訊 (PII) 作為資料擷取管道中的另一個輸入驗證控制項。Amazon Comprehend 可協助偵測並編輯使用者上傳至知識庫資料來源時的 PII 資料。如需詳細資訊,請參閱 Amazon Comprehend 文件中的偵測 PII 實體

我們也建議您使用 Amazon Macie 偵測並產生知識庫資料來源中潛在敏感資料的警示,以增強整體安全性和合規性。實作適用於 Amazon 基岩的護欄,以協助強制執行內容政策、封鎖不安全的輸入/輸出,並根據您的需求協助控制模型行為。

建議的 AWS 服務

Amazon OpenSearch 無服務器

Amazon OpenSearch 無伺服器是適用於 Amazon OpenSearch 服務的隨需 auto-scaling 配置。 OpenSearch 無伺服器集合是根據應用程式需求調整運算容量的 OpenSearch 叢集。Amazon 基岩知識庫使用 Amazon OpenSearch 無伺服器進行嵌入,而 Amazon S3 則用於與無伺服器向量索引同步資料來源。 OpenSearch  

為您的 OpenSearch 無伺服器向量存放區實作增強式驗證和授權。 實施最小權限的原則,該原則僅授予用戶和角色必要的權限。 

透過 OpenSearch 無伺服器中的資料存取控制,您可以允許使用者存取集合和索引,而不論其存取機制或網路來源為何。您可以透過資料存取原則管理存取權限,這些原則適用於集合和索引資源。 當您使用此模式時,請確認應用程式是否會將使用者的身分傳播至知識庫,而知識庫會強制執行您的角色或屬性型存取控制。這是透過設定具有最低權限原則的知識庫服務角色,並嚴格控制角色的存取權限來達成此目標。 

OpenSearch 無伺服器支援 AWS KMS 的伺服器端加密,以保護靜態資料。使用客戶管理的金鑰來加密該資料。 若要允許在擷取資料來源的過程中為暫時性資料儲存建立 AWS KMS 金鑰,請將政策附加至 Amazon 基岩服務角色的知識庫。 

私有存取權可套用至下列其中一種或兩種: OpenSearch無伺服器管理的 VPC 端點和受支援的 AWS 服務,例如 Amazon 基岩。使用 AWS PrivateLink 在 VPC 和 OpenSearch無伺服器端點服務之間建立私有連線。使用網路政策規則來指定 Amazon 基岩存取。

使用 Amazon 監控 OpenSearch 無伺服器 CloudWatch,Amazon 會收集原始資料並將其處理為可讀且接近即時的指標。 OpenSearch 無伺服器與 AWS 整合 CloudTrail,可擷取 OpenSearch 無伺服器即事件的 API 呼叫。 OpenSearch 服務與 Amazon 整合, EventBridge以通知您某些會影響您網域的事件。 第三方稽核人員可以在多個 AWS 合規計劃中評估 OpenSearch 無伺服器的安全性和合規性。

Amazon Simple Storage Service (Amazon S3)

將知識庫的資料來源存放在 S3 儲存貯體中。 如果您使用自訂 AWS KMS 金鑰加密 Amazon S3 中的資料來源 (建議使用),請將政策附加到您的知識庫服務角色。  在將檔案上傳到資料來源之前,使用 Amazon S3 中的惡意軟體防護掃描檔案是否有惡意內容。我們也建議您將模型叫用日誌和常用提示作為 Amazon S3 中的提示存放區託管。所有值區都應使用客戶管理的金鑰進行加密。若要進一步強化網路安全性,您可以為 VPC 環境設定要存取的 S3 儲存貯體建立閘道端點訪問應記錄和監控。如果您有企業需要保留 Amazon S3 物件的歷史記錄,請啟用本控制。使用 Amazon S3 物件鎖定套用物件層級的不變性。您可以使用以資源為基礎的政策,更嚴密地控制對 Amazon S3 檔案的存取。 

Amazon Comprehend

Amazon Comprehend 使用自然語言處理 (NLP),從文件內容擷取深入解析。 您可以使用 Amazon Comprehend 來偵測編輯英文或西班牙文文字文件中的 PII 實體。 將 Amazon Comprehend 整合到您的資料擷取管道中,以便在您在 RAG 知識庫中建立 PII 實體索引之前,自動偵測和編輯文件中的 PII 實體,以協助確保合規性並保護使用者隱私。視文件類型而定,您可以使用 Amazon Textract 擷取文字並將其傳送到 AWS Comprehend 以進行分析和編輯。

Amazon S3 可讓您在建立文字分析、主題建模或自訂 Amazon Comprehend 任務時加密輸入文件。Amazon Comprehend 與 AWS KMS 整合,可針對開始 * 和建立 * 任務加密儲存磁碟區中的資料,並使用客戶受管金鑰加密 Start* 任務的輸出結果。 我們建議您在資源政策中使用 aws: SourceArn 和 aws: SourceAccount 全域條件上下文金鑰,以限制 Amazon Comprehend 為資源提供其他服務的許可。 使用 AWS PrivateLink 在 VPC 擬私人雲端和 Amazon Comprehend 點服務之間建立私有連接。以最低權限原則為 Amazon Comprehend 實作以身分識別為基礎的政策。 亞馬遜與 AWS 整合 CloudTrail,可將 Amazon Comprehend 的 API 呼叫擷取為事件。第三方稽核員可以在多個 AWS 合規計劃中評估 Amazon Comprehend 的安全性和合規性。

Amazon Macie

Macie 可協助識別知識庫中以資料來源形式儲存的敏感資料、模型叫用日誌,以及 S3 儲存貯體中的提示存放。 如需 Macie 安全性最佳做法,請參閱本指南稍早的 Macie 一節。 

AWS KMS

使用客戶受管金鑰加密下列項目:知識庫的資料擷取任務、Amazon Ser OpenSearch vice 向量資料庫、透過查詢知識庫產生回應的工作階段Amazon S3 中的模型叫用日誌,以及託管資料來源的 S3 儲存貯體。 

如上一個模型推論部分 CloudTrail 所述,使用 Amazon CloudWatch 和 Amazon。