概要
Oktaを使用したOauth2ドメインの設定方法について説明します。
OAuth2ドメインを設定することで、TDV Serverに対するシングルサインオンが可能となります。
検証環境
製品 | バージョン |
---|---|
TDV Server |
8.7.0 |
TDV Studio |
Oktaの設定
アプリケーション作成
左のメニュー一覧からApplications > Applicationsをクリックします。
Craete App Integrationをクリックします。
OIDC - OpenID Connectを選択します。
下にApplication typeの選択欄が現れるので、Web Applicationを選択して、Nextをクリックします。
アプリケーションの名前を入力し、Refresh Tokenにチェックを入れます。
Sign-in redirect URIsには以下の3種類のURLを登録します。
-
http://<TDVのHostname>:9400/oauth2studiocallback
- Studioのログインで使用
-
http://<TDVのHostname>:9400/manager
- Managerのログインで使用
-
http://<TDVのHostname>:9400/webui
- WebUIのログインで使用
TDVのHostnameの確認・変更方法については以下の記事をご参照ください。
HTTPSでログインする場合は以下のURLも登録します。
- https://<TDVのHostname>:9402/oauth2studiocallback
- https://<TDVのHostname>:9402/manager
- https://<TDVのHostname>:9402/webui
localhostでManagerやWebUIにログインする場合は以下のURLも登録します。
- http://localhost:9400/manager
- http://localhost:9400/webui
本手順では、AssignmentsでAllow everyone in your organization to accessを選択し、Federation Broker Modeを有効にしてSaveをクリックします。
この値は運用方針に合わせて適切な値を選択してください。
グループ作成
Oktaのグループを作成します。
既存のグループを使用する場合は、この手順はスキップしてください。
左のメニューからDirectory > Groupsをクリックします。
Add groupをクリックします。
Nameにグループ名を入力します。
例として、グループ名をdeveloperとし、後の手順でこのグループに所属するユーザーにTDVの「開発者」の権限を付与します。
グループが作成されたことを確認し、グループ名をクリックします。
既にユーザーが存在する場合は、Assign peopleからユーザーをグループに追加します。
Federation Broker Modeが有効になっていない場合は、グループにアプリケーションを割り当てます。
本手順では、アプリケーション作成時にFederation Broker Modeを有効にしているためこの手順はスキップしています。
Applicationsタブに移動し、Assign applicationsをクリックします。
先ほど作成したアプリケーションを選択し、Doneをクリックします。
ユーザー作成
先ほど作成したグループにユーザーを作成します。
既にユーザーが存在する場合はこの手順はスキップしてください。
左のメニューからDirectory > Peopleをクリックします。
Add personをクリックします。
必要な情報を入力してSaveをクリックします。
この時、Groupsで先ほど作成したグループを指定します。
ユーザーが作成されたことを確認し、ユーザー名をクリックします。
Set Password & Activateをクリックします。
Set Password & Activateをクリックします。
パスワードをコピーしてCloseをクリックします。
このパスワードは初回ログイン時に使用します。
APIアクセスクレーム作成
OktanのグループからAPIアクセスクレームを作成し、TDVのクレームと紐づけることで、TDVのアクセス権限が付与された状態でTDVにログインすることができます。
Oktaの左のメニューからSecurity > API をクリックします。
APIのNameをクリックします。
本手順では、defaultのAPIを使用していますが、新しくAPIを作成しても問題ありません。
Claimsタブに移動し、Add Claimをクリックします。
以下のように設定し、Createをクリックします(デフォルトから変更した値のみ記載しています)。
- Name:任意の名前を入力
- Value type:Groupsを選択
- Filter:ドロップダウンリストからEqualsを選択し、右の空欄にはグループ名を入力
APIアクセスクレームが作成されたことを確認します。クレーム名は後のTDVの設定で使用します。
TDVの設定
ドメイン作成
Managerにログインし。セキュリティ > ドメイン管理をクリックします。
ドメインの追加をクリックします。
TypeをOAuth2とし、Nameに任意の名前を入力します。
Allow OAuth login via TDV toolsにチェックを入れます。
各種パラメータをTDVに入力します。
Issuer Value
以下の値を入力します。
https://<sub-domain>.okta.com
Validation
Autoを選択します。
Claim Info
どの値でも問題ありません。
下の空欄も入力する必要はありません。
Auth URL
APIのNameをクリックします。
Metadata URIをクリックします。
JSON形式のデータが表示されます。
authorization_endpointの値をTDVドメインのAuth URLに入力します。
Token URL
token_endpointの値をTDVドメインのToken URLに入力します。
Client ID
Oktaの左のメニューからApplications > Applicationsをクリックし、先ほど作成したアプリケーションをクリックします。
Client IDの値をTDVドメインのClient IDに入力します。
Client Secret
先ほどのClient IDと同じページにあるCLIENT SECRETSのSecretの値をTDVドメインのClient Secretに入力します。
パラメータが入力できたことを確認し、OKをクリックします。
クレーム作成
Oktaからログインするユーザーが所属するグループに、権限を付与するための設定を行います。
この操作を行わない場合、Studioでのログイン時に「アクセスツール」権限を含むすべての権限が付与されていないためログインに失敗します。
セキュリティ > クレーム管理をクリックします。
クレームの追加をクリックします。
クレームの情報を入力し、OKをクリックします。
- ドメイン名:Oauth2ドメインの名前を入力
- クレーム名:Oktaで作成したAPIアクセスクレームの名前を入力
- クレーム権:任意の権限を選択します。今回は「開発者」の権限を付与します。
ログイン方法
Studio
TDV Studioを起動し、Oauth2ドメインを選択します。
接続をクリックします。
Oktaへのログインが求められるのでユーザー名を入力します。
パスワードを入力して、確認をクリックします。
Oktaユーザーが初回ログインの場合、パスワードの変更が求められるので、パスワードを変更します。
ログインが成功することを確認します。
Manager
Managerのログイン画面にアクセスし、DomainにOauth2ドメインの名前を入力し、Sign inをクリックします。
この時、ユーザー名とパスワードを入力する必要はありません。
Oktaへのログインが求められるのでユーザーとパスワードを入力してログインします。
TD
ログインが成功することを確認します。
WebUI
WebUIにアクセスすると、Oauth2ドメインがリストされているので、任意のドメインを選択します。
Oktaへのログインが求められるのでユーザーとパスワードを入力してログインします。
ログインが成功することを確認します。