intra-mart Accel Platform セットアップガイド 第46版 2024-04-01

11.4. SMTP認証で OAuth2.0 アクセストークン を使用する

11.4.1. 概要

SMTPサーバの設定を行うことで、メール通知などが使用できます。
2022 Spring(Eustoma) 以降のバージョンではSMTP認証に、OAuth2.0認可におけるアクセストークンを使用できます。
また、 2022 Spring(Eustoma) 以降のバージョンでは、SMTPサーバ情報をシステム管理画面から設定できます。
ここではOAuth2.0 アクセストークンを使用したSMTP認証の手順について説明します。

11.4.2. アクセストークンの発効

アクセストークンをSMTP認証で利用するためには、システム用OAuthプロバイダ設定でプロバイダ情報を登録し、システム用外部連携アプリケーションで連携の許可を行って、アクセストークンを発効する必要があります。

11.4.2.1. サービスの設定

11.4.2.1.1. メールサーバに Exchange Online を利用する場合の設定

OAuth認証に必要な関連サービスの準備を行います。
本項の内容は Microsoft Azure 管理者 向けの作業です。
11.4.2.1.1.1. アプリケーションを登録する
Microsoft Azure の管理ポータルから OAuth認証 に必要な情報をアプリケーションとして登録します。
  1. 以下のURLから Microsoft Azure の管理ポータルに Microsoft Azure 管理者ユーザ でサインインします。

  2. サイドメニューから「Microsoft Entra ID」をクリックします。

  3. 現在のテナントが「 OAuth認証を利用する組織のテナント」ではない場合は「テナントの切り替え」を行います。

  4. 「概要」のサイドメニュー「管理」の「アプリの登録」をクリックします。

  5. 「新規登録」をクリックします。

  6. 以下を入力または選択して「登録」をクリックします。

    • 名前に任意の名称を入力
    • サポートされているアカウントの種類に「任意の組織ディレクトリ内のアカウント(任意の Microsoft Entra ID テナント - マルチテナント )」を選択
    • リダイレクト URI に「Web」を選択し、 intra-mart Accel Platform の ベースURL + /system/oauth/redirectを入力
    ../../../_images/register_system_01.png
  7. 以上でアプリケーションの登録は完了です。

    以下の内容は intra-mart Accel Platform システム管理者 がプロバイダ情報を設定する際に利用します。
    エンドポイントはアプリケーション概要の「エンドポイント」より値を取得してください。
    • アプリケーションID (クライアントIDとして利用します)
    • OAuth 2.0 承認エンドポイント (v2) (認可エンドポイントとして利用します)
    • OAuth 2.0 トークン エンドポイント (v2)(トークンエンドポイントとして利用します )
    ../../../_images/register_system_02.png
11.4.2.1.1.2. アプリケーションを設定する
Microsoft Azure の管理ポータルから登録したアプリケーションの構成を変更します。
  1. 先程登録したアプリの「管理」の「APIのアクセス許可」をクリックします。

  2. 「アクセス許可の追加」をクリックします。

    ../../../_images/permissions_01.png
  3. 「 Microsoft Graph 」をクリックします。

    ../../../_images/permissions_02.png
  4. 「アプリケーションに必要なアクセス許可の種類」の「委任されたアクセス許可」をクリックします。

    ../../../_images/permissions_03.png
  5. 「SMTP.Send」、「offline_access」を選択し、「アクセス許可の追加」をクリックします。

    ../../../_images/permissions_04_1.png
    ../../../_images/permissions_04_2.png

    コラム

    「APIアクセス」の「アクセスの有効化」にて「委任されたアクセス許可」におけるメール操作の許可設定についての詳細は Microsoft社 の以下のドキュメントを参照してください。

  6. 「管理」の「証明書とシークレット」をクリックします。

  7. 「クライアント シークレット」の「新しいクライアント シークレット」をクリックします。

    ../../../_images/secret_01.png
  8. intra-mart Accel Platform からアクセスする際に必要なキーを生成します。

    以下を入力または選択して「追加」をクリックします。

    • 説明に任意のキーの説明を入力
    • 有効期間に任意のキーの有効期限を選択
    ../../../_images/secret_02.png

    以下の内容は intra-mart Accel Platform システム管理者 がプロバイダ情報を設定する際に利用します。

    • クライアントシークレット値(クライアントシークレットとして利用します)

    注意

    キーは設定の保存後に一度のみ表示されます。移動前にキーの表示内容を退避させてください。

    ../../../_images/secret_03.png

    コラム

    有効期限が切れた場合は、上記の手順でキーを再発行する必要があります。
  9. 以上でアプリケーションの設定は完了です。

11.4.2.1.1.3. 送信アクセスの許可を行う

SMTPサーバの認証ユーザで、別のユーザ名義を送信者にするための設定を行います。

  1. 以下のURLから Microsoft 365 管理センターMicrosoft 365 管理者ユーザ でサインインします。

  2. サイドメニュー「ユーザ」 - 「アクティブなユーザ」をクリックします。

    ../../../_images/user_02.png
  3. 送信者として指定したいユーザの表示名をクリックします。

    ../../../_images/user_03.png
  4. メールタブの「メールボックス所有者として送信するアクセス許可」をクリックします。

    ../../../_images/user_04.png
  5. アクセス許可を追加をクリックします。

    ../../../_images/user_05.png
  6. SMTP サーバの認証ユーザをアクセス許可されるユーザとして選択し、「追加」をクリックします。

    ../../../_images/user_06.png

    コラム

    送信アクセスの許可を行う」でアクセス許可されるユーザ、「連携許可を行う」でサインインするユーザ、「SMTPサーバ設定を行う」で設定するユーザは、すべて同一ユーザを設定してください。
  7. 送信者として指定したいユーザすべてに対して行えば完了です。

11.4.2.2. プロバイダ情報を設定する

  1. 「システム管理者画面」 にログインし、「システム管理」→「システム用OAuthプロバイダ設定」に遷移します。

    ../../../_images/system_provider_menu.png
  2. 「新規作成」をクリックして 登録画面 に遷移します。

    ../../../_images/system_provider_01.png
  3. 作成したアプリケーション情報を設定して、「登録」をクリックします。
    ../../../_images/system_provider_02.png
    システムプロバイダID 任意のIDを設定します。
    システムプロバイダ種別 standard を設定します。
    名前 任意の名前を設定します。
    認可エンドポイント Microsoft Azure で作成したアプリケーションのOAuth 2.0 承認エンドポイント (v2)を設定します。
    トークンエンドポイント Microsoft Azure で作成したアプリケーションのOAuth 2.0 トークン エンドポイント (v2)を設定します。
    クライアントID Microsoft Azure で作成したアプリケーションのアプリケーションIDを設定します。
    クライアントシークレット Microsoft Azure で作成したアプリケーションの認証情報のクライアントシークレット値を設定します。
    アクセス範囲
    SMTP AUTHスコープと offline_access を半角スペース区切りで設定します。
    詳しくは アクセス許可のスコープの文字列 を参照してください。
  4. 以上でプロバイダ情報の設定が完了です。

    ../../../_images/system_provider_03.png

    コラム

    OAuth2.0の仕様や用語については、以下を参照してください。リンク先は 2015年12月1日 時点で情報を確認しています。

    「The OAuth 2.0 Authorization Framework」

11.4.2.3. 連携許可を行う

SMTP認証でアクセストークンを利用するには、アクセストークンを発行する必要があります。
「システム用外部連携アプリケーション」より、連携の許可を行うことで、アクセストークンが発行されます。
  1. 「システム管理」→「システム用外部連携アプリケーション」に遷移します。

    ../../../_images/permission_menu.png
  2. プロバイダ情報を設定する」で作成したプロバイダ情報の「許可する」をクリックします。

    ../../../_images/permission_01.png
  3. アプリケーションの認証画面に遷移します。「送信アクセスの許可を行う」でアクセス許可されたユーザでサインイン、および許可を行ってください。

    ../../../_images/permission_02.png
  4. 以下の画面が表示されれば連携が完了です。

    ../../../_images/permission_03.png

    コラム

    アクセストークンの期限切れなどで再発行を行う場合は、「解除する」で一度連携を解除すると、「許可する」がクリックできます。

11.4.2.4. SMTPサーバ設定を行う

  1. 「システム管理」→「SMTPサーバ設定」に遷移します。

    ../../../_images/smtp_menu.png
  2. SMTPサーバを設定する対象のテナントIDの「設定」をクリックします

    対象のテナントIDがない場合は、IDが default のSMTPサーバ設定が適用されています。 「新規作成」をクリックして対象のテナントIDで新規作成するか、 default の「設定」をクリックして編集画面に遷移してください。

    ../../../_images/smtp_01.png
  3. 「SMTP Authentication設定」 の設定を以下の通りに変更します。

    • 「SMTP認証」で「利用する」を選択
    • 「認証方式」で「アクセストークン」を選択
    • 「ユーザ」に「連携許可を行う」でサインインしたユーザを入力
    • 「システムOAuthプロバイダ」に「連携許可を行う」で許可したプロバイダを選択
    ../../../_images/smtp_02.png

    コラム

    新規作成の場合は、連携先のSMTPサーバ情報を設定する必要があります。
  4. 「接続テスト」をクリックし、以下の画面が表示されればSMTPサーバとの接続が成功です。

    ../../../_images/smtp_03.png
  5. 「更新」または「登録」をクリックし、設定を保存して完了です。

    ../../../_images/smtp_04.png