将 Kubernetes 设置为使用 OpenID Connect 时,--oidc-client-id 参数的用途是什么?
What is the purpose of the --oidc-client-id parameter when setting Kubernetes up to use OpenID Connect?
Kubernetes documentation related to OpenID Connect 提到,作为设置的一部分,您需要向 API 服务器提供一些参数:
--oidc-client-id: A client id that all tokens must be issued for.
关于这将如何映射到 something returned by the OpenID Connect-conformant Google identity provider。
没有其他解释
不知道这个参数值有什么用。它会匹配解码后的 JWT 令牌中的某些内容吗?
看起来 Google 身份提供者返回的 id_token
可能在解码后在其 aud
字段中包含某些内容(aud
显然是 "audience").这是 --oidc-client-id
应该匹配的吗?我离题了吗?
这可以从 id tokens 上的 kubernetes 文档中得到解释。
如您所见,身份提供者是一个独立的系统。例如,这可以是 MS Azure AD 或 Google,如您所示。
当您注册身份提供者时,您会在 return 中获得重要的东西。 client id
就是这样一个重要的参数。如果您了解 openid 连接流程,则需要在遵循该流程时提供此 client id
。如果流程完成,您将 return 一个 id token
。 id token
必须有一个声明,aud
是为令牌发行的受众。
当您验证 id token
时,您 必须 验证您在受众群体列表中。可以从 spec.
中找到更多内容
引用规范,
The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience
现在,kubernetes 使用不记名令牌。这里使用的标记是id tokens
。要验证令牌,它应该特别了解受众。这使 API 服务器能够验证令牌是为发出调用的特定客户端颁发的。从而授权调用成功。
Kubernetes documentation related to OpenID Connect 提到,作为设置的一部分,您需要向 API 服务器提供一些参数:
--oidc-client-id: A client id that all tokens must be issued for.
关于这将如何映射到 something returned by the OpenID Connect-conformant Google identity provider。
没有其他解释不知道这个参数值有什么用。它会匹配解码后的 JWT 令牌中的某些内容吗?
看起来 Google 身份提供者返回的 id_token
可能在解码后在其 aud
字段中包含某些内容(aud
显然是 "audience").这是 --oidc-client-id
应该匹配的吗?我离题了吗?
这可以从 id tokens 上的 kubernetes 文档中得到解释。
如您所见,身份提供者是一个独立的系统。例如,这可以是 MS Azure AD 或 Google,如您所示。
当您注册身份提供者时,您会在 return 中获得重要的东西。 client id
就是这样一个重要的参数。如果您了解 openid 连接流程,则需要在遵循该流程时提供此 client id
。如果流程完成,您将 return 一个 id token
。 id token
必须有一个声明,aud
是为令牌发行的受众。
当您验证 id token
时,您 必须 验证您在受众群体列表中。可以从 spec.
引用规范,
The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer identified by the iss (issuer) Claim as an audience
现在,kubernetes 使用不记名令牌。这里使用的标记是id tokens
。要验证令牌,它应该特别了解受众。这使 API 服务器能够验证令牌是为发出调用的特定客户端颁发的。从而授权调用成功。