やりたいこと
Redashを日常で使っているアカウントで認証したい。
条件や経緯
- いにしえのローカルユーザー管理のRedash v3を担当者退職のため引き継いだ
- IT部門がActive Directoryでユーザー管理をしているが、部門管理の他の野良システムと認証連携のためbindできるユーザーは発行してもらっていた
これらを連携させたいが、Redashの外部認証はGoogle OAuthとSAMLであり直接LDAP/Active Directoryとは連携できないのでSAML経由でとなる。
追記: LDAP/AD Authenticationありますね。こっちの方でも良かった。なんでauthenticationとしてまとめてないのだろうか?SaaS版とSelf Hosted/OSS版の違いですかね。
対応方法
- Keycloakを立ち上げActive DirectoryとUser FederationしSAMLに対応させる
- Redash, Keycloak共に2021/05現在最新の Redash v8, Keycloak v13にアップグレードして連携させる。
ここで触れないこと
- KeycloakをActive Directoryと連携させること
- Redash v3からv8までのアップグレード
これらは下記の記事などを参照した
設定
Redash側SAML設定
公式サイトドキュメントのHow to Configure self-hosted SAMLに書いてあるとおり
Keycloak側SAML設定
ずばりこれ。上記のドキュメントにはOktaやAuth0の例はあるがKeycloakの例がなくSAML自体わからず悩んだが、Issueを探したらKeycloak設定を画面キャプチャー載せている事例あり。これで解決できた。