概要
OpenID Connect(OIDC)を用いて認証を行うため設定方法について説明します。
本記事では、OpenID ProviderとしてOktaを利用する場合の手順を紹介します。
検証環境
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を終端
- 自己署名証明書を利用することも可
Okta側の設定
OpenID Providerとして、Oktaを利用する場合の手順について説明します。
Sign-In method: OIDC
、Application type: Web
Application
でApplicationを作成します。
アプリケーションに関する情報を入力します。
- アプリ統合名: 任意の名前
- 付与タイプ: 認証コードに加えてリフレッシュトークンもチェック
- Sign in redirect URIs: SpotfireのOpenID Connect Redirect URIを指定
- Sign Out redirect URIs: 右の×から消去
Assignments Controlled accessはAllow everyone …
を選択します。
Enable immediate access with Federation Broker ModeはチェックをつけたままにしてSaveをク
リックします.
作成されたアプリケーションのClient IDとClient Secretを確認します.
Spotfire側で必要となるDiscovery document URLを確認します。
Discovery document URLは以下のとおりです。
<発行者URL>/.well-known/openid-configuration
発行者URLはAPIの認証サーバータブから確認することできます.
Spotfire側の設定
OpenID Connect
1. Configuration Toolを起動し、ConfigurationタブのOpenID Connectを開き、Enable OpenID ConnectをYes
に設定します。
2. Add new providerから任意の名前を入力します。
3. 名前を入力後に以下のプロパティを入力します。
項目 | 内容 |
---|---|
Enabled | Yes |
Provider name | 任意の名称(例: Okta) |
Discovery document URL | 「発行者URL」+ /.well-known/openid-configuration |
Client ID | クライアントID |
Client secret | クライアントシークレット |
発行者URL、クライアントIDとクライアントシークレットはOktaのコンソールにて確認することができます。
補足)Username claim、Domainについて
Advancedの部分を開くと、Oktaから取得されたIDトークン内のクレームをSpotfireにおいてどのように扱うかをより詳細に設定することができます。
本記事では、Username claimにpreferred_usernameを使用することを推奨します。preferred_usernameクレームは、通常、<ユーザー名>@<ドメイン名>
の形式となっているため、ユーザー情報がSpotfire Serverに連携された後の管理がしやすくなります。
また、それに加え、Spotfire Serverに連携されるEntra IDユーザーのドメイン名に関しても、Option 3: parse the username claimを指定することで、preferred_usernameの値から@<ドメイン名>
の<ドメイン名>
をパースしてドメイン名として連携されるようになります。
Configuration Toolにおける設定例とSpotfire Serverに連携されたOktaのユーザー情報の例を以下のスクリーンショットに示します。
Post Authentication Filter
Configuration Toolを開き、Post Authentication FilterのDefault filter modeをBlock(デフォルト値)からAuto-createに変更しておくことで、Oktaに存在するユーザーをSpotfire Server側に事前に作成しておかなくても、初回ログイン時にユーザーが自動で作成されます。
OpenID ConnectによるSSO可能なユーザーをシステム管理者側で限定する必要がある場合は、Blockのままにしておくことを推奨します。ただし、この場合には、OktaのユーザーにマッチするユーザーをSpotfire Server側に事前に作成しておく必要があります。
Spotfire Serverの再起動
上記の設定を保存した後、設定を反映させるためSpotfireサービスを再起動します。