Confidential Space 提供隔離環境,可處理機密資料,同時確保資料擁有者保有資料機密性。機密資料可能包括個人識別資訊 (PII)、受保護的健康資訊 (PHI)、智慧財產、加密密鑰、機器學習 (ML) 模型等。
您可能會使用 Confidential Space 處理機密資料,這些資料只會向原始擁有者和雙方同意的工作負載顯示。或者,您也可以使用這項功能,為終端消費者提供更完善的資料隱私權保障,因為機密空間環境的營運商或擁有者無法存取正在處理的資料。
機密空間使用受信任的執行環境 (TEE),可將密鑰只發布給授權工作負載。認證程序和強化型 OS 映像檔可協助保護工作負載,以及工作負載處理的資料,避免遭到運算子存取。
如要進一步瞭解 Confidential Space 的應用實例和安全模型,請參閱「Confidential Space 安全總覽」。
Confidential Space 元件
機密空間系統有三個核心元件:
工作負載:含有程式碼的容器化映像檔,可處理受保護的資源。這項服務會在機密空間映像檔上執行,這是以 Container-Optimized OS 為基礎的強化型作業系統。這項服務會在 AMD SEV 或 Intel TDX 機密 VM 上執行,這是一種雲端 TEE,可提供硬體隔離和遠端驗證功能。工作負載通常位於與受保護資源不同的專案中。
認證服務:遠端認證驗證器,會以 OpenID Connect (OIDC) 權杖的形式傳回認證證據。權杖包含工作負載的識別屬性。認證服務會在工作負載執行的同一區域中執行。
受保護的資源:受驗證和授權系統保護的受管理資源。如果資源位於 Google Cloud,則可以是受管理雲端資源,例如 Cloud Key Management Service (Cloud KMS) 金鑰或 Cloud Storage 儲存空間。如果資源不在 Google Cloud中 (例如在內部部署環境或其他雲端中),則可以是任何資源。
Confidential Space 角色
機密空間系統中的元件由三種不同角色的使用者管理:
資料協作者:擁有受保護資源的人員或機構,這些資源由工作負載運作。資料協作者可以存取自己的資料、設定資料權限,並視工作負載的輸出內容而定,存取以該資料為依據的結果。
資料協作者無法存取彼此的資料,也無法修改工作負載程式碼。
如要進一步瞭解資料協作者的角色,請參閱「建立及授予機密資源的存取權」。
工作負載作者:建立應用程式的人員,該應用程式會存取及處理機密資料。他們會將應用程式新增至容器化映像檔 (例如使用 Docker),並將映像檔上傳至 Artifact Registry 等存放區。
工作負載作者無法存取資料或結果,也無法控管存取權。
如要進一步瞭解工作負載作者的角色,請參閱「建立及自訂工作負載」。
工作負載運算子:執行工作負載的人員。工作負載運算子通常在執行工作負載的專案中,擁有完整的管理權限。舉例來說,他們可以管理專案中的資源 (例如 Compute Engine 執行個體、磁碟和網路規則),並與作用於這些資源的任何 Google Cloud API 互動。
工作負載運算子無法存取資料,也無法控管資料存取權。他們無法影響或修改工作負載程式碼或執行環境。
如要進一步瞭解工作負載運算子的角色,請參閱「部署工作負載」。
一個人可以擔任一或多個角色。為確保最高安全性,Confidential Space 支援信任模型,其中資料協作者、工作負載作者和工作負載運算子是互不信任的獨立各方。所有角色都必須互相合作,才能取得所需結果。
Confidential Space 流程範例
Confidential Space 會使用多項 Google Cloud 服務,協助機密地處理私人資訊。一般來說,設定私密空間的流程可能如下:
多位資料協作者會將加密的機密資料儲存在各自獨立的專案中,這些專案通常屬於不同機構。 Google Cloud 他們想比較及處理這些資料,但不想向彼此或外部揭露資料。加密資料可能位於 Cloud Storage、BigQuery 或其他服務。
資料協作者會建立模擬的非機密資料,供測試工作負載使用。這些資料可能是不同的檔案,或位於其他位置,例如獨立的 Cloud Storage bucket。
資料協作者各自在專案中建立服務帳戶,用於解密資料。並將這些服務帳戶連結至工作負載身分集區 (WIP)。稍後,在工作負載運算子的獨立隔離專案中執行的工作負載,只要符合特定條件,就能使用該 WIP 模擬解密服務帳戶。
工作負載作者會編寫程式碼來處理機密資料。在與資料協作者和工作負載運算子不同的專案中,他們使用 Docker 建構容器化映像檔,並上傳至 Artifact Registry。
工作負載運算子會在隔離專案中建立服務帳戶,該帳戶具有讀取權限,可存取資料協作者加密機密資料的儲存位置,並具有寫入權限,可將解密資料的運算結果輸出至某個位置 (例如 Cloud Storage 值區)。稍後,這個服務帳戶會附加至執行工作負載的 Confidential VM。
資料協作者會將 Confidential Space 驗證驗證器新增為工作負載身分集區的供應商。他們也會為供應商新增屬性條件,工作負載必須通過這些條件,才能存取及解密資料。這些條件包括驗證工作負載 VM 的認證、工作負載的映像檔摘要、是否已設定環境變數等。詳情請參閱「認證聲明」。
在工作負載運算子的專案中啟動機密 VM,即可測試非機密資料的工作負載。VM 是以 Confidential Space 映像檔的偵錯版本為基礎,會載入容器化工作負載。
驗證 VM 的認證,且工作負載通過資料協作者的條件後,附加至 VM 的服務帳戶即可模擬解密服務帳戶。資料協作者服務帳戶會將解密資料傳遞至工作負載服務帳戶,後者會處理該資料,然後輸出結果。
完成監控和偵錯後,工作負載會更新,以供實際使用。資料協作者會視需要更新並進一步鎖定工作負載身分識別提供者,也可能會選擇先以非機密資料測試生產工作負載。
所有相關人員都同意正式環境工作負載,並準備開始處理機密資料。
需求條件
機密空間必須使用機密 VM 才能運作。機密 VM 執行個體必須使用 AMD SEV 或 Intel TDX 做為機密運算技術。如要瞭解硬體設定選項,以及可在哪些位置建立機密 VM 執行個體,請參閱「支援的設定」。