Google은 AI 기술을 사용하여 콘텐츠를 사용자의 기본 언어로 번역합니다. AI 번역에는 오류가 있을 수 있습니다.
증명 어설션
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
증명 어설션 사용에 대해 자세히 알아보려면 증명 정책 만들기를 참고하세요.
다음 표에서는 증명 정책을 구성하는 데 사용할 수 있는 어설션을 자세히 보여줍니다. 정책은 Confidential Space 이미지, 워크로드 컨테이너, VM 인스턴스에서 수행한 어설션을 검증할 수 있습니다.
이미지 어설션
| 어설션 |
유형 |
설명 |
|
assertion.dbgstat
상호작용:
-
워크로드 운영자:
--image-family 값입니다.
|
열거 |
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 이미지에는 설정된 지원 속성이 없습니다.
다음 표에서는 프로덕션 Confidential Space 이미지에 있는 지원 속성을 설명합니다.
| 지원 속성 |
설명 |
|
LATEST
LATEST 이미지에는 다음과 같은 지원 속성도 있습니다.
|
이미지 수명: 약 1개월 이후 LATEST 지원 속성이 삭제됩니다.
Confidential Space 이미지의 최신 버전이며 지원이 제공되고 취약점이 모니터링됩니다.
장기 실행 워크로드의 경우 증명 정책의 일부로 LATEST를 지정하지 않는 것이 좋습니다. 이는 워크로드가 실행되는 동안 Confidential Space 이미지가 업데이트되어 사용 중인 Confidential Space 이미지가 더 이상 LATEST가 아니게 되고, 다음에 Confidential Space 기본 토큰이 새로고침될 때 워크로드의 증명이 실패하기 때문입니다.
|
|
STABLE
STABLE 이미지에는 다음과 같은 지원 속성도 있습니다.
|
이미지 수명: 약 6개월 2027년 4월 1일부터 이미지 수명이 만료되면 STABLE 지원 속성이 삭제됩니다.
STABLE 속성이 있는 이미지는 6개월 동안 지원되고 취약점이 모니터링됩니다. STABLE 속성을 기반으로 증명 정책을 작성하는 것이 좋습니다.
드물지만 심각한 취약점이 발견되는 경우와 같이 일반적인 6개월 지원 기간 동안 STABLE 속성이 삭제될 수 있습니다.
|
USABLE |
USABLE 속성만 있는 이미지는 계속 사용할 수 있지만 지원 중단된 것으로 간주됩니다. 지원 중단된 이미지는 지원되지 않으며 6개월 이상 지났습니다.
사용에 따른 책임은 사용자에게 있습니다.
USABLE 이미지에는 deprecated.deprecated 속성이 있습니다. 값은 이미지가 지원 중단될 것으로 예상되는 시점의 타임스탬프입니다. 이미지의 속성은
gcloud compute images describe 명령어 또는 images.get REST 메서드를 사용하여 볼 수 있습니다. 예를 들면 다음과 같습니다.
gcloud compute images describe confidential-space-240800 \
--format=json \
--project=confidential-space-images
|
EXPERIMENTAL |
이 속성만 있는 이미지는 미리보기 기능을 사용합니다. EXPERIMENTAL
이미지는 테스트 목적으로만 사용해야 하며 프로덕션에 사용해서는 안 됩니다.
EXPERIMENTAL 이미지는 LATEST, STABLE 또는 USABLE 속성을 갖지 않습니다.
|
Confidential Space 이미지를 최신 상태로 유지하는 것이 좋습니다. Confidential Space 이미지를 업데이트하는 방법을 알아보려면
Confidential Space 이미지 업데이트를 참고하세요.
예
다음 코드는 안정적인 버전의 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
상호작용:
-
워크로드 작성자:
allow_cmd_override 출시 정책
-
워크로드 연산자:
tee-cmd 메타데이터 변수입니다.
|
문자열 배열 |
워크로드 이미지에 사용되는
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
상호작용:
-
워크로드 연산자:
tee-image-reference 메타데이터 변수입니다.
|
문자열 |
Confidential Space 이미지에서 실행되는 워크로드 컨테이너의 위치를 확인합니다.
예
assertion.submods.container.image_reference == "us-docker.pkg.dev/PROJECT_ID/WORKLOAD_CONTAINER:latest"
|
|
assertion.submods.container.image_signatures
상호작용:
-
워크로드 연산자:
tee-signed-image-repos 메타데이터 변수입니다.
|
JSON 객체 |
이미지에 특정 서명이 있거나 공개 키와 서명 알고리즘으로 서명되었는지 확인합니다. 이 조건을 지정하면 여러 당사자가 자신의 데이터에 액세스하도록 승인된 워크로드에 동의할 수 있습니다.
어설션에는 다음 요소가 포함될 수 있습니다.
-
key_id: 공개 키의 16진수 지문입니다. 지문을 가져오려면 다음 명령어를 실행하면 됩니다.
openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256
여기서 public_key.pem는 PEM 형식의 공개 키입니다.
-
signature: 서명된 컨테이너와 연결되고
Simple Signing format을 따르는 페이로드의 서명입니다.
-
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 다이제스트)
예
['ECDSA_P256_SHA256:PUBLIC_KEY_FINGERPRINT'].exists(fingerprint, fingerprint in assertion.submods.container.image_signatures.map(sig, sig.signature_algorithm+':'+sig.key_id))
|
|
assertion.submods.container.restart_policy
상호작용:
-
워크로드 연산자:
tee-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이 지정된 프로젝트 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_feature
상호작용:
-
워크로드 연산자:
tee-install-gpu-driver 메타데이터 변수입니다.
|
열거 |
NVIDIA GPU에서 지원하는 컨피덴셜 컴퓨팅 기능을 확인합니다. Confidential Space에서는 단일 GPU 패스스루 (SPT) 모드만 지원되므로 값은 항상 SPT입니다.
NVIDIA 컨피덴셜 컴퓨팅 지원에 대한 자세한 내용은
NVIDIA 신뢰할 수 있는 컴퓨팅 솔루션 (PDF)을 참고하세요.
예
assertion.submods.nvidia_gpu.cc_feature == "SPT"
|
|
assertion.submods.nvidia_gpu.cc_mode
상호작용:
-
워크로드 연산자:
tee-install-gpu-driver 메타데이터 변수입니다.
|
열거 |
NVIDIA의 컨피덴셜 컴퓨팅 드라이버 상태를 확인합니다.
유효한 값은 다음과 같습니다.
-
OFF: NVIDIA 컨피덴셜 컴퓨팅 기능이 활성화되어 있지 않습니다.
-
ON: NVIDIA H100 하드웨어, 펌웨어, 소프트웨어에서 컨피덴셜 컴퓨팅 기능을 완전히 활성화했습니다.
-
DEVTOOLS: GPU가 ON 모드의 워크플로와 일치하지만 보안 보호를 사용 중지하는 부분 컨피덴셜 컴퓨팅 모드에 있습니다.
예
assertion.submods.nvidia_gpu.cc_mode == "ON"
|
|
assertion.submods.nvidia_gpu.gpus
상호작용:
-
워크로드 연산자:
tee-install-gpu-driver 메타데이터 변수입니다.
|
객체의 배열 |
증명된 각 NVIDIA GPU의 클레임을 확인합니다. Confidential Space는 단일 GPU 클레임만 지원합니다.
gpus 객체는 다음과 유사합니다.
{
"hwmodel": "GCP_NVIDIA_H100",
"ueid": "490457405999046854973671575630853621547794591064",
"l4_serial_number": "1216669666319372030078",
"driver_version": "570.00",
"vbios_version": "96.00.9F.00.01"
}
예시
다음 코드는 첫 번째 GPU 하드웨어 모델이 Google Cloud에서 실행되는 NVIDIA H100인지 확인합니다.
assertion.submods.nvidia_gpu.gpus[0].hwmodel == "GCP_NVIDIA_H100"
다음 코드는 증명 클레임에 GPU 관련 클레임이 있는지 확인합니다.
has(assertion.submods.nvidia_gpu.gpus)
|
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2026-09-28(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"]],["최종 업데이트: 2026-09-28(UTC)"],[],[]]