This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.13. Keycloak を使用した Argo CD の SSO の設定
Red Hat OpenShift GitOps Operator がインストールされると、Argo CD は admin
パーミッションを持つユーザーを自動的に作成します。複数のユーザーを管理するために、クラスター管理者は Argo CD を使用して、シングルサインオン (SSO) を設定できます。
前提条件
- Red Hat SSO がクラスターにインストールされている。
- Red Hat OpenShift GitOps Operator がクラスターにインストールされます。
- Argo CD がクラスターにインストールされている。
5.13.1. Keycloak での新規クライアントの設定 リンクのコピーリンクがクリップボードにコピーされました!
Dex は、Operator によって作成されるすべての Argo CD インスタンスにデフォルトでインストールされます。ただし、Dex 設定を削除し、代わりに Keycloak を追加して OpenShift 認証情報を使用して Argo CD にログインすることができます。Keycloak は Argo CD と OpenShift 間のアイデンティティーブローカーとして機能します。
手順
Keycloak を設定するには、以下の手順に従います。
Argo CD カスタムリソース (CR) から
.spec.sso.dex
パラメーターを削除して Dex 設定を削除し、CR を保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Argo CD CR で
provider
パラメーターの値をkeycloak
に設定します。 次のいずれかの手順を実行して、Keycloak を設定します。
安全な接続のために、次の例に示すように
rootCA
パラメーターの値を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Keycloak の TLS 証明書を検証するために使用されるカスタム証明書。
Operator は
.spec.keycloak.rootCA
パラメーターの変更を調整し、argocd-cm
設定マップの PEM エンコードされたルート証明書でoidc.config
パラメーターを更新します。安全でない接続の場合、
rootCA
パラメーターの値を空のままにして、以下に示すようにoidc.tls.insecure.skip.verify
パラメーターを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Keycloak インスタンスのインストールおよび実行には、2 - 3 分かかります。
5.13.2. Keycloak へのログイン リンクのコピーリンクがクリップボードにコピーされました!
Keycloak コンソールにログインしてアイデンティティーまたはロールを管理し、さまざまなロールに割り当てられたパーミッションを定義します。
前提条件
- Dex のデフォルト設定は削除されている。
- Argo CD CR は Keycloak SSO プロバイダーを使用するように設定されている。
手順
ログイン用の Keycloak ルート URL を取得します。
oc -n argocd get route keycloak
$ 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 Copied! Toggle word wrap Toggle overflow 環境変数としてユーザー名とパスワードを保存する Keycloak Pod 名を取得します。
oc -n argocd get pods
$ oc -n argocd get pods NAME READY STATUS RESTARTS AGE keycloak-1-2sjcl 1/1 Running 0 45m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Keycloak ユーザー名を取得します。
oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_USERNAME
$ oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_USERNAME SSO_ADMIN_USERNAME=<username>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Keycloak パスワードを取得します。
oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_PASSWORD
$ oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_PASSWORD SSO_ADMIN_PASSWORD=<password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ログインページで、LOG IN VIA KEYCLOAK をクリックします。
注記Keycloak インスタンスの準備ができた後にのみ、LOGIN VIA KEYCLOAK オプションが表示されます。
Login with OpenShift をクリックします。
注記kubeadmin
を使用したログインはサポートされていません。- ログインするために OpenShift の認証情報を入力します。
オプション: デフォルトでは、Argo CD にログインしているすべてのユーザーが、読み取り専用アクセス権を持っています。
argocd-rbac-cm
設定マップを更新して、ユーザーレベルのアクセスを管理できます。policy.csv: <name>, <email>, role:admin
policy.csv: <name>, <email>, role:admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.13.3. Keycloak のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
Argo CD カスタムリソース (CR) ファイルから SSO
フィールドを削除して、Keycloak リソースおよびそれらの関連設定を削除することができます。SSO
フィールドを削除すると、ファイルの値は以下のようになります。
この方法を使用して作成した Keycloak アプリケーションは、現在永続的ではありません。Argo CD Keycloak レルムで作成された追加の設定は、サーバーの再起動時に削除されます。