OpenIDの設定

<< 目次を表示 >>

ページ位置:  プロジェクトの作成と管理 > ユーザーセキュリティ(アクセス権) > シングルサインオン (SSO) >

OpenIDの設定

OpenIDを利用してプロジェクトを利用するためには、'OpenID Connect'標準に対応するOpenIDサーバが必要です。

 

ここで設定した内容は、Enterprise Architectからの利用だけでなく、Proクラウドサーバ や WebEAでも利用されます。

 

 

利用手順:

リボン

  • プロジェクト > セキュリティ > ユーザー > OpenIDのユーザーと連動させる
  • プロジェクト > セキュリティ > ユーザー > OpenIDの設定ボタン

 

 

設定

項目

説明

OpenID URL

OpenIDサーバの位置を示すURLを入力します。末尾に "/.well-known/openid-configuration" がある場合、削除してください。(この内容は自動的に付加されます。)

 

また、プロトコル (http:// あるいは https://) および、標準とは異なる場合にはポート番号を含めてください。

ここで設定する内容に "/.well-known/openid-configuration" を追加した内容をWebブラウザで開き、適切な返信が表示されることを確認してください。

クライアントID

Enterprise ArchitectがOpenIDのサービスを利用するためにはクライアントIDの設定が必要です。その設定済みのクライアントIDを指定してください。

クライアントの秘密

OpenIDサーバによっては、クライアントの秘密 (Client Secret) が必要になる場合があります。その場合にはその内容を入力してください。ここで入力した内容は暗号化されて保存します。

スコープ

必要な情報を得るためには、OpenIDのスコープが必要になります。'openid'のスコープは必須です。その他の一般的なスコープとして'profile' や'email' があります。

ユーザと一致するクレーム

OpenIDの'user_info'を要求した場合に戻されるクレームのうち、どの情報を利用するのかを入力します。この内容は、プロジェクトに定義されたどのユーザーとしてログインさせるかを決めます。

'Claims' は、OpenIDサーバで認証が成功した場合に戻される情報です。多くのOpenIDサーバでは、この内容をカスタマイズ可能になっています。そのため、Enterprise Architectのプロジェクトのユーザー名と一致させるように変えられます。

注意:

ユーザーごとに一意であることが保証されるクレームは 'sub' のみです。これはクレームの 'subject' です。クレームフィールドの既定値に設定するとよいです。

既にユーザーが定義されているプロジェクトについては、OpenIDサーバから返される値が既存の情報に一致するようにしなければなりません。その場合には、'username'フィールドなどを利用し、一致する情報を設定します。また、'preferred_username', 'email' など他のフィールドを利用したり、独自に 'EA username' のようなフィールドを定義して対応する値を設定する方法も考えられます。

sub以外のクレームを利用するかどうかはOpenIDサーバの管理者の方針にも依存します。該当のクレームが一意で安全であり、また利用者が変更不可能でなければなりません。

グループと一致するクレーム

この設定は、「Windows/OpenIDユーザー定義と連動」が有効になっている場合に利用されます。この設定については、シングルサインオンのオプションページをご覧ください。

 

OpenIDの'user_info'を要求した場合に戻されるクレームのうち、どの情報を利用するのかを入力します。この内容は、プロジェクトに定義されたどのグループに所属するかを決めます。

 

'Claims' は、OpenIDサーバで認証が成功した場合に戻される情報です。多くのOpenIDサーバでは、この内容をカスタマイズ可能になっています。そのため、Enterprise Architectのプロジェクトのグループ名と一致させるように変えられます。

 

OpenIDの仕様では、ユーザーが所属するグループという定義はありません。OpenIDサーバによってはこうした仕組みを独自に持つものもありますが、Enterprise Architectで利用する場合には'user_info'としてグループの情報が得られるようになっている必要があります。グループ名は、単一のJSONフィールドか、複数のグループ名をJSON配列で返す必要があります。

IDトークンをクレームに利用

IDトークンをクレームに利用するように設定します。

ユーザ情報をクレームに利用

ユーザ情報をクレームに利用するように設定します。

 

 

接続のテスト

すべての設定が完了したら、テストボタンを押してください。OpenIDでログインボタンを持つウィンドウが開きます。このボタンを押すとWebブラウザが起動し、OpenIDサーバの認証ページを開きます。

 

必要な情報を入力し、Enterprise ArchitectでOpenIDサーバのアカウントを利用できるようにしてください。OpenIDサーバの設定等によっては、入力が不要の場合もあります。OpenIDサーバとの接続時に、Windowsからファイアウォールの設定を変更するための、Windows セキュリティの重要な警告ダイアログが表示される場合があります。このOpenIDでの認証の場合にはこの設定は不要ですので、キャンセルボタンを押してダイアログを閉じてください。

 

認証に成功したら、Webブラウザは自動的に閉じられ、Enterprise Architectに成功を示す情報が表示されます。

 

なお、Webブラウザがセッションや認証情報をキャッシュする場合があります。その場合には、認証の画面が表示されずにそのままログインされる場合があります。

 

 

有効な 'user_info' の戻り値の例

'KeyCloak' OpenID サーバを利用した場合の戻り値の例です。

 

ユーザー名に一致するクレーム: username

グループに一致するクレーム: groups

 

{

   "sub": "6da812c4-8f2c-400f-b602-13bab1d4605e",

   "address": {},

   "name": "Example Person",

   "groups": [

 

       "EA Special Users",

       "EA Administrators"

 

   ],

 

   "given_name": "Example",

   "family_name": "Person",

   "email": "eperson@example.com",

   "username": "eperson"

}