Microsoft Entra IDで「アプリの登録」を行う
OnTimeサーバーとMicrosoftテナントのExchangeとの接続はMicrosoft Graph APIを利用して行います。
常にOnTimeサーバーからMicrosoftテナントへの方向だけの接続となります。
そのための作業としてOnTimeサーバーが接続できるようにするため、MicrosoftテナントのEntra IDで必要なAPIだけを付与したテナントID、アプリケーションIDとクライアントシークレットの値を準備する必要があります。
このページではそれら3つの文字列を準備する作業を説明いたします。
アプリの登録作業
アプリの新規登録
作業はすべて接続先テナントのAzure Portalで行います。最後に管理者がアプリに同意を付与するため作業は管理者アカウントでログインします。
アプリの登録画面が開いたらすでに作成したアプリも表示されています。画面上部の「新規登録」で新規作成します。
- 名前
OnTimeのバックエンドで利用することが識別できる名前をお薦めします。
(フロントエンドでSSOを行う場合、エンタープライズアプリケーションページで同列で並ぶため) - アカウントの種類
「この組織ディレクトリのみに含まれるアカウント」を選択します。 - リダイレクトURI
「Web」を選択しURIの値は「https://localhost:8443/ontimegcms/code.html」を入力してください。空白にはできません。
全て入力すれば「登録」ボタンをクリックします。
後ほどの作業のOnTime管理センターのドメイン設定ページで利用します
後ほどの作業のOnTime管理センターのドメイン設定ページで利用します
「証明書とシークレット」タブ
このタブではベースとなるパスワードのような文字列を生成します。ここで取得する「値」とても重要で且つコンスタントに差し替えることを推奨されています。また「値」は作成直後の画面でしかコピーできません。コピーを忘れた場合は差し替え時と同様に改めて作成します。
画面中程の「新しいクライアントシークレット」をクリックします。
- 説明
定期的に作成し直すものなので、識別しやすい名前であれば十分です。有効期限は一覧に表示されるので説明に含める必要はありません。 - 有効期限
マイクロソフトの推奨は6ヶ月です。画面では24ヶ月に設定します。
入力できれば「追加」をクリックします。
コピーするのは「値」です。「クライアントシークレットID」は利用しません。
後ほどの作業のOnTime管理センターのドメイン設定ページで利用します
ここでコピーをしておかないと、二度と表示されなくなるので忘れないようにコピーしてください
もしコピーを忘れた場合は、差し替え時と同様に「クライアントシークレット」を改めて作成します。
「認証」タブ
このタブではトークンの選択だけを行います
チェックをつければ「保存」をクリックします。
「APIのアクセス許可」タブ
このタブではOnTimeサーバーに許可するAPIを定義していきます。複数のAPIを登録します。
画面中程の「アクセス許可の追加」をクリックします。
選択するAPIは以下の6つです。それぞれAPIの左のチェックボックスにチェックをつけます。
- Calendars.ReadWrite
- Directory.Read.All
- MailboxSettings.ReadWrite
- People.Read.All
- Place.Read.All
- User.Read.All
画面中程の検索窓でAPI文字列の一部を入力することで絞り込めます。
上記全てにチェックをつけたら「アクセス許可の追加」をクリックします。
画面上には追加した6つのAPIと最初から表示されていた1つのAPIの計7つが表示されています。続いて別の種類のAPIを追加するので再度「アクセス許可の追加」をクリックします
選択するAPIは以下の1つです。APIの左のチェックボックスにチェックをつけます。
- EWS.AccessAsUser.All
チェックをつけたら「アクセス許可の追加」をクリックします。
現時点で画面上には追加した7つのAPIと最初から表示されていた1つのAPIの計8つが表示されています。続いて別の種類のAPIを追加するので再々度「アクセス許可の追加」をクリックします。
検索窓で「office」と入力することでAPI一覧を絞り込めます。
選択するAPIは以下の1つです。APIの左のチェックボックスにチェックをつけます。
- full-access_as_app
チェックをつけたら「アクセス許可の追加」をクリックします。
作業前にデフォルトで存在した「User.Read」の行を選んで右の三点メニューから「アクセス許可の削除」をクリックして削除します。
一覧の最右列の状態が管理者の同意が付与されていないと表示されています。
「○○○(テナント名)に管理者の同意を与えます」をクリックして同意を付与します。
全てのAPIに管理者の同意が付与されたことを確認します。
Azure Portalでの作業は以上です。
続いてOnTime管理センターのドメイン設定ページでの作業
続いてドメイン設定ページで先ほどの3つの文字列情報を利用して設定を行います。以下の文字列をメモ帳などで保持していることを確認してください。
- アプリケーションID
- ディレクトリ(テナント)ID
- クライアントシークレットの「値」
ドメイン設定は以下のリンクの説明に沿って作業を進めてください。