服务帐户密钥的更改不会影响正在运行的服务实例

时间:2019-06-27 14:00:13

标签: jwt google-cloud-endpoints service-accounts

添加或删除未在REST服务的ESP代理中反映的服务帐户密钥

我正在尝试测试服务帐户密钥的动态更新。该服务帐户用于验证对REST服务的请求。 REST服务位于ESP实例之后。对于服务启动期间可用的密钥,身份验证可以按预期进行。但是,例如在服务启动后 添加的密钥不能用于身份验证。

添加或删除密钥时重新启动服务似乎不是一个好的解决方案。理想情况下,ESP代理会(可能在延迟后)识别出已添加(或删除)了新密钥。

2 个答案:

答案 0 :(得分:0)

我假设您遵循此instruction 来使用服务帐户在服务之间进行身份验证。如果是这样,您可能会遇到JWKS缓存问题。 ESP将JWKS缓存5分钟。您可以使用--jwks_cache_duration_in_s flag

来减少缓存持续时间

答案 1 :(得分:0)

是这种情况:ESP确实缓存了密钥,因此对有效密钥的更新需要一些时间。耐心一点,它确实起作用。 奇怪的是,当安装程序在GKE而不是kube中运行时,即使配置相同,对键的更改似乎也会传播得更快。但是,它可以正常工作。