Red Hat Single Sign-on OperatorがGAに

Red Hatのソリューションアーキテクトの井上たかひろです。
Red Hat Single Sign-on OperatorがRed Hat Single Sign-On 7.5.1 からとうとうサポートになりました。
これにより、Red Hat SSOのインストール、特に運用が楽になります。(インストールは元から簡単でしたが。。)
この記事では、サポート記念にRed Hat Single Sign-on Operatorのkeycloakカスタムリソース作成までを紹介します。

Red Hat Single Sign-on Operatorでは、カスタムリソースで、レルム、クライアント(アプリケーション)、ユーザなどを作成できます。
注意点としては、レルム、クライアント(アプリケーション)、ユーザの作成・編集は、カスタムリソースと管理コンソールのどちらかに統一する必要があります。
具体的には、カスタムリソースで、レルムを作成して管理コンソールで編集すると、カスタムリソースに反映されません。
参照の方は、カスタムリソースで作成・編集した内容は、管理コンソール側で確認できます。
個人的には、REST APIで自動化するよりかは、カスタムリソースの方がシンプルで管理が容易と考えています。

なお、Red Hat Single Sign-on Operatorがサポートになった旨の記載は下記にあります。 access.redhat.com

Red Hat Single Sign-on Operatorを触ってみる

OpenShift 4.9で、Red Hat Single Sign-on Operatorを日本語表示設定で、管理コンソールのログインまで触っていきます。

まず、雑な名前のプロジェクトを作成しておきます。

oc new-project sso

OperatorHubでRed Hat Single Sign-on Operatorを探します。 f:id:tinoue0219:20220223222752j:plain

Red Hat Single Sign-on Operatorのバージョンが7.5.1になっています。(7.5.0以下のOperatorはサポート対象になりません) f:id:tinoue0219:20220223223143p:plain

Operatorのインストール画面で、更新チャネルにstableがあります。GAした感が出てます。
さきほど作成したプロジェクトのssoを選択して、インストールします。 f:id:tinoue0219:20220223223728p:plain

次に、Keycloakカスタムリソースを作成して、管理コンソールを触りにいきます。
以下のyamlをKeycloak.yamlにします。

apiVersion: keycloak.org/v1alpha1
kind: Keycloak
metadata:
  name: example-sso
  labels:
    app: sso
spec:
  instances: 1
  externalAccess:
    enabled: True

Keycloak.yamlを使ってkeycloakのカスタムリソースを作成します。

oc create -f Keycloak.yaml -n sso
keycloak.keycloak.org/example-sso created

管理者アカウントのSecretは、credential-<Keycloakカスタムリソースの名前>になります。
oc describeでも確認しておきます。

oc describe Keycloak
〜〜
Status:
  Credential Secret:  credential-example-sso
  External URL:       https://keycloak-sso.apps.xxx.com
  Internal URL:       https://keycloak.sso.svc:8443
  Message:            
  Phase:              reconciling
  Ready:              true
〜〜

Secretを見にいって、管理者アカウントのユーザ名とパスワードをメモしておきます。 f:id:tinoue0219:20220223230312p:plain

管理コンソールを見に行きます。 URLはルートから辿るか、KeycloakのカスタムリソースのExternal URLを直接ブラウザに入力してください。
https://keycloak-sso.apps.xxx.comにアクセスすると、https://keycloak-sso.apps.xxx.com/authにリダイレクトされます。
いつもの画面が表示されますので、Administration Consoleをクリックして、Secretで確認した管理者アカウントのユーザ名とパスワードを入力します。 f:id:tinoue0219:20220223231210p:plain

ログインするとこれまたいつもの画面が表示されます。 f:id:tinoue0219:20220223234712p:plain

今回は、管理コンソールのログインまでの記載ですが、プロダクトドキュメントには、他のカスタムリソースの作成方法、外部DB設定、カスタムエクステンション(SPI)のインストールなどの説明がありますので、ぜひ、ご参照ください。 access.redhat.com

最後に

今後、OpenShiftのマネージド・サービス上などで、Red Hat Single Sign-on Operatorで認証・認可基盤を構築するシステムが増えてくるのではないかなと思います。 その際には、Red Hat Single Sign-onのセッションを外だしできるRed Hat Data Gridもあわせて利用することで、可用性やメンテナンス性がさらに向上します。 Red Hat Data Gridの利用は、Red Hat Runtimesのサブスクリプションが必要となります。 Red Hat Single Sign-onについては、OpenShiftのサブスクリプションにエンタイトルメントされていますので、ワーカノードで気兼ねなく動かして頂ければ幸いです。
(注: サブスクリプションについては執筆時の情報となります)

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。