Confidential Space
Attested workload on a hardened image over a Confidential VM, hidden from its own operator.
- Provider
- gcp
- Kind
- Virtual machine
- Category
- Compute
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| attestation | boolean | — | no | true | inherited |
| diskEncryption | boolean | — | no | — | ▸ true |
| hardenedImage | boolean | — | no | true | inherited |
| imageVariant | enum | production | debug | no | — | inherited |
| instances | integer | — | no | — | inherited |
| managed | boolean | — | no | false | ▸ false |
| memoryEncryption | boolean | — | no | true | inherited |
| memoryGib | integer | — | no | — | inherited |
| operatorDataAccess | boolean | — | no | false | inherited |
| os | enum | linux | windows | aix | ibm-i | no | linux | ▸ linux |
| publicIp | boolean | — | no | — | inherited |
| sizeVcpu | integer | — | no | — | inherited |
| zoneRedundant | boolean | — | no | — | ▸ false |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
stateful-node-without-zone-redundancy
A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- — all of these hold:
- — the node's `stateless` is false
- — the node sits inside exactly 1 availability-zone group
- — this does not hold:
- — the node sits inside at least one cell group
nodes:
- { id: "confidential-space", component: "google-confidential-space" }Auto Scalingalibaba-auto-scalingElastic Compute Servicealibaba-ecsEdge Node Servicealibaba-ensSimple Application Serveralibaba-simple-application-serverAmazon EC2aws-ec2Amazon EC2 Auto Scalingaws-ec2-auto-scalingAmazon EC2 Dedicated Hostsaws-ec2-dedicated-hostAmazon Elastic VMware Serviceaws-evsAmazon Lightsailaws-lightsailAWS Nitro Enclavesaws-nitro-enclaveAzure BareMetal Infrastructureazure-baremetal-infrastructureAzure Compute Fleetazure-compute-fleetAzure Dedicated Hostazure-dedicated-hostAzure Data Science Virtual Machineazure-dsvmNutanix Cloud Clusters on Azureazure-nutanix-cloud-clustersAzure Virtual Machinesazure-virtual-machineAzure Virtual Machine Scale Setsazure-vm-scale-setAzure VMware Solutionazure-vmware-solutionCrusoe Cloud VMcrusoeFirecrackerfirecrackerMicrosoft Hyper-Vhyper-vKubeVirtkubevirtLambda Cloud instancelambda-labsKVM with libvirtlibvirtNebius AI Cloud VMnebiusNutanix AHVnutanix-ahvOpenStack Novaopenstack-novaoVirtovirtProxmox VEproxmoxRunpod PodrunpodVast.ai instancevast-aiGeneric virtual machinevirtual-machineVMware vSpherevsphereXCP-ngxcp-ngXenServerxenserverDigitalOcean Bare Metal GPUsdigitalocean-bare-metal-gpuDropletsdigitalocean-dropletDroplet Autoscale Pooldigitalocean-droplet-autoscaleBare Metal Solutiongoogle-bare-metal-solutionCloud TPUgoogle-cloud-tpu
and 20 more → Virtual machine page# yaml-language-server: $schema=../../schema/component.schema.json # Confidential Space: a workload that runs on a hardened image based on Container-Optimized OS on top # of a Confidential VM, so several parties can operate on each other's sensitive data without the # workload operator being able to read it ("Confidential Space overview"). That page states the image # runs on a Confidential VM with hardware isolation and remote attestation, that the workload is # verified before secrets are released to it, and that a debug variant of the image exists for testing. schemaVersion: "1" type: "component" id: "google-confidential-space" kind: "virtual-machine" provider: "gcp" docs: "https://cloud.google.com/confidential-computing/confidential-space/docs/confidential-space-overview" defaults: managed: false os: "linux" diskEncryption: true zoneRedundant: false properties: imageVariant: type: "enum" values: ["production", "debug"] hardenedImage: type: "boolean" default: true attestation: type: "boolean" default: true memoryEncryption: type: "boolean" default: true operatorDataAccess: type: "boolean" default: false