認證斷言
  
      
    
  
  
  
  
  
    
  
  
    
    
    
    
  
    
  
  
如要進一步瞭解如何使用認證聲明,請參閱建立認證政策。
下表詳細列出可用於建構認證政策的判斷。政策可驗證機密空間映像檔、工作負載容器和 VM 執行個體所做的聲明。
  
    
      圖片聲明
      
        
          
            | 斷言 | 
            類型 | 
            說明 | 
          
        
        
          
            | 
               assertion.dbgstat 
              互動對象: 
              
             | 
            定義的字串 | 
            
               驗證 Confidential Space 映像檔是否為偵錯或正式版。 
              有效值如下: 
              
                - 
                  
enable:確認使用的是偵錯圖片。
                 
                - 
                  
disabled-since-boot:確認使用的是正式版圖片。
                 
               
              範例
              下列程式碼會驗證是否使用 Confidential Space 映像檔的偵錯版本: 
              assertion.dbgstat == "enable" 
              下列程式碼會驗證目前使用的是 Confidential Space 映像檔的正式版: 
              assertion.dbgstat == "disabled-since-boot" 
             | 
          
          
            assertion.submods.confidential_space.support_attributes | 
            字串陣列 | 
            
               驗證 TEE 的安全版本是否為正式版 Confidential Space 映像檔。偵錯機密空間映像檔未設定支援屬性。 
              支援的屬性有三種: 
              
                - 
                  
LATEST:這是最新版圖片,且系統支援此版本。LATEST圖片也STABLEUSABLE。 
                - 
                  
STABLE:這個版本的映像檔受到支援,且會監控是否有安全漏洞。STABLE 圖片也是 USABLE。 
                - 
                  
USABLE:只有這項屬性的映像檔已停止支援,且不再監控是否有安全漏洞。您必須自行承擔使用風險。
                  
                 
                - 
                  
EXPERIMENTAL:如果圖片只有這項屬性,就會使用預覽功能。僅供測試,不得用於實際工作環境。EXPERIMENTAL 圖片絕不會有 LATEST、STABLE 或 USABLE 屬性。 
               
              
              範例
              下列程式碼會驗證是否使用穩定版 Confidential Space 映像檔: 
              "STABLE" in assertion.submods.confidential_space.support_attributes 
             | 
          
          
            assertion.swname | 
            定義的字串 | 
            
               驗證認證實體執行的軟體。值一律為 CONFIDENTIAL_SPACE。 
              範例
              assertion.swname == "CONFIDENTIAL_SPACE" 
             | 
          
          
            assertion.swversion | 
            字串陣列 | 
            
               驗證 Confidential Space 映像檔的軟體版本。建議改用 assertion.submods.confidential_space.support_attributes,以便指定最新版本的映像檔。 
              範例
              int(assertion.swversion[0]) == 230103 
             | 
          
        
      
      
      
      容器斷言
      
        
          
            | 斷言 | 
            類型 | 
            說明 | 
          
        
        
          
            | 
             assertion.submods.container.cmd_override 
            互動對象: 
            
             | 
            字串陣列 | 
            
               驗證工作負載映像檔中使用的 
                  CMD 指令和參數。 
              範例
              下列程式碼會驗證工作負載映像檔的 CMD 是否遭到覆寫: 
              size(assertion.submods.container.cmd_override) == 0 
              下列程式碼會驗證 program 是否為 CMD 覆寫中的唯一內容: 
              assertion.submods.container.cmd_override == ['program'] 
             | 
          
          
            | 
               assertion.submods.container.env 
              互動對象: 
              
             | 
            JSON 物件 | 
            
               確認環境變數及其值已明確傳遞至容器。 
              範例
              下列程式碼會驗證環境變數 example-env-1 是否設為 value-1,以及 example-env-2 是否設為 value-2。 
              assertion.submods.container.env == {"example-env-1": "value-1", "example-env-2": "value-2"} 
             | 
          
          
            | 
               assertion.submods.container.env_override 
              互動對象: 
              
             | 
            字串 | 
            
               確認工作負載運算子是否已覆寫容器中的環境變數。 
              範例
              下列程式碼會驗證工作負載運算子是否未覆寫 example 環境變數: 
              !has(assertion.submods.container.env_override.example) 
              下列程式碼會驗證工作負載運算子是否覆寫任何環境變數: 
              size(assertion.submods.container.env_override) == 0 
             | 
          
          
            assertion.submods.container.image_digest | 
            字串 | 
            
               驗證工作負載容器的映像檔摘要。指定這項條件後,多方就能同意授權工作負載存取資料。 
              範例
              assertion.submods.container.image_digest == "sha256:837ccb607e312b170fac7383d7ccfd61fa5072793f19a25e75fbacb56539b86b" 
             | 
          
          
            assertion.submods.container.image_id | 
            字串 | 
            
               驗證工作負載容器的映像檔 ID。 
              範例
              assertion.submods.container.image_id == "sha256:652a44b0e911271ba07cf2915cd700fdfa50abd62a98f87a57fdebc59843d93f" 
             | 
          
          
            | 
               assertion.submods.container.image_reference 
              互動對象: 
              
             | 
            字串 | 
            
               驗證在 Confidential Space 映像檔上執行的工作負載容器位置。 
              範例
              assertion.submods.container.image_reference == "us-docker.pkg.dev/PROJECT_ID/WORKLOAD_CONTAINER:latest" 
             | 
          
          
            | 
               assertion.submods.container.image_signatures 
              互動對象: 
              
             | 
            JSON 物件 | 
            
               驗證圖片是否具有特定簽章,或是否由公開金鑰和簽章演算法簽署。指定這項條件後,多方就能同意授權工作負載存取資料。 
              判斷可包含下列元素: 
              
                - 
                  
key_id:公開金鑰的十六進位指紋。如要取得指紋,請執行下列指令: 
                  openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256 
                  其中 public_key.pem 是 PEM 格式的公開金鑰。 
                 
                signature:與已簽署容器相關聯的酬載簽章,且遵循
                  
                  簡易簽署格式。
                  
                 
                - 
                  
signature_algorithm:用於簽署金鑰的演算法。可以是下列其中一項: 
                  
                    RSASSA_PSS_SHA256 (RSASSA-PSS,具有
                    SHA-256 摘要) 
                    RSASSA_PKCS1V15_SHA256 (RSASSA-PKCS1 v1_5
                    搭配 SHA-256 摘要) 
                    ECDSA_P256_SHA256 (具有 SHA-256 摘要之 P-256 曲線的 ECDSA) 
                   
                 
               
              範例
              assertion.swname == 'CONFIDENTIAL_SPACE' && ['ECDSA_P256_SHA256:PUBLIC_KEY_FINGERPRINT'].exists(fingerprint, fingerprint in assertion.submods.container.image_signatures.map(sig, sig.signature_algorithm+':'+sig.key_id)) && 'serviceaccount.iam.gserviceaccount.com' in assertion.google_service_accounts" 
             | 
          
          
            | 
               assertion.submods.container.restart_policy 
              互動對象: 
              
             | 
            定義的字串 | 
            
               驗證容器啟動器的重新啟動政策,以瞭解工作負載停止時的行為。 
              有效值如下: 
              
                Never (預設) 
                Always 
                OnFailure 
               
              範例
              assertion.submods.container.restart_policy == "Never" 
             | 
          
        
      
      
      
      VM 斷言
      
        
          
            | 斷言 | 
            類型 | 
            說明 | 
          
        
        
          
            | 
               assertion.google_service_accounts 
              互動對象: 
              
             | 
            字串陣列 | 
            
               確認指定服務帳戶已連線至執行工作負載的 VM,或已使用 VM 中繼資料的 
                
                tee-impersonate-service-accounts
                
               列出。 
              範例
              workload-service-account@my-project.iam.gserviceaccount.com in assertion.google_service_accounts 
             | 
          
          
            assertion.hwmodel | 
            字串 | 
            
               驗證基礎機密運算技術。支援的平台如下: 
              
              範例
              assertion.hwmodel == "GCP_AMD_SEV" 
             | 
          
          
            | 
               assertion.submods.confidential_space.monitoring_enabled 
               互動對象: 
                
             | 
            布林值 | 
            
               驗證認證實體的監控狀態。 
              範例
              assertion.submods.confidential_space.monitoring_enabled.memory == true 
             | 
          
          
            assertion.submods.gce.instance_id | 
            字串 | 
            
               驗證 VM 執行個體 ID。 
              範例
              assertion.submods.gce.instance_id == "0000000000000000000" 
             | 
          
          
            assertion.submods.gce.instance_name | 
            字串 | 
            
               驗證 VM 執行個體的名稱。 
              範例
              assertion.submods.gce.instance_name == "workload-vm" 
             | 
          
          
            assertion.submods.gce.project_id | 
            字串 | 
            
               驗證 VM 執行的 Google Cloud 專案是否具有指定的專案 ID。 
              範例
              assertion.submods.gce.project_id == "project-id" 
             | 
          
          
            assertion.submods.gce.project_number | 
            字串 | 
            
               驗證 VM 是否在具有指定專案編號的 Google Cloud 專案中執行。 
              範例
              assertion.submods.gce.project_number == "00000000000" 
             | 
          
          
            | 
               assertion.submods.gce.zone 
              互動對象: 
              
             | 
            字串 | 
            
               確認 VM 是否在指定區域中執行。 
              範例
              assertion.submods.gce.zone == "us-central1-a" 
             | 
          
          
            | 
               assertion.submods.nvidia_gpu.cc_mode 
              互動對象: 
              
             | 
            定義的字串 | 
            
               
                驗證 NVIDIA 機密運算驅動程式的狀態。
                有效值如下:
               
              
                - 
                  
OFF:NVIDIA 機密運算功能皆未啟用。 
                - 
                  
ON:NVIDIA H100 硬體、韌體和軟體已完全啟用機密運算功能。
                  
                  
                 
                - 
                  
DEVTOOLS:GPU 處於部分機密運算模式,與 ON 模式的工作流程相符,但會停用安全防護措施。 
               
              範例
              assertion.submods.nvidia_gpu.cc_mode == "ON" 
             | 
          
        
      
    
  
 
  
  
  
  
    
  
  
 
  
    
    
      
       
         
  
       
    
    
  
  
  除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
  上次更新時間:2025-10-19 (世界標準時間)。
  
  
    
    
    
      
  
    
  
  
    
      [[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-10-19 (世界標準時間)。"],[],[]]