You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the solution you'd like
A patch that opens the possibility of configuring AMD SEV-SNP confidential computing instances was merged (see #1410).
This was implemented by extending confidentialCompute, a GCPMachineSpec attribute, to accept more values than just the prior Enabled/Disabled.
Another similar effort is #1426, which aims at TDX on c3 machines (Intel's equivalent technology).
When only Enabled/Disabled was allowed, only AMD SEV machines could be configured. This set compute.Instance's ConfidentialInstanceConfig.EnableConfidentialCompute to true and relied on google API's internal defaults to provision a SEV machine. Those defaults do not seem to be documented [0], though.
AMD SEV-SNP extends previous AMD SEV by covering some of the existing attack channels [1]. That is, AMD SEV-SNP is considered to be a safer alternative following AMD SEV.
However, confidential instance type relies on Google API defaults, which default to SEV (I guess that for backward compatibility reasons).
Wouldn't be a safer choice (from the user perspective) to default to AMD SEV-SNP when confidentialCompute: Enabled is configured for a machine (n2d) that supports both SEV-SNP and SEV?
However, this could have some backward compatibility implications from my point of view. At the moment (as prior to #1410), setting confidentialCompute: Enabled for a n2d machine results on a SEV confidential instance. If the default for n2d and Enabled was changed, the same configuration would result in, although safer on paper, a different SEV-SNP confidential instance.
In case it's needed, I could share a draft patch if that would explain the intentions better.
This sounds like a breaking change to me, I think we should probably stick with the behaviour as is.
If particular users would prefer, they could implement policies (like the upcoming mutatingadmissionpolicy, or existing validatingadmissionpolicy) to either mutate or prevent the value from being Enabled, and forcing users to pick the more secure value
validatingadmissionpolicy would simply force some users to for example, avoid confidentialCompute: Enabled. In kubernetes-for-dummies (me) terms,
mutatingadmissionpolicy would let users introduce tricks such as mutating Enabled into AmdEncryptedVirtualizationNestedPaging when possible. However, this will be available in kubernetes 1.32, so it wouldn't be possible as of now, right?
And finally, just to understand the whole picture a bit better: this would be left for users to configure, so cluster admins should configure these policies themself, right?. I mean, this is not a solution that could be built in a downstream kubernetes distro, but left for users to decide by themself whether or not to configure it.
/kind feature
Describe the solution you'd like
A patch that opens the possibility of configuring AMD SEV-SNP confidential computing instances was merged (see #1410).
This was implemented by extending
confidentialCompute
, aGCPMachineSpec
attribute, to accept more values than just the priorEnabled
/Disabled
.Another similar effort is #1426, which aims at TDX on c3 machines (Intel's equivalent technology).
When only
Enabled
/Disabled
was allowed, only AMD SEV machines could be configured. This setcompute.Instance
'sConfidentialInstanceConfig.EnableConfidentialCompute
totrue
and relied on google API's internal defaults to provision a SEV machine. Those defaults do not seem to be documented [0], though.AMD SEV-SNP extends previous AMD SEV by covering some of the existing attack channels [1]. That is, AMD SEV-SNP is considered to be a safer alternative following AMD SEV.
However, confidential instance type relies on Google API defaults, which default to SEV (I guess that for backward compatibility reasons).
Wouldn't be a safer choice (from the user perspective) to default to AMD SEV-SNP when
confidentialCompute: Enabled
is configured for a machine (n2d) that supports both SEV-SNP and SEV?However, this could have some backward compatibility implications from my point of view. At the moment (as prior to #1410), setting
confidentialCompute: Enabled
for an2d
machine results on a SEV confidential instance. If the default for n2d andEnabled
was changed, the same configuration would result in, although safer on paper, a different SEV-SNP confidential instance.In case it's needed, I could share a draft patch if that would explain the intentions better.
The text was updated successfully, but these errors were encountered: