Skip to content

add compliance policy to gateway API#3671

Open
ramaraochavali wants to merge 1 commit intoistio:masterfrom
ramaraochavali:fix/gateway_compliance_policy
Open

add compliance policy to gateway API#3671
ramaraochavali wants to merge 1 commit intoistio:masterfrom
ramaraochavali:fix/gateway_compliance_policy

Conversation

@ramaraochavali
Copy link
Contributor

There is no easy way to ensure the compliance in some secure envs, that blocks CHACHA cipher for TLS 1.3. Envoy supports this compliance policy now and is a common requirement for gateways. For gateway API, we can support it as one of the options.

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
@ramaraochavali ramaraochavali requested a review from a team as a code owner March 18, 2026 10:54
@istio-testing istio-testing added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Mar 18, 2026
@ramaraochavali ramaraochavali added release-notes-none Indicates a PR that does not require release notes. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Mar 18, 2026
// Optional list of compliance policies. Compliance policies configure various aspects of the TLS
// based on the given policy. The policies are applied last during configuration and may override
// the other TLS parameters, or any previous policy.
repeated CompliancePolicy compliance_policies = 17;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is problematic on Gateway... I think the idea was this was a per-proxy setting or even global istiod setting. 1 pod can have multiple Gateways which would make this tricky. @keithmattix wdyt

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you referring to the new Envoy compliance policy added to CommonTLSContext or compliance policy that Istio added?

I was thinking of supporting Envoy one and it can be supported per gateway right - this is similar to Cipher suites for example?

Copy link
Member

@howardjohn howardjohn Mar 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah. Istio already has this concept though. I think the istio concept should translate to the envoy one probably?

I (now) agree this could work as you implemented, just not sure its the best or just expand our existing compliance policy

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Selfishly, my concern is that this compliance policy in envoy is boringSSL only and has dubious/non existent support for other crypto implementations. I do agree it could work as described though.

As to our existent compliance policy, the lines are kinda blurry now that envoy/boring supports this first class. Should we have separate control plane/data plane compliance policy fields?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the istio concept should translate to the envoy one probably?

That is a possibility. But AFAIK, the Istio compliance policy is not pod/proxy specific. If we set at Istiod it works for all components and all proxies. If we want to enable only at gateways it is not possible and also today's compliance policy does not allow 1.3. If we want to do pod/proxy specific, we have to introduce ISTIO_META and drive it through that. Should we do that or alternatively expose this API and if this is specified, for gateways it takes precedence that way it can be enabled for gateways only

Should we have separate control plane/data plane compliance policy fields?

One challenge with this is, this envoy policy applies to Envoy and if we broadly classify it as data plane, we can not apply to pilot-agent - which probably is fine because pilot-agent though part of dataplane mostly plays control plane component role?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-notes-none Indicates a PR that does not require release notes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants