Microsoft Office 365アダプター
IIJクラウドデータプラットフォームサービス(以下、CDP)では、Microsoft Office 365アダプターを使用することで、簡単にOffice365への連携が可能になります。
本記事では、Microsoft Office 365アダプターを使用する上での事前の準備からコネクションの接続設定方法をご紹介いたします。
目次
3.Microsoft Azureより、OAuthクライアントIDとクライアントシークレットを払い出す
5.OAuth Authorization URLが取得されるフローを作成する
6.OAuth Access TokenとOAuth Refresh Tokenが取得されるフローを作成する
7.OAuth Authorization URLが取得されるフローを実行する
9.OAuth Access TokenとOAuth Refresh Tokenが取得されるフローを実行する
1.事前準備をする
CDPにおきまして、Microsoft Office 365アダプターをご契約いただくようお願いいたします。
同アダプターをご契約いただきました後に、フローデザイナーで対象アダプターのコンポーネントをダウンロードしてください。
Office365の接続はOAuth認証で行います。
OAuth認証を行う際は、Microsoft Entra IDで登録されたユーザでアプリケーションを登録する必要があります。
2.接続方法の流れを確認する
運用する上でのコネクションが作成できるまでがゴールとなります。
大きく分けて2つの観点から設定の準備を進めます。
- Microsoft Entra IDでアプリを登録し、APIのアクセス許可を設定する。
- フローデザイナーを基に、コネクションとフローを作成する。
「2.フローデザイナーを基に、コネクションとフローを作成する」につきまして、フローデザイナー上でそれぞれ必要な作業は以下になります。
Access Token取得時コネクションを作成する
運用コネクションを作成するため、その際に必要なトークン2点(OAuth Access TokenとOAuth Refresh Token)を取得する手順です。
- Access Token取得時に使用するコネクションを作成。
- Authorization URLを取得するフローを作成。
- OAuth Access TokenとOAuth Refresh Tokenを取得するフローを作成。
運用コネクションを作成する
Access Token取得時のコネクションで作成した、OAuth Access TokenとOAuth Refresh Tokenを基に、設定した運用コネクションを作成します。
- 運用コネクションの作成
3.Microsoft Azureより、OAuthクライアントIDとクライアントシークレットを払い出す
Microsoft Office 365への接続はAzure Portal上のOAuth認証で行います。
Azure PortalのOAuth認証をする際は、Microsoft Entra IDでアプリケーションを登録する必要があります。
3-1.アプリケーションを作成する
Microsoft Azureにログインします。
ログイン後ホーム画面が開くため、Portalメニューより「Microsoft Entra ID」をクリックしてください。
概要画面が開きますので、「管理」の「アプリの登録」をクリックします。
アプリの登録画面が開きましたら、「新規作成」のアイコンをクリックします。
アプリケーションの登録画面が開きますので、それぞれの情報をご設定ください。
- アプリケーションのお名前を入力します。
アプリケーションの登録画面で、ユーザがアプリケーションへの許可を求められる際に表示されるお名前になります(後ほど変更は可能です)。 - サポートされているアカウントの種類では、「任意の組織ディレクトリ内のアカウント」をご選択ください。
- リダイレクトURIでは、「Web」を選択し、アドレスの値を「http://localhost:33333/」と入力してください。
以上の設定が完了しましたら、ページ下部の登録ボタンをクリックします。
登録したアプリケーションの画面が表示されます。
後のコネクション作成時に設定値として使用するため、ここで赤枠の「アプリケーション(クライアント)ID」と「ディレクトリ(テナント)ID」の値をそれぞれコピーして控えておいてください。
3-2.アプリケーションを設定する
アプリケーションの認証タイプを定義します。
本ページではクライアントシークレットを使用する方法をご紹介いたします。
「証明書とシークレット」をクリックします。
画面が遷移しましたら、「新しいクライアントシークレット」のアイコンを押下してください。
「クライアントシークレットの追加」の画面が表示されますので、それぞれの情報をご設定ください。
- 説明の項目はクライアントシークレットの説明を任意でご入力ください(例:Microsoft365 OAuth)。
- 有効期限は任意の期間を選択してください。
- 以上の設定が完了しましたら、ページ下部の追加ボタンをクリックします。
生成したクライアントシークレットが追加されますので、こちらで「値」の値をコピーして控えておいてください。
後のコネクション作成時に設定値として使用します。
3-3.APIのアクセス許可を設定する
「APIのアクセス許可」をクリックします。
「APIのアクセス許可」の画面が表示されましたら、「アクセス許可の追加」のアイコンを押下してください。
「APIアクセス許可の要求」が表示されますので、「Microsoft Graph」を選択してください。
「委任されたアクセス許可」を選択しますと、アプリが求めるアクセス許可を選択可能となります。
選択後、ページ下部の「アクセス許可の追加」ボタンをクリックします。
Microsoft Graphのアクセス許可の一覧が表示されます。
アクセス許可一覧
- Calendars.Read
- Calendars.Read.Shared
- Calendars.ReadBasic
- Calendars.ReadWrite
- Calendars.ReadWrite.shared
- Contacts.ReadWrite
- Directory.AccessAsUser.All
- Group.ReadWrite.All
- Mail.ReadWrite
- Mail.Send
- User.Read
※APIのアクセス許可は、お客様の運用環境に合わせてご設定ください。
「アクセス許可の追加」ボタンを押下後、選択したAPIが表示されましたら、これでMicrosoft Azure側の準備は完了となります。
4.Office365のコネクションを作成する
事前準備が完了しましたら、ご契約いただきましたアダプターのコネクションを作成します。
FSMC側でも作成は可能ですが、フローを流す際の処理はフローデザイナーで行いますので、フローデザイナー上で作成する手順をご紹介いたします。
4-1.コネクション作成アイコンをクリックする
コネクションペインのツールバーより、赤枠部分のコネクション作成アイコンをクリックしてください。
4-2.コネクションを作成する
「コネクションの作成」の画面が表示されましたら、情報を入力し「OK」でお進みください。
- 「接続種別」で「Office365」を選択。
- 「名前」で任意のコネクション名(例:Office365-Verifier)を入力する。
4-3.コネクションの内容を設定する
Microsoft Azureで、OAuthクライアントID、OAuthクライアントシークレットの二つが払い出されていることを前提とし、各設定内容を入力します。
それぞれのパラメータは以下のとおりに設定してください。
コネクション基本の表
プロパティ名 | 値 |
---|---|
イニシエートOAuth | OFF |
OAuthクライアントID | Microsoft Azure側で払い出したクライアントID |
OAuthクライアントシークレット | Microsoft Azure側で払い出したクライアントシークレット |
基本の設定
コネクション詳細の表
オプション名 | 値 |
---|---|
Azure Tenant | Microsoft Azure側で払い出したテナントID |
詳細の設定
設定完了後は保存してください。
※IDに関する箇所はマスキングしております。
5.OAuth Authorization URLが取得されるフローを作成する
Microsoft Azureで払い出されたIDを基にOAuth認証を行うため、こちらでMicrosoftのOAuth認証画面へアクセスできるようOAuth Authorization URLを取得するフローを作成します。
完成フローは下図になります。
完成フロー
完成済みのフローは下部よりダウンロードし取得できます。
zipファイルを展開いただきましたら、「O365OAuth.xfp」に含まれています「GetOAuthAuthorizationURL」フローが完成フローになります。
フローを新規作成する場合は、5-1.GetOAuthAuthorizationURLと、Office365SQLCallコンポーネントの各種設定をするからご覧ください。
ダウンロードリンク
サンプルフローダウンロードリンク | O365OAuth.zip |
---|
5-1.GetOAuthAuthorizationURLと、Office365SQLCallコンポーネントの各種設定をする
SQL文、SQLのパラーメーターの内容はそれぞれ以下になります。
Warp Version:2206, 2212, 2306, 2312, 2406
SQL文
{call GetOAuthAuthorizationURL(?CallbackURL?, ?State?, ?Scope?, ?Prompt?)}
SQLパラメーターのテーブル
パラメーター名 | 入出力 |
---|---|
CallbackURL | 入力 |
State | 入力 |
Scope | 入力 |
Prompt | 入力 |
ストリームのテーブル
フィールド名 | データ型 |
---|---|
URL | String |
5-2.プロジェクトを作成する
ツリーペインのツールバーより、プロジェクトの作成アイコンを押下してください。
「名前」の項目欄には任意のお名前(例:GetOAuthAuthorizationURL)をご入力ください。
5-3.Mapper1を作成する
CallbackURLの指定をするため、Mapperコンポーネントを配置します。
パレット上の「コントロール」タブより、「Mapper」コンポーネントをドラッグ&ドロップしてください。
5-4.Office365SQLCall1を作成する
パレット上の「マルチセレクト」タブより、「Office365SQLCall1」コンポーネントをドラッグ&ドロップしてください。
5-5.Mapper2を作成する
取得したURLを出力するため、Mapperコンポーネントを配置します。
パレット上の「コントロール」タブより、「Mapper」コンポーネントをドラッグ&ドロップしてください。
5-6.EndResponse1を作成する
パレット上の「コントロール」より、「EndResponse」コンポーネントをドラッグ&ドロップしてください。
5-7.Office365SQLCall1の詳細を設定する
配置したフロー上の「Office365SQLCall1」をクリックしてください。
これより、基本タブとSQLパラメータータブ、ストリームの設定を行います。
5-7-1.基本タブを設定する
- 「コネクション名」で、4.Office365のコネクションを作成するで作成したコネクションを選択してください。
- 「実行する処理」で、「ストアド実行(結果あり)」を選択してください。
- 「SQL文」で、5-1.GetOAuthAuthorizationURLと、Office365SQLCallコンポーネントの各種設定をするで提示したSQL文を参照し設定してください。
5-7-2.SQLパラメータータブを設定する
5-1.GetOAuthAuthorizationURLと、Office365SQLCallコンポーネントの各種設定をするで提示したSQLパラメーターのテーブルを参照し、それぞれ設定してください。
5-7-3.ストリームを設定する
ストリームペインより、5-1.GetOAuthAuthorizationURLと、Office365SQLCallコンポーネントの各種設定をするで提示したストリームの項目を参照し、設定してください。
5-8.Mapper1を設定する
配置したフロー上の「Mapper1」をダブルクリックしてください。
5-8-1.「Const」マッパー関数を作成する
パレット上の「文字列」タブより、「Const」マッパー関数をドラッグ&ドロップしてください。
5-8-2.「Const」マッパー関数を設定する
配置した「Const1」をダブルクリックすると、ダイアログボックスが開かれます。
「http://localhost:33333/」と入力し、「OK」を押下します。
5-8-3.設定した関数を紐づける
設定した「Const1」と「SQLパラメーター」欄の「CallbackURL」を紐づけし、保存してください。
5-9.Mapper2を設定する
配置したフロー上の「Mapper2」をダブルクリックしてください。
5-9-1.「Replace1」マッパー関数を作成する
Mapper2のレイヤーが開きましたら、パレット上の「文字列」タブより、「Replace」マッパー関数をドラッグ&ドロップしてください。
5-9-2.「Replace1」マッパー関数を設定する
配置した「Const1」をクリックすると、基本タブより設定ができます。
- お名前は任意です。
- 置換テーブルの指定方法は「直接入力」を選択します。
- 置換テーブルの内容は、5-1.GetOAuthAuthorizationURLと、Office365SQLCallコンポーネントの各種設定をするで提示したSQL文を指定してください。
5-9-3.設定した関数を紐づける
「フィールド」欄の「URL」と「Replace」コンポーネント、「Replace」コンポーネントと「フィールド」欄の「Object」をそれぞれ紐づけし、保存してください。
5-2~5-9まで完了しましたら、OAuth Authorization URLを取得するフローの完成になります。
6.OAuth Access TokenとOAuth Refresh Tokenが取得されるフローを作成する
運用のコネクションとして設定するOAuth Access TokenとOAuth Refresh Tokenを取得するため、こちらでフローを作成いたします。
完成フローは下図になります。
完成フロー
完成済みのフローは下部よりダウンロードし取得できます。
zipファイルを展開いただきましたら、「O365OAuth.xfp」に含まれています「GetOAuthAccessToken」フローが完成フローになります。
フローを新規作成する場合は、6-1.GetOAuthAccessTokenと、Office365SQLCallコンポーネントの各種設定をするからご覧ください。
ダウンロードリンク
サンプルフローダウンロードリンク | O365OAuth.zip |
---|
6-1.GetOAuthAccessTokenと、Office365SQLCallコンポーネントの各種設定をする
SQL文、各パラーメーターの内容はそれぞれ以下になります。
Warp Version:2206, 2212, 2306, 2312, 2406
SQL文
{call GetOAuthAccessToken(?AuthMode?, ?CallbackUrl?, ?Verifier?, ?State?, ?Scope?, ?Prompt?)}
SQLパラメーターのテーブル
パラメーター名 | 入出力 | データ型 |
---|---|---|
AuthMode | 入力 | VARCHAR |
CallbackUrl | 入力 | VARCHAR |
Varifier | 入力 | VARCHAR |
State | 入力 | VARCHAR |
Scope | 入力 | VARCHAR |
Prompt | 入力 | VARCHAR |
ストリームのテーブル
フィールド名 | データ型 |
---|---|
OAuthAccessToken | String |
ExpiresIn | String |
OAuthRefreshToken | String |
6-2.フローを作成する
ツリーペインのツールバーより、フローの作成アイコンを押下してください。
「名前」の項目欄には任意のお名前(例:GetOAuthAccessToken)をご入力ください。
6-3.Mapper1を作成する
CallbackURLとVerifierを指定するため、Mapperコンポーネントを配置します。
パレット上の「コントロール」タブより、「Mapper」コンポーネントをドラッグ&ドロップしてください。
6-4.Office365SQLCall1を作成する
パレット上の「マルチセレクト」タブより、「Office365SQLCall」コンポーネントをドラッグ&ドロップしてください。
6-5.EndResponse1を作成する
パレット上の「コントロール」タブより、「EndResponse」コンポーネントをドラッグ&ドロップしてください。
6-6.Office365SQLCall1を設定する
配置したフロー上の「Office365SQLCall1」をクリックしてください。
これより、基本タブとSQLパラメータータブ、ストリームの設定を行います。
6-6-1.基本タブを設定する
- 「コネクション名」で、5.Office365のコネクションを作成で作成した
コネクションを選択してください。 - 「実行する処理」で、「ストアド実行(結果あり)」を選択してください。
- 「SQL文」で、6-1.GetOAuthAccessTokenと、Office365SQLCallコンポーネントの各種設定をするで提示したSQL文を参照し設定してください。
6-6-2.SQLパラメータータブを設定する
6-1.GetOAuthAccessTokenと、Office365SQLCallコンポーネントの各種設定をするで提示したSQLパラメーターのテーブルを参照し、それぞれ設定してください。
6-6-3.ストリームを設定する
ストリームを定義します。
ストリームペイン上の「フィールド名」の下辺りで右クリックをし、「CSV形式で編集(L)」をクリックします。
ダイアログボックスが開かれますので、以下の内容をコピーし、図をご参考にペーストを行ってください。
ペーストが完了しましたら「OK」を押下します。
OAuthAccessToken,String ExpiresIn,String OAuthRefreshToken,String
6-7.Mapper1を設定する
配置したフロー上の「Mapper1」をダブルクリックしてください。
6-7-1.「Const1」マッパー関数を作成する
パレット上の「文字列」タブより、「Const」マッパー関数をドラッグ&ドロップしてください。
6-7-2.「Const2」マッパー関数を作成する
Const2は、後ほど取得するURLをペーストし設定するために使用します。
(取得したURLの詳細は7.OAuth Authorization URLが取得されるフローを実行するでご案内いたします)
パレット上の「文字列」タブより、「Const」マッパー関数をドラッグ&ドロップしてください。
6-7-3.「ExtractString1」マッパー関数を作成する
ExtractString1は、取得URLの「?code=」から始まる文字列より右側の文字列を取り出すために使用します。
パレット上の「文字列」タブより、「ExtractString」マッパー関数をドラッグ&ドロップしてください。
6-7-4.「ExtractString2」マッパー関数を作成する
ExtractString2は、取得URLの「&session」から始まる文字列より左側の文字列を取り出すために使用します。
パレット上の「文字列」タブより、「ExtractString」マッパー関数をドラッグ&ドロップしてください。
6-7-5.「Const1」マッパー関数を設定する
配置した「Const1」をダブルクリックすると、ダイアログボックスが開かれます。
「http://localhost:33333/」と入力し、「OK」を押下します。
6-7-6.「ExtractString1」マッパー関数を設定する
以下の内容を設定してください。
- 「検索文字列」に「?code=」を設定する。
- 「取り出す方向」で「一致文字列の右側」を選択する。
6-7-7.「ExtractString2」マッパー関数を設定する
以下の内容を設定してください。
- 「検索文字列」に「&session」を設定する。
- 「取り出す方向」で「一致文字列の左側」を選択する。
6-7-8.設定したコンポーネントを紐づける
最後に設定した各コンポーネントを以下のように紐づけてください。
- 「Const1」→「SQLパラメーター」欄の「CallbackUrl」と紐づけする。
- 「Const2」→「ExtractString1」→「ExtractString2」→「SQLパラメーター」欄の「Verifier」を紐づけする。
6-2~6-7まで完了しましたら、OAuth Access TokenとOAuth Refresh Tokenを取得するフローの完成になります。
7.OAuth Authorization URLが取得されるフローを実行する
5.OAuth Authorization URLが取得されるフローを作成するで作成したフローを実行し、OAuth Authorization URLを取得します。
7-1.GetOAuthAuthorizationURLを実行する
ツリーペイン上の「GetOAuthAuthorizationURL」フローをダブルクリックしてください。
選択したフローがワークスペースに表示されることを確認し、ツールバー上の実行アイコンをクリックしてください。
「フローの実行」のダイアログボックスが開かれます。
「フロー」が「GetOAuthAuthorizationURL」であること、実行結果タブが選択されていること、以上確認し「実行」をクリックしてください。
7-2.OAuth Authorization URLを取得する
実行結果に表示されましたURLをすべてコピーし、コピーいただけましたらダイアログボックスは「閉じる」をクリックしてください。
8.認証レスポンスを取得する
認証レスポンスを取得します。
8-1.認証リクエストを送信する
任意のブラウザを起動いただき、7-2.OAuth Authorization URLを取得するで取得したURLをアドレスバーにペーストし、Enterを押下してください。
8-2.認証リクエストを処理する
URL決定後、ログイン画面へと遷移します。
アカウントを選択、またはパスワードを入力しサインインを実行すると、OAuth認証が求められます。
8-3.認証リクエストを承認する
要求されているアクセス許可の内容を確認後、「承諾」ボタンをクリックしてください。
8-4.認証レスポンスを取得する
ブラウザが遷移し、「このサイトにアクセスできません」と表示されたページに移りますが、想定どおりの挙動です。
アドレスバーに表示されたURLをすべてコピーし、控えておいてください。
控えが完了しましたら、ブラウザは×で閉じていただいても大丈夫です。
9.OAuth Access TokenとOAuth Refresh Tokenが取得されるフローを実行する
6.OAuth Access TokenとOAuth Refresh Tokenが取得されるフローを作成するで、作成したフローを実行し、OAuth Access TokenとOAuth Refresh Tokenを取得します。
9-1.「Mapper1」を表示する
ブラウザより取得したURLを設定します。
ツリーペイン上の「GetOAuthAccessToken」フローをダブルクリックしてください。
ワークスペースに選択したフローが開かれます。「Mapper1」をダブルクリックしてください。
9-2.「Const2」を修正する
「Const2」をダブルクリックすると、ダイアログボックスが開かれます。
8-4.認証レスポンスを取得するでコピーしたURLをすべてペーストし、「OK」を押下してください。
※画像の内容は例として短く記載していますが、実際のデータは長いです。
9-3.GetOAuthAccessTokenを実行する
ツールバー上より、実行アイコンをクリックしてください。
「フローの実行」ダイアログボックスが表示されます。
「フロー」が「GetOAuthAccessToken」で、実行結果タブが選択されている事を確認し、「実行」をクリックしてください。
9-4.OAuth Access TokenとOAuth Refresh Tokenを取得する
フロー実行後、実行結果が表示されます。
出力されたURLをすべてコピーし控えておいてください。
控えが完了しましたら、ダイアログボックスは「閉じる」で閉じていただいて問題ございません。
10.運用コネクションを作成する
取得したAccess Tokenを基に運用コネクションを作成します。
10-1.コネクションを作成する
コネクションペインのツールバー上より、4.Office365のコネクションを作成するで作成した「Office365-Verifier」を右クリックし、「複製(C)」を選択します。
ダイアログボックスが表示されましたら、「接続名」を「Office365-Main」と入力し、「OK」を押下し保存してください。
10-2.コネクションを設定する
作成したコネクションの設定をしていきます。
それぞれのパラメータは表どおりに設定してください。
コネクション基本の表
プロパティ名 | 値 |
---|---|
イニシエートOAuth | GETANDREFRESH |
OAuthクライアントID | Microsoft Azure側で払い出したクライアントID |
OAuthクライアントシークレット | Microsoft Azure側で払い出したクライアントシークレット |
コネクション詳細の表
オプション名 | 値 |
---|---|
Azure Tenant | Microsoft Azure側で払い出したテナントID |
OAuthアクセストークン | 取得したOAuth Access Token |
OAuth Refresh Token | 取得したOAuth Refresh Token |
10-2-1.基本タブを設定する
- 「イニシエートOAuth」は「GETANDREFRESH」を選択します。
※「OAuthクライアントID」と「OAuthクライアントシークレット」は、4.Office365のコネクションを作成すると同様、Microsoft Azureで払い出した値となります。
10-2-2.詳細タブを設定する
- 「OAuthアクセストークン」の「値」に、9.OAuth Access TokenとOAuth Refresh Tokenが取得されるフローを実行するで取得した「OAuth Access Token」をペーストします。
- 「OAuth Refresh Token」の「値」に、9.OAuth Access TokenとOAuth Refresh Tokenが取得されるフローを実行するで取得した「OAuth Refresh Token」をペーストします。
※「Azure Tenant」は、4.Office365のコネクションを作成すると同様、Microsoft Azureで払い出した値となります。
OAuth Access TokenとOAuth Refresh Tokenについて
OAuth Access Tokenは、上の赤枠で囲んでいる「XXXXXX」の箇所を指しています。
OAuth Refresh Tokenは、下の赤枠で囲んでいる「YYYYYY」の箇所を指しています。
※下の図は、それぞれの値をダミーとして記しています。正式な値は文字数が多いため長いです。
上記設定完了しましたら、保存してください。
10-3.接続テストを実行する
作成したコネクションが接続できるかテストします。
コネクションペインのツールバー上にある「接続テスト」アイコンをクリックしてください。
テスト結果のダイアログボックスが表示されます。
「成功」と記されていましたら、作成した運用コネクションに問題ございません。
以上により、Microsoft Office 365アダプターを使用した接続が可能となります。
紹介はこれで以上です。
ぜひ活用ください。