概要
OpenID Connect(OIDC)を用いて認証を行うため設定方法について説明します。
本記事では、OpenID ProviderとしてGoogleを利用する場合の手順を紹介します。
検証環境
OS : Windows Server 2022
Spotfire バージョン: 12.5.0
検証環境ではSpotfire 12.5.0を使用していますが、Spotfire 12.0 LTS以降には同じ手順で設定可能です。
事前準備
Spotfire ServerにおけるOIDCの導入には、事前に以下の作業が必要です。
- Public Address設定
-
https://spotfire.example.com/のように、HTTPSプロトコルのPublic Addressを設定
-
- SSL設定
- Spotfire ServerもしくはSpotfire ServerへトラフィックをルーティングするロードバランサにSSL証明書をアタッチし、SSLを終端
- 自己署名証明書を利用することも可
Google側の設定
OpenID Providerとして、Googleを利用する場合の手順について説明します。
OAuth2 クライアント ID(認証情報)を作成し、リダイレクトURIを設定します。
Spotfire側の設定
OpenID Connect
1. Configuration Toolを起動し、ConfigurationタブのOpenID Connectを開き、Enable OpenID ConnectをYesに設定します。
2. Add new providerから任意の名前を入力します。
3. 名前を入力後に以下のプロパティを入力します。
| 項目 | 内容 |
|---|---|
| Enabled | Yes |
| Provider name | 任意の名称(例: Google) |
| Discovery document URL | https://accounts.google.com/.well-known/openid-configuration |
| Client ID | クライアントID |
| Client secret | クライアントシークレット |
Post Authentication Filter
Configuration Toolを開き、Post Authentication FilterのDefault filter modeをBlock(デフォルト値)からAuto-createに変更しておくことで、Googleに存在するユーザーをSpotfire Server側に事前に作成しておかなくても、初回ログイン時にユーザーが自動で作成されます。
OpenID ConnectによるSSO可能なユーザーをシステム管理者側で限定する必要がある場合は、Blockのままにしておくことを推奨します。ただし、この場合には、GoogleのユーザーにマッチするユーザーをSpotfire Server側に事前に作成しておく必要があります。
Spotfire Serverの再起動
上記の設定を保存した後、設定を反映させるためSpotfireサービスを再起動します。
ユーザー作成
SSO認証に紐づいたユーザーアカウントを作成する方法は、以下の通りです。
- (Post Authentication Filterが「Auto-Create」の場合)SSO認証での自動ユーザーアカウント作成
- Spotfire Analystの「インポート」機能を利用した事前作成
1.(Post Authentication Filterが「Auto-Create」の場合)SSO認証での自動ユーザーアカウント作成
こちらの方法でユーザーアカウントを作成する場合は、以下の工程を実施してください。
- Spotfireユーザーにより、SSO認証でのSpotfire Serverへのログインを実施する
- 上記のログインにより、「Everyone Group」ログインしたユーザー用のアカウントが作成されていることを確認する
- 作成されたユーザーアカウントに適切なグループ、ライセンスを割り当てる
2.Spotfire Analystの「インポート」機能を利用した事前作成
ログインユーザーが事前に作成されたユーザーアカウントと一致しているかどうかは、「Username」および「Domain」を照合することで判定します。
上記をふまえつつ、ユーザーの事前作成を実施する場合は、公開記事「Spotfire Server ユーザー作成方法」の「3.Spotfire Analystの「インポート」機能を利用する方法」を参照しながらユーザー情報をインポートしてください。
ただし、以下の点に注意してください。
- Usernameには、Username claimで指定したクレームによって取得されるユーザー名に一致するようにしてください
- Domainには、Configuration toolにて設定したドメイン名(指定されているDomain claimから取得した情報、または固定の文字列など)に一致するようにしてください
- その他のユーザーアカウントに関するパラメタは、任意となります(ただし、メールアドレスの更新作業は煩雑のため、これらの情報もできる限り一致させることを推奨します)
- パスワードは空欄で構いません