在您的應用程式中整合 TrendAI Vision One™ AI Guard,以掃瞄您AI使用中的有害內容生成、敏感資訊洩漏和提示注入。
如需 TrendAI 託管的整合,請參閱 整合 Trend 託管的 AI 防護。為了資料主權,請在您的 Amazon Web Services (AWS) 環境或 Kubernetes 叢集中部署和託管 AI Guard。TrendAI Vision One™ 僅接收掃瞄結果。
AI Guard 使用點數進行模型掃描。根據預期的模型掃描次數來計劃每月的點數使用。
在 AWS 上部署
先決條件:
-
您必須擁有具有建立 API 金鑰和執行掃描權限的 TrendAI Vision One™ 角色。
-
驗證您的 AWS 帳戶是否有足夠的配額來支持 隨需 G 和 VT 實例類型。TrendAI™ 建議增加緩衝以應對實例大小可能的變化。
-
在您的AWS帳戶中啟用CloudWatch 日誌記錄權限。
步驟
- 前往以連接或更新您的AWS帳戶。
- 要設定新的 AWS 帳戶:
- 點選Add Account。
- 對於Deployment Method,選擇CloudFormation。
- 選取帳號類型:
-
Single AWS Account
-
AWS Organization
-
- 提供「帳號」和「說明」以顯示在Cloud Accounts中。
- 指定「Organizational Unit ID」。當您新增 AWS 組織時,所有在 AWS 中未指定別名的成員帳戶將在 Cloud Accounts 中收到自動生成的名稱。
- 要配置現有的 AWS 帳戶:
- 按一下「Update AWS account」,然後按一下帳號名稱。
- 在「Cloud Accounts Settings」中,點擊「Stack Update」標籤。
- 選擇 AWS 區域以部署 CloudFormation 範本。
- 若要將自訂標籤新增至由 TrendAI Vision One™ 部署的資源,請選擇 「Resource tagging」 並指定鍵值對。
-
要新增最多三個標籤,請按一下「Create a new tag」。
-
- 點選下一步。
- 啟用「AI Application Security」。
- 選取「部署」。
- 選擇「Enable AI Guard」。
- 在同一瀏覽器會話中的新標籤頁中,使用具有管理員權限的角色登入您要連接的 AWS 帳戶。
- 對於現有的 AWS 帳戶:
- 在「Update the CloudFormation template」下,按一下「Copy S3 URL」。
- 如果 API 金鑰已過期,請點擊「Copy Vision One API key」,然後在 CloudFormation 中替換 API 金鑰。TrendAI Vision One™ API 金鑰有效期為 90 天。
- 若要在部署前檢視範本,請點擊「Download and Review Template」。
- 前往「Stacks」,然後點擊您想要更新的堆疊名稱。
-
Vision-One-雲端帳戶管理
-
- 按一下「更新」。
- 選擇「Replace current template」。
- 將範本 S3 URL 貼入「Amazon S3 URL」。
- 按「下一步」。
- 對於新的 AWS 帳戶:
- 按「下一步」。
- 要使用自動部署:
-
選取「Automated」做為部署類型。
-
點擊「Launch stack」以在 AWS 控制台中啟動 CloudFormation 範本。
-
完成「Quick Create Stack」中的步驟。
-
- 要使用手動部署:
-
選取「手動」做為部署類型。
-
點擊「Download the template and stack parameters as a .zip」。
-
前往「CloudFormation」下的「Stacks」。
-
使用 .zip 檔案中的參數建立新堆疊。
-
- 在TrendAI Vision One™中,點擊「完成」。
- 在另一個分頁中,登入 AWS 管理控制台並開啟 CloudFormation 堆疊。
- 前往「Outputs」標籤頁並複製GuardAPIEndpoint。
- 將 AI Guard 整合到您的應用程式中。請參考以下程式碼片段進行整合。
import os import requests # Get your TrendAI Vision One™ API key from environment variable api_key = os.environ.get("V1_API_KEY") if not api_key: raise ValueError("Missing V1_API_KEY environment variable") # Get your TrendAI™ AI Guard URL from environment variable ai_guard_url = os.environ.get("AI_GUARD_URL") if not ai_guard_url: raise ValueError("Missing AI_GUARD_URL environment variable") # Configure headers headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json", "TMV1-Application-Name": "your-application-name" # Required } # Prepare the payload payload = { "prompt": "Your prompt or message here" } # Copy AI Guard URL from AWS template Stack Output url = f"{ai_guard_url}" # Make the API request response = requests.post( url, headers=headers, json=payload ) # Check response status if response.status_code == 200: result = response.json() # API returns action and optional reasons action = result.get("action") reasons = result.get("reasons", []) if action == "Allow": print("Request allowed by AI Guard") elif action == "Block": print(f"Request blocked by AI Guard") print(f"Reasons: {', '.join(reasons)}") print(f"Response ID: {result.get('id')}") else: print(f"Error: {response.status_code} - {response.text}")
-
使用 GuardAPIEndpoint 的值來設定 AI_GUARD_URL 的值。
請求選項
參數值描述請求類型簡單請求或 OpenAI 聊天格式選擇具有TMV1-Request-Type標頭的項目。回應詳情最小或表示使用Prefer標頭進行控制。驗證Bearer API 金鑰授權:Bearer <token>。如需詳細資訊,請參閱AI Guard API 參考文件和程式碼範例及TrendAI™ 自動化中心。 -
關閉 AWS 中的自託管 AI 防護
步驟
- 移至Cloud SecurityCloud AccountsAWS。
- 記錄哪些帳戶已啟動 AI 安全功能。
- 在「Cloud Accounts Settings」中,點擊「Stack Update」標籤。
- 關閉「AI Application Security」。
- 在「Update the CloudFormation template」下,按一下「Copy S3 URL」。
- 前往「Stacks」並點擊您想要更新的堆疊名稱。
-
Vision-One-雲端帳戶管理
-
- 按一下「更新」。
- 如果 API 金鑰已過期,請點擊「Copy Vision One API key」,然後在 CloudFormation 中替換 API 金鑰。TrendAI Vision One™ API 金鑰有效期為 90 天。
- 驗證移除 AI 安全功能堆疊。
後續步驟
疑難排解
|
問題
|
原因
|
處理行動
|
|
來自 API 的 401 或 403
|
無效或過期的API金鑰;角色缺乏權限
|
重新生成密鑰或指派具有AI Guard掃瞄權限的角色。
|
|
action=封鎖意外地
|
政策過於激進
|
降低至「中」或調整類別切換。
|
|
TrendAI Vision One™ 中沒有結果
|
自託管未連接或未應用CloudFormation
|
重新執行「Update AWS account」並確認堆疊已完成。
|
|
解析錯誤
|
錯誤的
TMV1-Request-Type 用於有效負載 |
將標頭與請求格式匹配。
|
在 Kubernetes 叢集上部署
先決條件:
-
具有創建 API 金鑰和執行掃描權限的 TrendAI Vision One™ 角色
-
支援 CUDA 12 或更高版本的 NVIDIA 驅動程式的 GPU 已啟動 AMD64 節點預覽版不支援 ARM64 架構。
-
在 GPU 節點上安裝的 NVIDIA 裝置外掛程式適用於 Kubernetes,並且已創建名為 nvidia 的 Kubernetes RuntimeClass,其處理程序為 nvidia
-
Kubernetes 版本 1.24 或更高版本
-
Helm 3.0+ 已安裝
-
至少需要 1 個 GPU 和 16 GB 的記憶體來運行一個 AI Guard 的副本
步驟
- 移至「AI Application Security」。
- 按一下「AI Guard」標籤,然後按一下「設定」。
- 點擊「Add a Cluster」。每位客戶最多可有 25 個叢集。
- 提供「Cluster name」。每個叢集名稱在您組織中必須是唯一的,且最多可包含64個字元。如果叢集名稱已被使用,請提供不同的名稱。
- 按一下「更新」。
- 新增一個最多可包含 129 個字元的「說明」。
- 按一下「更新」。
- 複製覆蓋檔案內容並儲存為
overrides.yaml。 - 在您的終端機中執行以下命令以將AI Guard部署到您的叢集中:
helm install ai-guard oci://public.ecr.aws/trendmicro/ai-security/ai-guard-chart \ --version <version> \ -f overrides.yaml \ -n trend-ai-security --create-namespace
-
當部署完成時,您的叢集將顯示在AI Guard資訊中心中。
-
裝置代幣將在七天後過期。
-
- 使用以下命令來確認部署是否準備就緒:確認指令Pod 正在運行
kubectl get pods -n trend-ai-security所有容器已準備就緒kubectl describe pod -n trend-ai-security -l app.kubernetes.io/name=ai-guard本地測試kubectl port-forward svc/ai-guard 8080:8080 -n trend-ai-security在另一個終端的健康端點curl http://localhost:8080/health - 在 AI 防護標籤上,點擊
以查看您群集的列表及其當前狀態。狀態意義就緒您的叢集已註冊,但尚未部署AI Guard。作用中AI Guard 已部署並在此叢集上運行。離線AI Guard 先前是啟用的,但在過去 15 分鐘內未報告任何使用情況。這可能表示部署已被移除或叢集無法連接。
升級叢集
步驟
- 在 AI 防護標籤上,點擊
,然後點擊版本控制標籤,以確定元件版本是否落後於最新元件版本。-
如果元件版本與最新元件版本相符,您不需要執行任何操作。
-
如果元件版本與最新元件版本相符,請繼續以下步驟。
-
- 點擊「Copy latest helm script」。
- 在具有 kubectl 訪問目標叢集的終端機中,執行以下其中一個升級命令:
-
如果您有原始的overrides.yaml,請使用此命令:
helm upgrade ai-guard oci://public.ecr.aws/trendmicro/ai-security/ai-guard-chart \ --version <latest-version> \ -f overrides.yaml \ -n trend-ai-security
-
如果您不再擁有overrides.yaml,請使用此命令
helm upgrade ai-guard oci://public.ecr.aws/trendmicro/ai-security/ai-guard-chart \ --version <latest-version> \ --reuse-values \ -n trend-ai-security
-
- 等待部署完成。
kubectl rollout status deployment/ai-guard -n trend-ai-security
- 在 AI Guard 標籤頁中,點擊
,然後點擊版本控制標籤頁,以確認叢集的元件版本和最後更新時間已更新。
移除叢集
步驟
- 從您的 Kubernetes 叢集中移除 Helm 部署:
helm uninstall ai-guard -n trend-ai-security
- 如果沒有其他工作負載使用該命名空間,請刪除它。
kubectl delete namespace trend-ai-security
- 從入口網站中註銷叢集:
- 選取要移除的叢集。「全選」 僅選擇當前頁面上可見的群集。
- 請點選「刪除」。
- 檢查您要移除的群集列表,然後點擊「確認」。
- 選取要移除的叢集。
