증명 어설션
  
      
    
  
  
  
  
  
    
  
  
    
    
    
    
  
    
  
  
증명 어설션 사용에 대해 자세히 알아보려면 증명 정책 만들기를 참고하세요.
다음 표에서는 증명 정책을 구성하는 데 사용할 수 있는 어설션을 자세히 보여줍니다. 정책은 Confidential Space 이미지, 워크로드 컨테이너, 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 이미지인지 확인합니다. 디버그 Confidential Space 이미지에는 설정된 지원 속성이 없습니다. 지원 속성은 3가지입니다. 
                
                  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
 상호작용: | 문자열 | 워크로드 연산자가 컨테이너의 환경 변수를 덮어썼는지 확인합니다. 예시다음 코드는 워크로드 운영자가 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: 공개 키의 16진수 디지털 지문입니다. 지문을 가져오려면 다음 명령어를 실행하면 됩니다.
 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(P-256 곡선의 ECDSA, SHA-256 다이제스트) 예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"
 | 
        
      
      
      
      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이 지정된 프로젝트 ID로 Google Cloud 프로젝트를 실행하는지 확인합니다. 예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"
 | 
        
      
    
  
 
  
  
  
  
    
  
  
 
  
    
    
      
       
         
  
       
    
    
  
  
  달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
  최종 업데이트: 2025-10-19(UTC)
  
  
    
    
    
      
  
    
  
  
    
      [[["이해하기 쉬움","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(UTC)"],[],[]]