メール通知用のメールサーバとの認証にOAuth を利用する

by 色川穂高 | 2024年03月21日

メール通知用のメールサーバとの認証にOAuth を利用する

こんにちは。CData Software Japan の色川です。

業務を支えるデータ連携フローの実行状況をタイムリーに把握することは安定した運用に欠かせません。CData Arc で実行されたデータ連携フローの状況はアクティビティページ(ログページ)等で確認する事ができますが、Arc のアラート(通知機能)を活用すると運用の利便性がさらに高まります。Arc のアラート(通知機能)は、「エラーの発生」や「稼働ステータス」を主体的にメールで送信してくれる機能です。

送信元として利用するSTMP サーバの種類は特に選びませんが、Gmail などのメールサービスを利用されるケースも多いかと思います。Gmail を含め、昨今のモダンなメールサービスでは、その認証にOAuth(OAuth 2.0)の利用が推奨されていると思います。もちろん、CData Arc (を含め、CData の主要なサーバーアプリケーション)ではメールサーバとの認証にOAuth 2.0 を利用することが可能です。

この記事では、Gmail を例に「メール通知用のメールサーバとの認証にOAuth を利用する」方法をご紹介します。

CData Arc のアラート(通知機能)

CData Arc の「アラート」では、Arc からアラートやステータスレポートなどを通知するオプションを設定することができます。

アラート

アラートでメールでの通知を有効にした場合に、通知するメールの宛先や送信元として利用するアカウントを指定するのが「E メールの設定」です。ここで構成する送信元アカウントは、アラート以外に、カスタムアラートであるNotify コネクタSLA での通知機能でも利用されます。

E メールの設定

また、Arc にはフローの中で利用できるメール送信用のEmail Send コネクタや受信用のEmail Receive コネクタが備わっていますが、もちろん、これらのコネクタでも送信元メールサーバとの認証にOAuth を利用することが可能です。

Gmail の認証にOAuth を利用する

OAuth 2.0 を使用して Google API にアクセスする流れは、こちらのドキュメントを参考にしました。

CData Arc でメール通知用のGmail との認証にOAuth を利用する際は「Google(Google Cloud Console)側の設定」と「CData Arc 側の設定」が必要です。それぞれ設定してきます。

Google(Google Cloud Console)側の設定

Google Cloud Console で「Gmail API の有効化」「OAuth 同意画面の作成」「OAuth クライアントID の作成」の順に進めていきます。

Google Cloud Console

プロジェクトの作成

この記事の内容を構成するための新しいプロジェクトを作成します。(既に作成済みの任意のプロジェクトを利用する場合は、そちらを選択して利用してください)

プロジェクトの作成

プロジェクトの作成

Gmail API の有効化

「API とサービス - ライブラリ」から「Gmail API」を選択して「有効にする」を実行します。

Gmail API の有効化

Gmail API の有効化

Gmail API の有効化

Gmail API の有効化

OAuth 同意画面の作成

「API とサービス - OAuth 同意画面」から「OAuth 同意画面」を作成していきます。

OAuth 同意画面の作成

この記事では、Google アカウントを持つすべてのテストユーザーが使用できるように「外部」を選択して作成します。

OAuth 同意画面の作成

アプリ情報は、同意を求めるアプリの名前などを設定します。アプリ名や問合せ先として指定するメールアドレスなどは、それぞれ任意の値で適切に構成してください。

OAuth 同意画面の作成

この記事では、スコープ(アプリのユーザーに許可を求める権限)に「Gmail API(https://mail.google.com)」を指定しました。

OAuth 同意画面の作成

OAuth 同意画面の作成

テストユーザーに、送信元アカウントとして利用するGmail のメールアカウントを追加しました。

OAuth 同意画面の作成

概要を確認して問題がなければ次に進みます。

OAuth 同意画面の作成

この記事では、プロジェクトを「テスト」に構成した状態で検証しています。公開ステータスが「テスト中」の場合、事前にテストユーザーとして登録してあるアカウントのみがアプリにアクセスできる、などの各種制限があります。詳しくは、こちらなど、Google 社のドキュメントを参考にしてください。

OAuth クライアントID の作成

「API とサービス - 認証情報」から「OAuth クライアントID」を作成していきます。

OAuth クライアントID の作成

アプリケーションの種類に「ウェブアプリケーション」を選択し、名前にはGoogle Cloud Console で識別しやすい任意の名称を指定します。

OAuth クライアントID の作成

承認済みのリダイクレトURI を追加します。「承認済みのリダイクレトURI」には、Arc のアラートページ「E メールの設定」で表示される「コールバックURL」を指定します。

OAuth クライアントID の作成

作成します。生成された「クライアントID」と「クライアントシークレット」を、CData Arc 側の設定で指定しますので控えておいてください。

OAuth クライアントID の作成

OAuth クライアントID の作成

これで、Google(Google Cloud Console)側の設定は完了です。

CData Arc 側の設定

次に、CData Arc の「アラート」ページで「E メールの設定」を以下のように設定します。

CData Arc 側の設定

SMTP サーバー smtp.gmail.com
認証の仕組み OAuth 2.0
ユーザー Gmail のメールアドレス
認証URL https://accounts.google.com/o/oauth2/v2/auth
アクセストークンURL https://oauth2.googleapis.com/token
クライアントId 先ほど生成した「クライアントID」
クライアントシークレット 先ほど生成した「クライアントシークレット」
スコープ https://mail.google.com/
ポート 587
暗号化の種類 STARTTLS

「新しいアクセストークンを取得」します。

新しいアクセストークンを取得

新しいアクセストークンを取得

新しいアクセストークンを取得

「テストメールを送信」でメール送信が成功することを確認します。

テストメールを送信

テストメールを送信

これで「CData Arc でメール通知用のGmail との認証にOAuth を利用する」設定は完了です。

Google の OAuth 2.0 エンドポイントの情報などは、こちらのドキュメントを参考にしました。

Gmail の認証にOAuth を利用する(CData Sync の場合)

データパイプラインツールであるCData Sync は、CData の主要なサーバーアプリケーションの1つです。CData Sync にもメールベースの通知機能が備わっており、メールサーバとの認証にはOAuth 2.0 を利用することが可能です。

CData Sync の通知機能

CData Sync ではデータパイプラインフローを表す一連のタスクを「ジョブ」の単位で構成します。CData Sync の通知機能では、ジョブの実行完了をメールで知らせることができます。

CData Sync の通知機能

CData Sync でメール通知用のGmail との認証にOAuth を利用する際に必要な設定は、基本的にArc と同じです。以下では、異なる部分を中心にご紹介します。

Google(Google Cloud Console)側

「Gmail API の有効化」「OAuth 同意画面の作成」の設定内容は同じです(既に完了していれば、重複して実施する必要はありません)。CData Sync で利用するための「OAuth クライアントID の作成」が必要です。

OAuth クライアントID の作成

「OAuth クライアントID の作成」時に指定する「承認済みのリダイクレトURL」は「メールサーバー設定」で「認証」に「OAuth 2.0」を選択した時に表示される「コールバックURL」を指定します。

コールバックURL

生成された「クライアントID」と「クライアントシークレット」を、CData Sync 側の設定で指定しますので控えておいてください。

OAuth クライアントID の作成

これで、Google(Google Cloud Console)側の設定は完了です。

CData Sync 側の設定

CData Sync の「通知」ページで「メールサーバー設定」を以下のように設定します。

メールサーバー設定

SMTP サーバー smtp.gmail.com
ポート 587
SSL モード STARTTLS
認証 OAuth 2.0
ユーザー名 Gmail のメールアドレス
認証URL https://accounts.google.com/o/oauth2/v2/auth
アクセストークンURL https://oauth2.googleapis.com/token
クライアントId 先ほど生成した「クライアントID」
クライアントシークレット 先ほど生成した「クライアントシークレット」
スコープ https://mail.google.com/

「接続」で、新しいアクセストークンを取得したら、設定を「保存」します。

新しいアクセストークンを取得

新しいアクセストークンを取得

「テストメールを送信」でメール送信が成功することを確認します。

テストメールを送信

テストメールを送信

これで「CData Sync でメール通知用のGmail との認証にOAuth を利用する」設定は完了です。

その他

通知機能や、通知用のメールサーバにGmail を利用する場合に良くお問合せ頂くポイントを幾つかご紹介します。

Microsoft Teams やSlack へ通知したい

CData Arc やCData Sync から、Microsoft Teams やSlack などのチャットサービスに通知したい場合は、各チャットサービスのメール受信機能と組み合わせた活用がシンプルです。Microsoft TeamsSlack も宛先として利用できるメールアドレスをシンプルな手順で構成することができます。

Microsoft Teams やSlack へ通知したい場合は、こちらの記事も参考にしてください。

https://www.cdata.com/jp/blog/sync-notifications-teams-slack

Gmail でのOAuth 以外の認証(アプリパスワード)

Gmail では、その認証にOAuth(OAuth 2.0)の利用が推奨されていますが、この記事の時点では、OAuth 以外の認証として「アプリパスワード」も利用することができます。

高いセキュリティやアクセルコントロールの柔軟性などから、OAuth を利用した認証が推奨されますが、OAuth に対応していないメールクライアントやツールからGmail を利用したい場合には、アプリパスワードでの認証を選択することになります。

この記事でご紹介したように、CData Arc やCData Sync では、OAuth 認証を利用できますが、もし何らかの理由でアプリパスワードでの認証で利用する場合は、認証方式に「Basic 認証(Basic Auth)」を選択して構成してください。

まとめ

この記事では、Gmail を例に「メール通知用のメールサーバとの認証にOAuth を利用する」方法をご紹介しました。

CData Arc の通知機能は効率的で安定した運用に役立ちます。この記事でご紹介したように通知機能で利用するメールサーバとの認証にはOAuth を利用することが可能です。

CData Arc はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで270を超えるアプリケーションへの連携を実現できます。

皆さんのつなぎたいシナリオでぜひ CData Arc を試してみてください。
CData Arc - セキュアなデータ連携とマネージドファイル転送(MFT)

製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
CData Software Japan - Support Form


この記事では CData Arc™ 2023 - 23.4.8839.0 / CData Sync™ - 23.4.8827.0 を利用しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。