<< 目次を表示 >> ページ位置: プロジェクトの作成と管理 > ユーザーセキュリティ(アクセス権) > シングルサインオン (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利用しプロジェクトにログインします。出力サブウィンドウに表示されるログに、グループに関する情報が表示されることを確認してください。 |