证明断言
  
      
    
  
  
  
  
  
    
  
  
    
    
    
    
  
    
  
  
如需详细了解如何使用证明断言,请参阅创建证明政策。
下表详细介绍了构建证明政策的可用断言。政策可以验证 Confidential Space 映像、工作负载容器和虚拟机实例做出的断言。
  
    
      图片断言
      
        
          
            | 断言 | 类型 | 说明 | 
        
        
          
            | 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 映像。调试 Confidential Space 映像没有设置支持特性。 有三种支持特性: 
                
                  LATEST:这是最新版本的映像,受支持。LATEST映像同时也是STABLE和USABLE。
                  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
 互动对象: | 字符串 | 验证工作负载 operator 是否覆盖了容器中的环境变量。 示例以下代码用于验证工作负载运算符是否未替换 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(具有 SHA-256 摘要的 RSASSA-PSS)RSASSA_PKCS1V15_SHA256(具有 SHA-256 摘要的 RSASSA-PKCS1 v1_5)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(默认)AlwaysOnFailure 示例assertion.submods.container.restart_policy == "Never"
 | 
        
      
      
      
      虚拟机断言
      
        
          
            | 断言 | 类型 | 说明 | 
        
        
          
            | assertion.google_service_accounts
 互动对象: | 字符串数组 | 验证指定的服务账号是否已关联到运行工作负载的虚拟机,或者是否已使用虚拟机元数据中的 
                
                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 | 字符串 | 验证虚拟机实例 ID。 示例assertion.submods.gce.instance_id == "0000000000000000000"
 | 
          
            | assertion.submods.gce.instance_name | 字符串 | 验证虚拟机实例的名称。 示例assertion.submods.gce.instance_name == "workload-vm"
 | 
          
            | assertion.submods.gce.project_id | 字符串 | 验证虚拟机是否正在运行具有指定项目 ID 的 Google Cloud 项目。 示例assertion.submods.gce.project_id == "project-id"
 | 
          
            | assertion.submods.gce.project_number | 字符串 | 验证虚拟机是否在具有指定项目编号的 Google Cloud 项目中运行。 示例assertion.submods.gce.project_number == "00000000000"
 | 
          
            | assertion.submods.gce.zone
 互动对象: | 字符串 | 验证虚拟机是否正在指定可用区中运行。 示例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"
 | 
        
      
    
  
 
  
  
  
  
    
  
  
 
  
    
    
      
       
         
  
       
    
    
  
  
  如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
  最后更新时间 (UTC):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"]],["最后更新时间 (UTC):2025-10-19。"],[],[]]