Microsoft 365でOAuth 2.0を構成する
Microsoft 365 を構成して、メール通知に OAuth 2.0 を使用できます。 related_links: Microsoft 365を設定する際には、Microsoft Entra管理センターを使用してクライアントID、クライアントシークレット、およびリフレッシュトークンを設定する必要があります。ソフォスファイアウォールの\管理\ > \通知設定\で通知メールのOAuth 2.0を設定する際には、これらの資格情報が必要です。
主なステップは次のとおりです。
- アプリケーションとしてSophosファイアウォールを登録してください。
- 委任された権限を追加します。
- SMTP認証を有効にしてください。
- クライアントシークレットの作成。
- リフレッシュトークンを生成します。
警告
これは、ドキュメント作成時の情報に基づいています。Microsoft のマニュアルを参照し、最新情報を確認するようにしてください。Microsoft ID プラットフォームにアプリケーションを登録する。
アプリケーションとしてSophosファイアウォールを登録します
アプリケーションとしてSophos Firewallを登録するには、以下の手順を実行してください。
- 「Microsoft Entra admin center」にアクセスし、「Identity」 > 「Applications」 > 「App registrations」に移動して、「New registration」を選択してください。
- アプリケーションの名前を入力します。
- 「サポートされているアカウントの種類」の「このアプリケーションを使用したりこの API にアクセスしたりできるのはだれですか?」で、「この組織ディレクトリのみに含まれるアカウント (既定のディレクトリのみ - シングル テナント)」を選択します。
- 「リダイレクト URI (省略可能)」の「プラットフォームの選択」リストから「Web」を選択します。
-
URL フィールドに
https://outlook.office365.com/またはhttp://localhost/を入力してください。両方のURLが機能しています。リフレッシュトークンを生成する際は、このフィールドに入力したURL と同じものを使用してください。
-
「登録」をクリックします。
管理センターには、作成したアプリケーションの詳細が表示されます。
-
アプリケーション(クライアント)ID
ファイアウォールの電子メールアラートでOAuth 2.0を設定する場合、この値をクライアントIDに貼り付ける必要があります。
委任されたアクセス許可を追加する
デリゲートされた権限を追加するには、以下の手順を実行してください。
- ファイアウォール用に作成したアプリケーションに移動します。
- 「API のアクセス許可」に移動し、「アクセス許可を追加する」をクリックします。
- 「API アクセス許可のリクエスト」で、「Microsoft Graph」をクリックします。
- 「委任されたアクセス許可」を選択します。
- セレクト権限の下、SMTP.Sendおよびoffline_accessの権限を選択してください。
- 「アクセス許可の追加」をクリックします。
- 選択した権限に対して管理者の同意を与え、プロンプトが表示された際に\<選択2>はい\をクリックしてください。
SMTP認証を有効にする
電子メール通知を送信するユーザーのためにSMTP認証をオンにする必要があります。
ユーザーのSMTP認証をオンにするには、次の手順を実行してください:
- 「ユーザー」に移動し、「アクティブなユーザー」を選択します。
- 電子メール通知を送信するユーザーを選択してください。
- ポップアップウィンドウで、メールをクリックし、電子メールアプリに移動して、電子メールアプリの管理をクリックします。
- 認証済みSMTPをオンにしてください。
クライアントシークレットの作成
クライアントシークレットを作成するには、次の手順を実行します。
- ファイアウォール用に作成したアプリケーションに移動します。
- アプリケーションで、「証明書とシークレット > クライアント シークレット」に移動し、「新しいクライアント シークレット」をクリックします。
- 説明を入力し、シークレットの有効期限を指定して、追加 をクリックしてください。
-
シークレット名の横の「値」からシークレットをすぐにコピーします。
注
Azure ポータルのページが再読み込みされると、シークレットが非表示になるため、シークレットはすぐにコピーしてください。
ファイアウォールで電子メールアラートのためにOAuth 2.0を設定する際には、この秘密をクライアントシークレットに貼り付ける必要があります。
リフレッシュトークンを生成する
API トークンを生成するには、次の手順を実行します。
-
Webブラウザで、次のURLを入力してください:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id={client-id}&response_type=code&redirect_uri={redirect-uri}&response_mode=query&scope=https://outlook.office365.com/.default+offline_access&state=12345上記のURLにおいて、以下の変数を次のように置き換えてください。
- クライアントIDである
{client-id}を置き換えてください。 - ステップ5で入力したURLで
{redirect-uri}を置き換えてください。アプリケーションとしてSophosファイアウォールを登録します.
- クライアントIDである
-
Microsoft アカウントでサインインしてください。
認証コードを受け取ります。
次に例を示します。
https://outlook.office365.com/?code=AUTH_CODE_HERE&state=12345 -
PostmanなどのAPIクライアントを使用して、次のようにPOSTリクエストを送信します。
警告
APIクライアントを実行しているシステムがファイアウォールと同じタイムゾーンにあることを確認してください。ファイアウォールのタイムゾーンを変更する場合は、ファイアウォールを再起動する必要があります。
-
POST URL:
https://login.microsoftonline.com/common/oauth2/v2.0/token -
POSTボディ:
client_id=YOUR_CLIENT_ID &scope=https://outlook.office365.com/.default offline_access &code=AUTH_CODE_FROM_STEP_2 &redirect_uri=YOUR_REDIRECT_URI &grant_type=authorization_code &client_secret=YOUR_CLIENT_SECRET次の変数を以下のように置き換えます:
- クライアントIDである
YOUR_CLIENT_IDを置き換えてください。 - 受け取った認証コードで
AUTH_CODE_FROM_STEP_2を置き換えてください。 - ステップ5で入力したURLで
YOUR_REDIRECT_URIを置き換えてください アプリケーションとしてSophosファイアウォールを登録します。 - クライアントシークレットを作成したもので
YOUR_CLIENT_SECRETを置き換えてください。
アクセスおよびリフレッシュトークンを受け取ります。
アクセストークンは、短期間の一度限りのアクセスを提供します。アプリケーションでは、リフレッシュトークンが使用され、これはより長期間有効で、アプリケーションを通じて自動的に更新されます。
次に例を示します。
{ "token_type": "Bearer", "scope": "https://outlook.office365.com/SMTP.Send https://outlook.office365.com/.default", "expires_in": 5366, "ext_expires_in": 5366, "access_token": "xxxxxxx", "refresh_token": "xxxxxxx" }ファイアウォールの電子メールアラートでOAuth 2.0を設定する際には、このトークンを リフレッシュトークン に貼り付ける必要があります。
- クライアントIDである
-