| << 目次を表示 >> ページ位置: プロジェクトの作成と管理 > ユーザーセキュリティ(アクセス権) > シングルサインオン (SSO) > AzureでOpenIDを使う場合の例 | 
このページでは、OpenID経由でAzureのユーザーを利用して、シングルサインオン(SSO)でモデルにログインするためのEnterprise Architectの設定の手順を説明します。ただし、手順や画像は、このページを作成時のものです。随時、表示内容やメニュー構成などが変更されていますので、最新の内容ではありません。
必要最小限に動作する設定について詳しく説明します。Azureには多数の追加オプションがあり、組織の要件に合わせてカスタマイズする必要があります。
このガイドでは、IDトークンのクレームを使用し、グループメンバーシップに基づいて新しいユーザーを自動作成します。
アプリケーションの登録を行う
以下の内容は、このヘルプを作成時点での英語での表示内容・操作になります。最新の画面・内容と異なる場合があります。
| # | 説明 | 
| 1 | Azureポータルにログインします。 | 
| 2 | サイドメニューで 'Azure Active Directory' を選択します。 
 | 
| 3 | 'App registrations'を選択し、 New registration ボタンを押します。 
 | 
| 4 | 内容を記入します。 | 
| 5 | アプリケーション名を登録します。この名前はエンドユーザーに表示されます。 | 
| 6 | 'Single tenant' のラジオボタンを選択します。 | 
| 7 | リダイレクト URIを指定します。 
 
 | 
アプリケーションの詳細: URL と Client ID
登録が完了したら、アプリケーションの詳細を参照します。 'Application (client) ID' をコピーします。この内容は後ほどEnterprise Architectから利用します。

以下の内容は、このヘルプを作成時点での英語での表示内容・操作になります。最新の画面・内容と異なる場合があります。
| # | 説明 | 
| 1 | Enterprise Architectを起動し、対象のプロジェクトを開きます。対象のプロジェクトには、事前にセキュリティ機能を有効にしておきます。 | 
| 2 | ユーザーやグループを管理する権限を持つユーザーでログインします。 | 
| 3 | プロジェクトリボンのセキュリティパネルにあるユーザーボタンを押します。 | 
| 4 | 全体の設定枠内の「OpenIDのユーザーと連動させる」にチェックを入れます。 | 
| 5 | OpenIDの設定ボタンを押します。 | 
| 6 | 先ほどコピーした 'Application (client) ID' を クライアントID欄に貼り付けます。 
 | 
| 7 | スコープ欄に 'profile' を追加し、ユーザーの姓名を渡すようにします。 | 
| 8 | スコープ欄に 'offline_access' も追加し、認証トークンとして自動的にリフレッシュトークンを利用するようにします。 | 
| 9 | この例では 'upn'を利用するので、ユーザーと一致するクレーム欄には 'upn'と入力します。 | 
| 10 | 必要に応じて、グループ一致するクレーム欄に'groups'と入力します。 | 
| 11 | 「IDトークンをクレームに利用」のチェックボックスにチェックを入れます。「ユーザ情報をクレームに利用」にはチェックを入れないでください。 (注意: ユーザー情報のエンドポイント経由ではなく、IDトークンから直接クレームを取得できます。これには多くの利点があり、より標準に準拠し(ユーザー情報のエンドポイントでのクレームはオプションであり、Azureではカスタマイズできません)、OpenIDプロバイダへのインターネット呼び出しの回数を減らすことができます。) | 
| 12 | Azure側で 'Endpoints' を選択します。アプリケーションが接続可能なURLが表示されます。 | 
| 13 | 'OpenID Connect metadata document' をコピーします。末尾の '.well-known/openid-configuration' は削除します。 | 
| 14 | Enterprise Architectで 手順13の文字列を、OpenID URL欄に入力します。 
 | 
APIパーミッションの追加
以下の内容は、このヘルプを作成時点での英語での表示内容・操作になります。最新の画面・内容と異なる場合があります。
| # | 説明 | 
| 1 | 'API permissions' をクリックします。 
 | 
| 2 | 'Add a permission'をクリックします。 
 | 
| 3 | 'Microsoft Graph'をクリックします。 
 | 
| 4 | 'Delegated permissions' をクリックします。 
 | 
| 5 | 'OpenId permissions'以下のすべての項目 'email', 'offline_access', 'openid', 'profile' にチェックを入れます。 
 | 
ローカルユーザーに一致するクレーム
OpenIDプロバイダから返されたクレームがEnterprise Architectのプロジェクト内のユーザーログイン情報と一致する場合、Enterprise Architectはそのユーザーとしてログインを実行します。エンドユーザが変更できず、Azure システムの管理者のみが変更できるような、安全なクレームを使用するように注意する必要があります。デフォルトでは、UPN は一般ユーザが変更できません。
Enterprise Architect でローカルユーザーのログインに一致させるために、どのクレームを使用するかについて検討する必要があります。マイクロソフトでは、名前の変更がメール・ユーザー名・UPNに影響する問題を避けるために、安定したGUID (「sub」または「oid」など) を使用することを推奨しています。しかし、UPNは人間が読めるユーザーログインを可能にするので、その方が望ましいかもしれません。
これ以上設定を行わなくても、'oid' や 'sub' (Microsoft が推奨する) といったクレームに対してマッチングを行うことができます。ユーザの UPN やメールアドレスに対するマッチングを有効にするには、 さらなる設定が必要です。
Enterprise Architect で「Windows/OpenIDユーザー定義と連動」の設定を有効にする場合、ユーザーには姓と名が必要であり、これらはトークンで Enterprise Architect に引き渡される必要があります。これらも手動で選択する必要があるオプションの項目です。
以下の内容は、このヘルプを作成時点での英語での表示内容・操作になります。最新の画面・内容と異なる場合があります。
| # | 説明 | 
| 1 | 'Token configuration' をクリックします。 | 
| 2 | 'Add optional claim' をクリックします。 
 | 
| 3 | 'ID' を選択します。 | 
| 4 | 'family_name, given_name' を選択します。 | 
| 5 | 必要に応じて、Enterprise Architectでのログイン情報に一致するかどうかの判定に利用するクレームを選択します。一般的な選択は、'upn', 'email', 'verified_primary_email' です。 この例では、 'upn' を選択します。 | 
| 6 | 'Add' をクリックします。 | 
Azureにユーザーを追加する
この例では、OpenIDの認証の説明のために1名のユーザーを追加します。Azureでのユーザーの追加や設定については他のドキュメントなどをご覧ください。以下の内容は、このヘルプを作成時点での英語での表示内容・操作になります。最新の画面・内容と異なる場合があります。
| # | 説明 | 
| 1 | 'Active Directory' セクションで 'Users' を選択します。 | 
| 2 | 'New user' をクリックします。 
 | 
| 3 | 新しいユーザーの情報を入力します。この例では、テスト用の1名のユーザーを登録します。 
 
 
 | 
Enterprise Architectでの設定を確認する
Enterprise Architect内で動作するかを確認します。以下の内容は、このヘルプを作成時点での英語での表示内容・操作になります。最新の画面・内容と異なる場合があります。
| # | 説明 | 
| 1 | Enterprise Architectで、OpenIDの設定ダイアログ内にある「テスト」ボタンを押します。 | 
| 2 | 表示されるウィンドウ中央の「OpenIDでログイン」ボタンを押します。 このボタンを押すと、Webブラウザが起動し、Microsoftアカウントへのログイン画面が表示されます。 | 
| 3 | 先ほど作成したユーザーでログインします。Microsoftアカウントの利用状況はWebブラウザ側で保持されている場合がありますので、必要に応じて過去のログイン履歴をログアウトし、作成したユーザーでログインしてください。 | 
| 4 | 新しいパスワードを設定するように求められる場合があります。このパスワードはログイン時に利用します。 | 
| 5 | プロファイルにAzure Appが参照することを許可するかどうかの確認メッセージが表示されます。 (なお、管理者はこの確認メッセージを表示せずに許可する設定が可能です。) 
 | 
| 6 | Webブラウザにはログインが成功したことを示すメッセージが表示されます。Webブラウザを閉じ、Enterprise Architectに戻ります。 | 
| 7 | Enterprise Architectはテストが成功したことを示すメッセージを表示します。 
 | 
| 8 | OKボタンを押しメッセージを閉じます。 | 
| 9 | OpenIDの設定ダイアログでOKボタンを押します。設定内容が保存されます。 | 
Enterprise Architectに一致するユーザーを追加する
Enterprise Architectのプロジェクトに、Azureのユーザーに一致するユーザーを追加します。
| # | 説明 | 
| 1 | プロジェクトリボンのセキュリティパネルにあるユーザーボタンを押します。 | 
| 2 | AzureのUser Principal Name (UPN) をコピーし、IDの欄に貼り付けます。 | 
| 3 | 姓および名を入力します。Azureの情報に一致する必要はありません。 | 
| 4 | 保存ボタンを押します。 | 
プロジェクトにログインできるかどうか確認する
| # | 説明 | 
| 1 | Enterprise Architectを終了し、再起動します。 | 
| 2 | 対象のプロジェクトを開きます。 | 
| 3 | OpenIDのログインウィンドウが表示されます。ウィンドウ中央の、OpenIDでログインボタンを押します。 
 
 もし、OpenIDのログインダイアログではなく、通常のEnterprise Architectのログイン画面が表示される場合には、Enterprise Architectの画面右上の、ログインユーザー名が表示されるボタンを押し、「OpenIDのログインウィンドウを非表示」のチェックを外してください。 
 | 
| 4 | WebブラウザでAzureにログインします。成功したらWebブラウザを閉じ、Enterprise Architectに戻ります。新しく作成したユーザーでログインできていることを確認します。 | 
| 5 | なお、Enterprise Architectの画面右上のボタンには、ログインしているユーザー名が表示されます。このボタンの表示でも、ログインできているかどうかを確認できます。 
 | 
| 6 | システム出力サブウィンドウには、ログインに関するログが表示されます。この例ではグループの内容には一致していないという警告が表示されます。 
 | 
このように、Enterprise Architectにユーザーを手動で追加する場合には、ここから先の説明の手順を進める必要はありません。
WindowsやOpenIDのユーザーを自動的に作成・変更したい場合には、さらに次の手順を進めます。
「Windows/OpenIDユーザー定義と連動」の設定について
この設定を有効にすると、Azureでグループを設定し、Enterprise Architectでそのグループをローカルグループにリンクできます。そして、ユーザーが初めてログインしようとしたときに、自動的にプロジェクトにユーザーを作成できます。新規および既存のユーザーは、ログインするたびにグループメンバーシップが更新され、Azureのリンクされたグループと一致するようになります。
IDトークンにグループクレームを追加する
UPNや名前のクレームを追加した方法と同様に、IDトークンにグループのクレームを追加します。
| # | 説明 | 
| 1 | 'Azure > Azure Active Directory > App registrations' を選択します。 | 
| 2 | Enterprise Architectのアプリケーションの項目をクリックします。 | 
| 3 | サイドバーから 'Token configuration' を選択します。 | 
| 4 | 'Add groups claim' をクリックします。 | 
| 5 | 'Security groups'を選択します。 | 
| 6 | IDのセクションを展開します。 | 
| 7 | 必要に応じて、Enterprise Architectのログイン名と照合するクレームの選択と同様に、Enterprise Architectのローカルグループとグループを照合するためのクレームについても考慮します。この例では、デフォルトで「グループID」を選択しています。これはGUID文字列であり、簡単にコピーして使いまわすことができ、グループ名が変わっても同じままです。しかし、Enterprise Architectで連携を確認する場合には、どのグループにマッチしているのかがわかりにくいため、sAMAccountNameの設定のいずれかがより適切である場合があります。この例では、デフォルトで選択されている「グループID」を利用することにします。 | 
| 8 | Add ボタンをクリックします。 
 | 
Azureのグループを追加する
'Azure Active Directory'内で次の作業を行います。以下の内容は、このヘルプを作成時点での英語での表示内容・操作になります。最新の画面・内容と異なる場合があります。
| # | 説明 | 
| 1 | サイドバーから 'Groups' を選択します。 
 | 
| 2 | 'New Group' をクリックします。 | 
| 3 | 'Group type' を 'Security' とします。 | 
| 4 | グループの名前を入力します。例えば、 'EA Users', 'EA Administrators', 'EA Read-only' 等を設定します。 | 
| 5 | 'No members selected' をクリックし、テストユーザーを追加します。 
 | 
| 6 | テストユーザーを選択し、'Select' をクリックします。 
 | 
| 7 | 'Create'をクリックし、グループを作成します。 | 
| 8 | グループの一覧を更新します。30秒くらいかかる場合があります。 | 
| 9 | 作成したグループの 'Object Id' をコピーします。次の作業で使います。 
 | 
| 10 | また、Application Details: URL, Client IDのセクションも確認します。 | 
Enterprise Architectのグループと結びつける
| # | 説明 | 
| 1 | Enterprise Architectを起動します。 | 
| 2 | プロジェクトを開きます。OpenIDでのログインはキャンセルし、プロジェクトの管理権限を持つユーザーでログインします。 | 
| 3 | プロジェクトリボンのセキュリティパネルにある「グループ」ボタンを押します。 | 
| 4 | 新しいグループを作成します。名前はAzureのグループと一致する必要はありません。 | 
| 5 | Azureグループの'Object ID'をOpenIDの欄に貼り付けます。 | 
| 6 | 保存ボタンを押し、グループを作成します。 
 | 
「Windows/OpenIDユーザー定義と連動」の設定を有効にします。
| # | 説明 | 
| 1 | グループタブを閉じます。 | 
| 2 | プロジェクトリボンのセキュリティパネルにあるユーザーボタンを押します。 | 
| 3 | 「Windows/OpenIDユーザー定義と連動」の設定にチェックを入れます。 
 | 
ここまでの設定が正しくできているかどうか、テストします。
| # | 説明 | 
| 1 | 「OpenIDの設定」ボタンを押します。 | 
| 2 | グループと一致するクレームの欄にグループ情報を入れていない場合、設定します。 | 
| 3 | 「テスト」ボタンを押します。 | 
| 4 | 「OpenIDでログイン」ボタンを押します。 | 
| 5 | Azureにログインします。 | 
結果がEnterprise Architectで表示されます。ユーザー名だけでなくグループ名も表示されることを確認してください。

最終確認
「Windows/OpenIDユーザー定義と連動」の設定が正しく動作するか、最終確認します。
| # | 説明 | 
| 1 | Enterprise Architectを終了し、再度起動します。 | 
| 2 | OpenID利用しプロジェクトにログインします。システム出力サブウィンドウに表示されるログに、グループに関する情報が表示されることを確認してください。 
 |