搜索

4.5.3. 配置 Argo CD OIDC

download PDF

要配置 Argo CD OpenID Connect(OIDC),您必须生成客户端 secret,对其进行编码并将其添加到自定义资源中。

先决条件

  • 获取了客户端 secret。

流程

  1. 存储您生成的客户端 secret。

    1. 使用 base64 对客户端 secret 进行编码:

      $ echo -n '83083958-8ec6-47b0-a411-a8c55381fbd2' | base64
    2. 编辑 secret,将 base64 值添加到 oidc.keycloak.clientSecret 键中:

      $ oc edit secret argocd-secret -n <namespace>

      secret 的 YAML 示例

      apiVersion: v1
      kind: Secret
      metadata:
        name: argocd-secret
      data:
        oidc.keycloak.clientSecret: ODMwODM5NTgtOGVjNi00N2IwLWE0MTEtYThjNTUzODFmYmQy

  2. 编辑 argocd 自定义资源并添加 OIDC 配置来启用 Keycloak 验证:

    $ oc edit argocd -n <your_namespace>

    argocd 自定义资源示例

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      creationTimestamp: null
      name: argocd
      namespace: argocd
    spec:
      resourceExclusions: |
        - apiGroups:
          - tekton.dev
          clusters:
          - '*'
          kinds:
          - TaskRun
          - PipelineRun
      oidcConfig: |
        name: OpenShift Single Sign-On
        issuer: https://keycloak.example.com/auth/realms/myrealm 1
        clientID: argocd 2
        clientSecret: $oidc.keycloak.clientSecret 3
        requestedScopes: ["openid", "profile", "email", "groups"] 4
      server:
        route:
          enabled: true

    1
    issuer 必须使用正确的域名(在这个示例中为 myrealm)。
    2
    clientID 是您在 Keycloak 帐户中配置的客户端 ID。
    3
    clientSecret 指向您在 argocd-secret secret 中创建的正确密钥。
    4
    如果没有将其添加到 Default 范围,则 requestsScopes 包含组声明。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.