下面是用于访问kubernetes集群的kubeconfig文件:
kind: ClientConfig
apiVersion: authentication.gke.io/v2alpha1
spec:
name: dev-corp
server: https://10.x.x.x:443
certificateAuthorityData: ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
authentication:
- name: oidc
oidc:
clientID: aaaaad3-9aa1-33c8-dd0-ddddd6b5bf5
clientSecret: ccccccccccccccccc-
issuerURI: https://login.microsoftonline.com/aaaa92-aab7-bbfa-cccf-ddaaaaaaaa/v2.0
kubectlRedirectURI: http://localhost:12345/callback
cloudConsoleRedirectURI: http://console.cloud.google.com/kubernetes/oidc
scopes: offline_access,profile
userClaim: upn
userPrefix: '-'
groupsClaim: groups
preferredAuthentication: oidc有不同的OAuth授予类型。
我的理解是,上面的OAuth授予类型是客户机凭据授予类型,它需要client_id、client_secret、令牌URL(issuerURI)、范围
kubectlRedirectURI,cloudConsoleRedirectURI,userClaim,userPrefix的意义是什么?oauth2.Config不存储userClaim & userPrefix,groupsClaim信息,如下所示.https://github.com/golang/oauth2/blob/master/oauth2.go#L41
如何将基于oidc的身份验证的kind:ClientConfig存储到缓存中?例如,api.Config可以存储在来自客户至上的API中,以编写api.Config,如图所示的这里。发布于 2022-08-17 02:57:35
KUBECTL_REDIRECT_URL:-- kubectl登录使用的重定向URL进行授权。这通常是http://localhost:PORT/callback格式的,其中PORT是开发人员工作站(例如http://localhost:10000/callback )上的任何1024之上的端口。您必须将该URL注册到OIDC提供程序中,作为客户端应用程序的授权重定向URL。
USER_PREFIX:在用户对的声明前加上前缀,以防止与现有名称的冲突。默认情况下,向给Kubernetes API服务器(除非用户声明是电子邮件)的附加一个颁发者前缀。得到的用户标识符是ISSUER_URI#USER。我们建议使用前缀,但可以通过设置USER_PREFIX to -禁用前缀。
userClaim:令牌中在客户端配置文件中spec.authentication.oidc.userClaim中配置的声明名下的user identifier。
cloudConsoleRedirectURI这个名字讲述了一个故事,云重定向OIDC的URL,例如google https://console.cloud.google.com/kubernetes/oidc
OIDC对OAuth2
来自OIDC的问题中的文件与Oauth比较,两者都以不同的方式处理,最好用Oauth文件再次更新这个问题。
您可以检查kubeconfig建造商
如何将类:ClientConfig与基于oidc的身份验证存储到缓存中?
您可以将文件写入文件,然后读取,也可以在云存储的某个地方读取。
https://stackoverflow.com/questions/73382225
复制相似问题