5.10. Keycloak を使用した Argo CD の SSO の設定


Red Hat OpenShift GitOps Operator がインストールされると、Argo CD は admin パーミッションを持つユーザーを自動的に作成します。複数のユーザーを管理するために、クラスター管理者は Argo CD を使用して、シングルサインオン (SSO) を設定できます。

前提条件

  • Red Hat SSO がクラスターにインストールされている。
  • Argo CD がクラスターにインストールされている。

5.10.1. Keycloak での新規クライアントの設定

Dex は、Operator によって作成されるすべての Argo CD インスタンスにデフォルトでインストールされます。ただし、Dex 設定を削除し、代わりに Keycloak を追加して OpenShift 認証情報を使用して Argo CD にログインすることができます。Keycloak は Argo CD と OpenShift 間のアイデンティティーブローカーとして機能します。

手順

Keycloak を設定するには、以下の手順に従います。

  1. Argo CD カスタムリソース (CR) から次のセクションを削除して Dex 設定を削除し、CR を保存します。

    dex:
        openShiftOAuth: true
        resources:
          limits:
            cpu:
            memory:
          requests:
            cpu:
            memory:
    Copy to Clipboard Toggle word wrap
  2. Argo CD CR を編集して Keycloak を設定し、provider パラメーターの値を keycloak として更新します。以下に例を示します。

    apiVersion: argoproj.io/v1alpha1
    kind: ArgoCD
    metadata:
      name: example-argocd
      labels:
        example: basic
    spec:
      sso:
        provider: keycloak
      server:
        route:
         enabled: true
    Copy to Clipboard Toggle word wrap
注記

Keycloak インスタンスのインストールおよび実行には、2 - 3 分かかります。

5.10.2. Keycloak へのログイン

Keycloak コンソールにログインしてアイデンティティーまたはロールを管理し、さまざまなロールに割り当てられたパーミッションを定義します。

前提条件

  • Dex のデフォルト設定は削除されている。
  • Argo CD CR は Keycloak SSO プロバイダーを使用するように設定されている。

手順

  1. ログイン用の Keycloak ルート URL を取得します。

    $ oc -n argocd get route keycloak
    
    NAME        HOST/PORT                                                        PATH   SERVICES   PORT    TERMINATION   WILDCARD
    keycloak    keycloak-default.apps.ci-ln-******.origin-ci-int-aws.dev.**.com         keycloak   <all>    reencrypt     None
    Copy to Clipboard Toggle word wrap
  2. 環境変数としてユーザー名とパスワードを保存する Keycloak Pod 名を取得します。

    $ oc -n argocd get pods
    
    NAME                      READY   STATUS           RESTARTS   AGE
    keycloak-1-2sjcl           1/1    Running            0        45m
    Copy to Clipboard Toggle word wrap
    1. Keycloak ユーザー名を取得します。

      $ oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_USERNAME
      
      SSO_ADMIN_USERNAME=Cqid54Ih
      Copy to Clipboard Toggle word wrap
    2. Keycloak パスワードを取得します。

      $ oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_PASSWORD
      
      SSO_ADMIN_PASSWORD=GVXxHifH
      Copy to Clipboard Toggle word wrap
  3. ログインページで、LOG IN VIA KEYCLOAK をクリックします。

    注記

    Keycloak インスタンスの準備ができた後にのみ、LOGIN VIA KEYCLOAK オプションが表示されます。

  4. Login with OpenShift をクリックします。

    注記

    kubeadmin を使用したログインはサポートされていません。

  5. ログインするために OpenShift の認証情報を入力します。
  6. オプション: デフォルトでは、Argo CD にログインしているすべてのユーザーが、読み取り専用アクセス権を持っています。argocd-rbac-cm 設定マップを更新して、ユーザーレベルのアクセスを管理できます。

    policy.csv:
    <name>, <email>, role:admin
    Copy to Clipboard Toggle word wrap

5.10.3. Keycloak のアンインストール

Argo CD カスタムリソース (CR) ファイルから SSO フィールドを削除して、Keycloak リソースおよびそれらの関連設定を削除することができます。SSO フィールドを削除すると、ファイルの値は以下のようになります。

  apiVersion: argoproj.io/v1alpha1
  kind: ArgoCD
  metadata:
    name: example-argocd
    labels:
      example: basic
  spec:
    server:
      route:
       enabled: true
Copy to Clipboard Toggle word wrap
注記

この方法を使用して作成した Keycloak アプリケーションは、現在永続的ではありません。Argo CD Keycloak レルムで作成された追加の設定は、サーバーの再起動時に削除されます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat