4.11. Dex を使用した Argo CD の SSO の設定
Red Hat OpenShift GitOps Operator がインストールされると、Argo CD は admin パーミッションを持つユーザーを自動的に作成します。複数のユーザーを管理するために、クラスター管理者は Argo CD を使用して、シングルサインオン (SSO) を設定できます。
ArgoCD CR の spec.dex パラメーターは非推奨です。Red Hat OpenShift GitOps v1.9 の将来のリリースでは、ArgoCD CR の spec.dex パラメーターを使用した Dex の設定は削除される予定です。代わりに .spec.sso パラメーターの使用を検討してください。
4.11.1. Dex OpenShift OAuth コネクターの有効化
Dex は、プラットフォームが提供する OAuth サーバーを確認して、OpenShift 内で定義されたユーザーおよびグループを使用します。以下の例は、Dex のプロパティーと設定例を紹介しています。
apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
name: example-argocd
labels:
example: openshift-oauth
spec:
dex:
openShiftOAuth: true 1
groups:2
- default
rbac:3
defaultPolicy: 'role:readonly'
policy: |
g, cluster-admins, role:admin
scopes: '[groups]'4.11.1.1. 特定のロールへのユーザーのマッピング
Argo CD は、直接の ClusterRoleBinding ロールがある場合は、ユーザーを特定のロールにマップできません。OpenShift 経由で SSO の role:admin としてロールを手動で変更できます。
手順
cluster-adminsという名前のグループを作成します。$ oc adm groups new cluster-admins
ユーザーをグループに追加します。
$ oc adm groups add-users cluster-admins USER
cluster-adminClusterRoleをグループに適用します。$ oc adm policy add-cluster-role-to-group cluster-admin cluster-admins
4.11.2. Dex の無効化
Dex は、Operator によって作成されるすべての Argo CD インスタンスにデフォルトでインストールされます。.spec.dex パラメーターを設定して Dex を SSO 認証プロバイダーとして使用するように Red Hat OpenShift GitOps を設定できます。
Red Hat OpenShift GitOps v1.6.0 では、DISABLE_DEX は非推奨となり、Red Hat OpenShift GitOps v19.0 で削除される予定です。代わりに .spec.sso.dex パラメーターを使用することを検討してください。.spec.sso を使用した Dex の有効化または無効化を参照してください。
手順
Operator の YAML リソースで環境変数
DISABLE_DEXをtrueに設定します。... spec: config: env: - name: DISABLE_DEX value: "true" ...
4.11.3. .spec.sso を使用した Dex の有効化または無効化
.spec.sso パラメーターを設定することで、Dex を SSO 認証プロバイダーとして使用するように Red Hat OpenShift GitOps を設定できます。
手順
Dex を有効にするには、Operator の YAML リソースで
.spec.sso.provider: dexパラメーターを設定します。... spec: sso: provider: dex dex: openShiftOAuth: true ...-
dex を無効にするには、Argo CD カスタムリソースから
spec.sso要素を削除するか、別の SSO プロバイダーを指定します。