Microsoft 365 SMTP OAuth 設定
Microsoft 365 での基本認証の廃止
Microsoft の継続的なセキュリティ強化の一環として、Exchange Online (Microsoft 365 の一部) の基本認証は 2026 年 3 月までに完全に廃止され、無効になります。(Microsoft の公式発表を参照してください)。
Tenable Identity Exposure への影響
Tenable Identity Exposure には、メールレポートとアラートを送信する機能があります。現在、基本認証を使用して Microsoft 365 for SMTP に接続している場合、基本認証が無効になった後は、Tenable Identity Exposure からメールレポートやアラートを受信しなくなります。
中断を防ぐために、Tenable Identity Exposure は Microsoft 365 の最新かつ安全な認証プロトコルである OAuth をサポートしています。メール通知を継続して利用できるようにするため、Tenable Identity Exposure でこの変更の備えをしておくことを強くお勧めします。
以下の手順を実行して、Microsoft 365 で SMTP OAuth 認証を設定し、Tenable Identity Exposure で安全なメール送信機能を有効にできます。
前提条件
-
Microsoft 365 管理者アクセス
-
管理者権限を持つ PowerShell
-
アクティブな Microsoft 365 テナント
-
PowerShell モジュール ExchangeOnlineManagement がインストールされてる (手順 6 を参照)
-
PowerShell モジュール ExchangePowerShell がインストールされている (手順 6 を参照)
OAuth 設定
-
Entra ID でアプリ登録を作成する
-
Azure Portal にサインインします。
-
[Microsoft Entra ID] > [アプリの登録] の順に移動します。
-
[+ 新規登録] をクリックします。
-
アプリケーションの名前を入力します。
-
サポートされるアカウントの種類として、[この組織ディレクトリのみに含まれるアカウント] を選択します。
-
[登録] をクリックします。
-
[テナント ID] をコピーして、参照用に保管します。
-
[ローカルディレクトリでのマネージド アプリケーション] の下のリンクをクリックし、この新しい [アプリの登録] に対応する [エンタープライズ アプリケーション] にアクセスします。
-
次の手順で使用するために、アプリケーション ID (AppID) とオブジェクト ID (ObjectID) をコピーします。
-
-
クライアントシークレットを作成する
-
[アプリの登録] で、左側のメニューの [証明書とシークレット] に移動します。
-
[クライアント シークレット] の [+ 新しいクライアント シークレット] をクリックします。
-
シークレットの説明を入力します。
-
自社のセキュリティポリシーに基づいて有効期限を選択します。
重要: Tenable Identity Exposure で新しいクライアントシークレットを作成し設定することにより、クライアントシークレットの有効期限が切れる前にローテーションされるようにしてください。認証情報の更新が間に合わない場合、キーの有効期限が切れると、Tenable Identity Exposure でのメール送信が失敗します。
-
[Add] (追加) をクリックします。
重要: 生成されたシークレット値は再度表示されないため、コピーして安全に保管してください。これは次のステップで必要になります。後で取得することはできません。
-
-
ユーザーメールボックスを準備する
-
Microsoft 365 管理センターにアクセスします。
-
[ユーザー] > [アクティブなユーザー] に移動します。
-
既存のユーザーを選択するか、SMTP 送信用に使用する新しい共有メールボックスを作成します。
-
メールボックスに適切な Office 365 ライセンスが割り当てられていることを確認します。
-
-
メールボックスの認証済み SMTP を有効にする
-
Microsoft 365 管理センターにアクセスします。
-
[ユーザー] > [アクティブなユーザー] に移動します。
-
設定しているユーザーメールボックスを選択します。
-
[メール] > [Manage email Apps] (メールアプリの管理) をクリックします。
-
すべてのオプションのチェックを外し、[Authenticated SMTP] (認証済み SMTP) だけにチェックを入れます。
-
[Save] (保存) をクリックします。
-
-
必要な PowerShell モジュールをインストールする
-
PowerShell を開き、次のコマンドを実行します。
コピーInstall-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Install-Module -Name ExchangePowershell
Import-Module -Name ExchangePowershell
# Connect to Exchange Online (replace <Tenant ID> with your actual Tenant ID)
Connect-ExchangeOnline -Organization <Tenant ID>
-
-
Exchange でサービスプリンシパルを登録する
-
PowerShell セッション (Exchange Online に接続されたまま) で、最初に取得した値を使って調整してから、次を実行します。
コピー# Register the service principal
New-ServicePrincipal -AppId "<AppID>" -ObjectId "<ObjectID>"
-
-
メールボックスのアクセス許可を追加する
-
同じ PowerShell セッションで、アプリケーションのサービスプリンシパルに、目的のメールボックスへのアクセス許可を付与します。
コピーAdd-MailboxPermission -Identity "<[email protected]>" -User "<APPID>" -AccessRights FullAccess注意: <[email protected]> を、使用するメールボックスの実際のメールアドレスに置き換え、<APPID> をサービスプリンシパルのアプリケーション ID に置き換えてください。
-
-
OAuth 設定情報を集める
Tenable Identity Exposure が OAuth SMTP 認証を使用できるようにするため、あらかじめ収集した以下の情報を入力します。
-
テナント ID: Microsoft 365 テナント ID
-
クライアント ID: アプリの登録のアプリケーション (クライアント) ID
-
クライアントシークレット値: 先ほど作成して保管したシークレット値
-
送信者メール: 設定したメールボックスのメールアドレス
-

















