Exchange Online で基本認証を無効にするDisable Basic authentication in Exchange Online

Exchange Online の基本認証は、クライアントアクセス要求に対してユーザー名とパスワードを使用します。Basic authentication in Exchange Online uses a username and a password for client access requests. 基本認証をブロックすることで、ブルートフォースまたはパスワードのスプレー攻撃から Exchange Online 組織を保護することができます。Blocking Basic authentication can help protect your Exchange Online organization from brute force or password spray attacks. Exchange Online でユーザーの基本認証を無効にした場合、電子メールクライアントとアプリは先進認証をサポートしている必要があります。When you disable Basic authentication for users in Exchange Online, their email clients and apps must support modern authentication. これらのクライアントは次のとおりです。Those clients are:

組織にレガシ電子メールクライアントが存在しない場合は、Exchange Online の認証ポリシーを使用して基本認証要求を無効にすることができます。これにより、すべてのクライアントアクセス要求で先進認証を使用することが強制されます。If your organization has no legacy email clients, you can use authentication policies in Exchange Online to disable Basic authentication requests, which forces all client access requests to use modern authentication. モダン認証の詳細については、「officeクライアントで office 365 モダン認証を使用する」を参照してください。For more information about modern authentication, see Using Office 365 modern authentication with Office clients.

このトピックでは、Exchange Online で基本認証を使用およびブロックする方法と、認証ポリシーの対応する手順について説明します。This topic explains how Basic authentication is used and blocked in Exchange Online, and the corresponding procedures for authentication policies.

Exchange Online での基本認証のしくみHow Basic authentication works in Exchange Online

電子メールクライアントは Exchange Online にユーザー名とパスワードを送信し、Exchange Online は資格情報プロバイダー (IdP) に資格情報を転送または_プロキシ_するので、基本認証は_プロキシ認証_とも呼ばれます。電子メールクライアントまたはアプリに代わって。Basic authentication is also known as proxy authentication because the email client transmits the username and password to Exchange Online, and Exchange Online forwards or proxies the credentials to an authoritative identity provider (IdP) on behalf of the email client or app. IdP は、組織の認証モデルによって異なります。The IdP depends your organization's authentication model:

  • Cloud authentication: IdP は Azure Active Directory です。Cloud authentication: The IdP is Azure Active Directory.

  • フェデレーション認証: IdP は、Active Directory フェデレーションサービス (AD FS) などの社内ソリューションです。Federated authentication: The IdP is an on-premises solution like Active Directory Federation Services (AD FS).

これらの認証モデルについては、以下のセクションで説明します。These authentication models are described in the following sections.

クラウド認証Cloud authentication

次の図では、クラウド認証の手順について説明します。The steps in cloud authentication are described in the following diagram:

クラウドベース認証の基本的な手順、および基本認証がブロックされている場所。

  1. 電子メールクライアントは、Exchange Online にユーザー名とパスワードを送信します。The email client sends the username and password to Exchange Online.

    : 基本認証がブロックされている場合は、この手順でブロックされます。Note: When Basic authentication is blocked, it's blocked at this step.

  2. Exchange Online は、ユーザー名とパスワードを Azure Active Directory に送信します。Exchange Online sends the username and password to Azure Active Directory.

  3. Azure Active Directory は、Exchange Online へのユーザーチケットを返し、ユーザーは認証されます。Azure Active Directory returns a user ticket to Exchange Online and the user is authenticated.

フェデレーション認証Federated authentication

次の図では、フェデレーション認証の手順について説明します。The steps in federated authentication are described in the following diagram:

フェデレーション認証の基本的な手順、および基本認証がブロックされている場合

  1. 電子メールクライアントは、Exchange Online にユーザー名とパスワードを送信します。The email client sends the username and password to Exchange Online.

    : 基本認証がブロックされている場合は、この手順でブロックされます。Note: When Basic authentication is blocked, it's blocked at this step.

  2. Exchange Online は、ユーザー名とパスワードをオンプレミスの IdP に送信します。Exchange Online sends the username and password to the on-premises IdP.

  3. Exchange Online は、オンプレミスの IdP から Security Assertion Markup Language (SAML) トークンを受け取ります。Exchange Online receives a Security Assertion Markup Language (SAML) token from the on-premises IdP.

  4. Exchange Online は、SAML トークンを Azure Active Directory に送信します。Exchange Online sends the SAML token to Azure Active Directory.

  5. Azure Active Directory は、Exchange Online へのユーザーチケットを返し、ユーザーは認証されます。Azure Active Directory returns a user ticket to Exchange Online and the user is authenticated.

Exchange Online での基本認証のブロック方法How Basic authentication is blocked in Exchange Online

Exchange Online で基本認証をブロックするには、個々のユーザーに対して認証ポリシーを作成して割り当てます。You block Basic authentication in Exchange Online by creating and assigning authentication policies to individual users. ポリシーは、基本認証がブロックされるクライアントプロトコルを定義し、そのポリシーを1人以上のユーザーに割り当てることで、指定されたプロトコルに対する基本認証要求をブロックします。The policies define the client protocols where Basic authentication is blocked, and assigning the policy to one or more users blocks their Basic authentication requests for the specified protocols.

ブロックされている場合、Exchange Online の基本認証は、要求が Azure Active Directory またはオンプレミスの IdP に到達する前に、最初の事前認証手順 (前の図の手順 1) でブロックされます。When it's blocked, Basic authentication in Exchange Online is blocked at the first pre-authentication step (Step 1 in the previous diagrams) before the request reaches Azure Active Directory or the on-premises IdP. このアプローチの利点は、ブルートフォースまたはパスワードのスプレー攻撃が IdP に到達しないことです (不正なログイン試行により、アカウントのロックアウトが発生する可能性があります)。The benefit of this approach is brute force or password spray attacks won't reach the IdP (which might trigger account lock-outs due to incorrect login attempts).

認証ポリシーはユーザーレベルで動作するため、Exchange Online では、クラウド組織内に存在するユーザーに対してのみ、基本認証要求をブロックできます。Because authentication policies operate at the user level, Exchange Online can only block Basic authentication requests for users that exist in the cloud organization. フェデレーション認証の場合、ユーザーが Exchange Online に存在しない場合は、ユーザー名とパスワードがオンプレミスの IdP に転送されます。For federated authentication, if a user doesn't exist in Exchange Online, the username and password are forwarded to the on-premises IdP. たとえば、次のシナリオを考えてみます。For example, consider the following scenario:

  1. 組織にフェデレーションドメイン contoso.com があり、オンプレミスの AD FS を使用して認証を行います。An organization has the federated domain contoso.com and uses on-premises AD FS for authentication.

  2. ユーザー ian@contoso.com は社内組織内に存在しますが、Office 365 では存在しません (Azure Active Directory にユーザーアカウントがなく、Exchange Online のグローバルアドレス一覧に受信者オブジェクトもありません)。The user ian@contoso.com exists in the on-premises organization, but not in Office 365 (there's no user account in Azure Active Directory and no recipient object in the Exchange Online global address list).

  3. メールクライアントは、ユーザー名 ian@contoso.com を使用して Exchange Online にログイン要求を送信します。An email client sends a login request to Exchange Online with the username ian@contoso.com. 認証ポリシーをユーザーに適用することはできません。また、ian@contoso.com の認証要求は、オンプレミスの AD FS に送信されます。An authentication policy can't be applied to the user, and the authentication request for ian@contoso.com is sent to the on-premises AD FS.

  4. オンプレミスの AD FS は、ian@contoso.com の認証要求を受け入れるか拒否することができます。The on-premises AD FS can either accept or reject the authentication request for ian@contoso.com. 要求が受け入れられると、SAML トークンが Exchange Online に返されます。If the request is accepted, a SAML token is returned to Exchange Online. SAML トークンのImmutableidの値が Azure active directory のユーザーと一致する限り、azure AD は Exchange Online に対してユーザーチケットを発行します ( immutableidの値は azure active directory Connect のセットアップ時に設定されます)。As long as the SAML token's ImmutableId value matches a user in Azure Active Directory, Azure AD will issue a user ticket to Exchange Online (the ImmutableId value is set during Azure Active Directory Connect setup).

このシナリオでは、contoso.com がオンプレミスの AD FS サーバーを認証に使用している場合でも、オンプレミスの AD FS サーバーは、パスワードのスプレー攻撃の際に Exchange Online から存在しないユーザーの認証要求を受信します。In this scenario, if contoso.com uses on-premises AD FS server for authentication, the on-premises AD FS server will still receive authentication requests for non-existent usernames from Exchange Online during a password spray attack.

Exchange Online の認証ポリシー手順Authentication policy procedures in Exchange Online

Exchange Online の PowerShell では、認証ポリシーのすべての側面を管理します。You manage all aspects of authentication policies in Exchange Online PowerShell. 次の表では、基本認証をブロックできる Exchange Online のプロトコルとサービスについて説明します。The protocols and services in Exchange Online that you can block Basic authentication for are described in the following table.

プロトコルまたはサービスProtocol or service 説明Description Parameter nameParameter name
Exchange Active Sync (EAS)Exchange Active Sync (EAS) モバイルデバイスの一部の電子メールクライアントによって使用されます。Used by some email clients on mobile devices. AllowBasicAuthActiveSyncAllowBasicAuthActiveSync
自動検出Autodiscover Outlook および EAS クライアントが Exchange Online のメールボックスを検索して接続するために使用されます。Used by Outlook and EAS clients to find and connect to mailboxes in Exchange Online AllowBasicAuthAutodiscover 検出AllowBasicAuthAutodiscover
IMAP4IMAP4 IMAP 電子メールクライアントによって使用されます。Used by IMAP email clients. AllowBasicAuthImapAllowBasicAuthImap
MAPI over HTTP (MAPI/HTTP)MAPI over HTTP (MAPI/HTTP) Outlook 2013 以降で使用されます。Used by Outlook 2013 and later. AllowBasicAuthMapiAllowBasicAuthMapi
オフラインアドレス帳 (OAB)Offline Address Book (OAB) Outlook によってダウンロードおよび使用されるアドレス一覧コレクションのコピー。A copy of address list collections that are downloaded and used by Outlook. AllowBasicAuthOfflineAddressBookAllowBasicAuthOfflineAddressBook
Outlook サービスOutlook Service Windows 10 用のメールアプリおよび予定表アプリによって使用されます。Used by the Mail and Calendar app for Windows 10. AllowBasicAuthOutlookServiceAllowBasicAuthOutlookService
POP3POP3 POP 電子メールクライアントによって使用されます。Used by POP email clients. AllowBasicAuthPopAllowBasicAuthPop
レポート Web サービスReporting Web Services Exchange Online でレポートデータを取得するために使用されます。Used to retrieve report data in Exchange Online. AllowbasicauthreportingbasicAllowBasicAuthReportingWebServices
Outlook Anywhere (RPC over HTTP)Outlook Anywhere (RPC over HTTP) Outlook 2016 以前で使用されています。Used by Outlook 2016 and earlier. AllowBasicAuthRpcAllowBasicAuthRpc
認証済み SMTPAuthenticated SMTP POP と IMAP クライアントが電子メールメッセージを送信するために使用します。Used by POP and IMAP client's to send email messages. AllowBasicAuthSmtpAllowBasicAuthSmtp
Exchange Web サービス (EWS)Exchange Web Services (EWS) Outlook、Outlook for Mac、およびサードパーティ製アプリで使用されるプログラミングインターフェイス。A programming interface that's used by Outlook, Outlook for Mac, and third-party apps. AllowBasicAuthWebServices 場合AllowBasicAuthWebServices
PowerShellPowerShell リモート PowerShell を使用して Exchange Online に接続するために使用されます。Used to connect to Exchange Online with remote PowerShell. Exchange Online PowerShell の基本認証をブロックする場合は、Exchange Online PowerShell モジュールを使用して接続する必要があります。If you block Basic authentication for Exchange Online PowerShell, you need to use the Exchange Online PowerShell Module to connect. 詳細については、「多要素認証を使用して Exchange Online PowerShell に接続する」を参照してください。For instructions, see Connect to Exchange Online PowerShell using multi-factor authentication. AllowBasicAuthPowerShellAllowBasicAuthPowerShell

通常、ユーザーの基本認証をブロックする場合は、すべてのプロトコルに対して基本認証をブロックすることをお勧めします。Typically, when you block Basic authentication for a user, we recommend that you block Basic authentication for all protocols. ただし、 *AllowBasicAuth* *パラメーター (スイッチ) を新しい-authenticationpolicyおよびSet-authenticationpolicyコマンドレットで使用して、特定のプロトコルに対して基本認証を選択的に許可またはブロックすることができます。However, you can use the AllowBasicAuth* parameters (switches) on the New-AuthenticationPolicy and Set-AuthenticationPolicy cmdlets to selectively allow or block Basic authentication for specific protocols.

先進認証をサポートしていない電子メールクライアントおよびアプリの場合は、必要とするプロトコルおよびサービスに対して基本認証を許可する必要があります。For email clients and apps that don't support modern authentication, you need to allow Basic authentication for the protocols and services that they require. 次の表では、これらのプロトコルとサービスについて説明します。These protocols and services are described in the following table:

クライアントClient プロトコルとサービスProtocols and services
以前の EWS クライアントOlder EWS clients •自動検出• Autodiscover
• EWS• EWS
以前の ActiveSync クライアントOlder ActiveSync clients •自動検出• Autodiscover
• ActiveSync• ActiveSync
POP クライアントPOP clients • POP3• POP3
•認証された SMTP• Authenticated SMTP
IMAP クライアントIMAP clients • IMAP4• IMAP4
•認証された SMTP• Authenticated SMTP

注意

基本認証をブロックすると、Exchange Online でのアプリのパスワードがブロックされます。Blocking Basic authentication will block app passwords in Exchange Online. アプリのパスワードの詳細については、「 Create an app password For Office 365」を参照してください。For more information about app passwords, see Create an app password for Office 365.

事前に必要な知識What do you need to know before you begin?

  • Exchange Online 組織でモダン認証が有効になっていることを確認します (既定では有効になっています)。Verify that modern authentication is enabled in your Exchange Online organization (it's enabled by default). 詳細については、「 Exchange Online で先進認証を有効または無効にする」を参照してください。For more information, see Enable or disable modern authentication in Exchange Online.

  • 電子メールクライアントとアプリが先進認証をサポートしていることを確認します (トピックの冒頭にある一覧を参照)。Verify your email clients and apps support modern authentication (see the list at the beginning of the topic). また、Outlook デスクトップクライアントで最低限必要な累積更新プログラムが実行されていることを確認します。Also, verify that your Outlook desktop clients are running the minimum required cumulative updates. 詳細については、「 Outlook の更新プログラム」を参照してください。For more information, see Outlook Updates.

  • Exchange Online PowerShell への接続方法については、「Exchange Online PowerShell に接続する」を参照してください。To learn how to connect to Exchange Online PowerShell, see Connect to Exchange Online PowerShell.

認証ポリシーを作成して適用するCreate and apply authentication policies

Exchange Online での基本認証を禁止する認証ポリシーを作成して適用する手順は次のとおりです。The steps to create and apply authentication policies to block Basic authentication in Exchange Online are:

  1. 認証ポリシーを作成します。Create the authentication policy.

  2. 認証ポリシーをユーザーに割り当てます。Assign the authentication policy to users.

  3. ポリシーがユーザーに適用されるまで24時間待機するか、ポリシーを強制的に直ちに適用します。Wait 24 hours for the policy to be applied to users, or force the policy to be immediately applied.

これらの手順については、以下のセクションで説明します。These steps are described in the following sections.

手順 1: 認証ポリシーを作成するStep 1: Create the authentication policy

Exchange Online で利用可能なすべてのクライアントプロトコル (推奨構成) に対する基本認証をブロックするポリシーを作成するには、次の構文を使用します。To create a policy that blocks Basic authentication for all available client protocols in Exchange Online (the recommended configuration), use the following syntax:

New-AuthenticationPolicy -Name "<Descriptive Name>"

この例では、Block Basic Auth という名前の認証ポリシーを作成します。This example creates an authentication policy named Block Basic Auth.

New-AuthenticationPolicy -Name "Block Basic Auth"

構文およびパラメーターの詳細については、「 New-AuthenticationPolicy」を参照してください。For detailed syntax and parameter information, see New-AuthenticationPolicy.

:Notes:

  • 作成後にポリシーの名前を変更することはできません ( nameパラメーターは、 Set-authenticationpolicyコマンドレットでは使用できません)。You can't change the name of the policy after you create it (the Name parameter isn't available on the Set-AuthenticationPolicy cmdlet).

  • ポリシー内の特定のプロトコルに対して基本認証を有効にするには、このトピックで後述する「認証ポリシーの変更」を参照してください。To enable Basic authentication for specific protocols in the policy, see the Modify authentication policies section later in this topic. 新しい-authenticationpolicyおよびSet-authenticationpolicyコマンドレットでは、同じプロトコル設定を使用できます。また、特定のプロトコルに対して基本認証を有効にする手順は、両方のコマンドレットで同じです。The same protocol settings are available on the New-AuthenticationPolicy and Set-AuthenticationPolicy cmdlets, and the steps to enable Basic authentication for specific protocols are the same for both cmdlets.

手順 2: ユーザーに認証ポリシーを割り当てるStep 2: Assign the authentication policy to users

このセクションでは、認証ポリシーをユーザーに割り当てるために使用できる方法について説明します。The methods that you can use to assign authentication policies to users are described in this section:

  • 個別のユーザーアカウント: 次の構文を使用します。Individual user accounts: Use the following syntax:

    Set-User -Identity <UserIdentity> -AuthenticationPolicy <PolicyIdentity>
    

    この例では、Block Basic Auth という名前のポリシーをユーザーアカウント laura@contoso.com に割り当てます。This example assigns the policy named Block Basic Auth to the user account laura@contoso.com.

    Set-User -Identity laura@contoso.com -AuthenticationPolicy "Block Basic Auth"
    
  • ユーザーアカウントを属性でフィルター処理する: この方法では、ユーザーアカウントが、ユーザーを識別するために使用できる一意のフィルター可能な属性 (たとえば、Title や Department) を共有している必要があります。Filter user accounts by attributes: This method requires that the user accounts all share a unique filterable attribute (for example, Title or Department) that you can use to identify the users. この構文では、次のコマンドを使用します (ユーザーアカウントを識別するために、もう1つは、これらのユーザーにポリシーを適用します)。The syntax uses the following commands (two to identify the user accounts, and the other to apply the policy to those users):

    $<VariableName1> = Get-User -ResultSize unlimited -Filter <Filter>
    $<VariableName2> = $<VariableName1>.MicrosoftOnlineServicesID
    $<VariableName2> | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}
    

    この例では、Block Basic Auth という名前のポリシーを、 Title属性に値 "Sales アソシエイト" が含まれているすべてのユーザーアカウントに割り当てます。This example assigns the policy named Block Basic Auth to all user accounts whose Title attribute contains the value "Sales Associate".

    $SalesUsers = Get-User -ResultSize unlimited -Filter {(RecipientType -eq 'UserMailbox') -and (Title -like '*Sales Associate*')}
    $Sales = $SalesUsers.MicrosoftOnlineServicesID
    $Sales | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}
    
  • 特定のユーザーアカウントの一覧を使用します。このメソッドには、ユーザーアカウントを識別するためのテキストファイルが必要です。Use a list of specific user accounts: This method requires a text file to identify the user accounts. スペースを含まない値 (たとえば、Office 365 の職場または学校のアカウント) は最適に機能します。Values that don't contain spaces (for example, the Office 365 work or school account) work best. テキストファイルには、次のように各行に1つのユーザーアカウントが含まれている必要があります。The text file must contain one user account on each line like this:

    akol@contoso.com

    tjohnston@contoso.com

    kakers@contoso.com

    この構文では、次の2つのコマンドを使用します (1 つはユーザーアカウントを識別し、もう1つはそれらのユーザーにポリシーを適用するためです)。The syntax uses the following two commands (one to identify the user accounts, and the other to apply the policy to those users):

    $<VariableName> = Get-Content "<text file>"
    $<VariableName> | foreach {Set-User -Identity $_ -AuthenticationPolicy <PolicyIdentity>}
    

    この例では、file C:\My Documents\BlockBasicAuth.txt. で指定されたユーザーアカウントに、Block Basic Auth という名前のポリシーを割り当てます。This example assigns the policy named Block Basic Auth to the user accounts specified in the file C:\My Documents\BlockBasicAuth.txt.

    $BBA = Get-Content "C:\My Documents\BlockBasicAuth.txt"
    $BBA | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}
    
  • Exchange online と同期されているオンプレミスの Active directory ユーザーアカウントをフィルター処理する: 詳細については、このトピックの「 exchange online と同期されているオンプレミスの active directory ユーザーアカウントをフィルター処理する」を参照してください。Filter on-premises Active Directory user accounts that are synchronized to Exchange Online: For details, see the Filter on-premises Active Directory user accounts that are synchronized to Exchange Online section in this topic.

注意

ユーザーからポリシーの割り当てを削除するには、 $null Set-Userコマンドレットのauthenticationpolicyパラメーターの値を使用します。To remove the policy assignment from users, use the value $null for the AuthenticationPolicy parameter on the Set-User cmdlet.

手順 3: (オプション) ユーザーに認証ポリシーを直ちに適用するStep 3: (Optional) Immediately apply the authentication policy to users

既定では、ユーザーに対して認証ポリシーの割り当てを作成または変更するか、ポリシーを更新すると、変更は24時間以内に有効になります。By default, when you create or change the authentication policy assignment on users or update the policy, the changes take effect within 24 hours. ポリシーを30分以内に有効にする場合は、次の構文を使用します。If you want the policy to take effect within 30 minutes, use the following syntax:

Set-User -Identity <UserIdentity> -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)

この例では、認証ポリシーをユーザー laura@contoso.com に直ちに適用します。This example immediately applies the authentication policy to the user laura@contoso.com.

Set-User -Identity laura@contoso.com -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)

この例では、フィルター可能な属性またはテキストファイルで以前に識別された複数のユーザーに対して、認証ポリシーを直ちに適用します。This example immediately applies the authentication policy to multiple users that were previously identified by filterable attributes or a text file. この例は、同じ PowerShell セッションで、ユーザーを識別するために使用した変数を変更していない場合に動作します (他の目的で同じ変数名を使用していない場合)。This example works if you're still in the same PowerShell session and you haven't changed the variables you used to identify the users (you didn't use the same variable name afterwards for some other purpose). 次に例を示します。For example:

$Sales | foreach {Set-User -Identity $_ -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)}

またはor

$BBA | foreach {Set-User -Identity $_ -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)}

認証ポリシーの表示View authentication policies

既存のすべての認証ポリシーの名前の要約リストを表示するには、次のコマンドを実行します。To view a summary list of the names of all existing authentication policies, run the following command:

Get-AuthenticationPolicy | Format-Table Name -Auto

特定の認証ポリシーについての詳細情報を表示するには、次の構文を使用します。To view detailed information about a specific authentication policy, use this syntax:

Get-AuthenticationPolicy -Identity <PolicyIdentity>

この例では、Block Basic Auth という名前のポリシーに関する詳細情報を返します。This example returns detailed information about the policy named Block Basic Auth.

Get-AuthenticationPolicy -Identity "Block Basic Auth"

構文およびパラメーターの詳細については、「取得-AuthenticationPolicy」を参照してください。For detailed syntax and parameter information, see Get-AuthenticationPolicy.

認証ポリシーを変更するModify authentication policies

既定では、プロトコルを指定せずに新しい認証ポリシーを作成すると、Exchange Online のすべてのクライアントプロトコルで基本認証がブロックされます。By default, when you create a new authentication policy without specifying any protocols, Basic authentication is blocked for all client protocols in Exchange Online. 言い換えると、 *AllowBasicAuth* * parameters (スイッチ) の既定値はFalseすべてのプロトコルに対応しています。In other words, the default value of the AllowBasicAuth* parameters (switches) is False for all protocols.

  • 無効になっている特定のプロトコルに対して基本認証を有効にするには、値を指定せずにスイッチを指定します。To enable Basic authentication for a specific protocol that's disabled, specify the switch without a value.

  • 有効になっている特定のプロトコルに対して基本認証を無効にするに:$falseは、値のみを使用できます。To disable Basic authentication for a specific protocol that's enabled, you can only use the value :$false.

AllowBasicAuth コマンドレットを**** 使用して、ポリシー内の** *スイッチの現在の状態を確認できます。You can use the Get-AuthenticationPolicy cmdlet to see the current status of the AllowBasicAuth* switches in the policy.

この例では、POP3 プロトコルに対して基本認証を有効にし、Block Basic Auth という名前の既存の認証ポリシーで IMAP4 プロトコルの基本認証を無効にします。This example enables basic authentication for the POP3 protocol and disables basic authentication for the IMAP4 protocol in the existing authentication policy named Block Basic Auth.

Set-AuthenticationPolicy -Identity "Block Basic Auth" -AllowBasicAuthPop -AllowBasicAuthImap:$false

構文およびパラメーターの詳細については、「 Set-AuthenticationPolicy」を参照してください。For detailed syntax and parameter information, see Set-AuthenticationPolicy.

既定の認証ポリシーを構成するConfigure the default authentication policy

既定の認証ポリシーは、特定のポリシーがまだ割り当てられていないすべてのユーザーに割り当てられます。The default authentication policy is assigned to all users who don't already have a specific policy assigned to them. ユーザーに割り当てられている認証ポリシーは、既定のポリシーに優先されることに注意してください。Note that the authentication policies assigned to users take precedence to the default policy. 組織の既定の認証ポリシーを構成するには、次の構文を使用します。To configure the default authentication policy for the organization, use this syntax:

Set-OrganizationConfig -DefaultAuthenticationPolicy <PolicyIdentity>

この例では、既定のポリシーとして [ブロックする基本認証としての認証ポリシーを構成します。This example configures the authentication policy named Block Basic Auth as the default policy.

Set-OrganizationConfig -DefaultAuthenticationPolicy "Block Basic Auth"

注意

既定の認証ポリシーの指定を削除するには$nulldefaultauthenticationpolicyパラメーターの値を使用します。To remove the default authentication policy designation, use the value $null for the DefaultAuthenticationPolicy parameter.

認証ポリシーを削除するRemove authentication policies

既存の認証ポリシーを削除するには、次の構文を使用します。To remove an existing authentication policy, use this syntax:

Remove-AuthenticationPolicy -Identity <PolicyIdentity>

この例では、Test Auth Policy という名前のポリシーを削除します。This example removes the policy named Test Auth Policy.

Remove-AuthenticationPolicy -Identity "Test Auth Policy"

構文およびパラメーターの詳細については、「 Remove-AuthenticationPolicy」を参照してください。For detailed syntax and parameter information, see Remove-AuthenticationPolicy.

Exchange Online で基本認証が正常に無効にされたことをどのように確認できますか。How do you know that you've successfully disabled Basic authentication in Exchange Online?

認証ポリシーがユーザーに適用されたことを確認するには、次のようにします。To confirm that the authentication policy was applied to users:

  1. 次のコマンドを実行して、認証ポリシーの識別名 (DN) 値を検索します。Run the following command to find the distinguished name (DN) value of the authentication policy:

    Get-AuthenticationPolicy | Format-List Name,DistinguishedName
    
  2. 次のコマンドで、認証ポリシーの DN 値を使用します。Use the DN value of the authentication policy in the following command:

    Get-User -Filter {AuthenticationPolicy -eq '<AuthPolicyDN>'}
    

    次に例を示します。For example:

    Get-User -Filter {AuthenticationPolicy -eq 'CN=Block Basic Auth,CN=Auth Policies,CN=Configuration,CN=contoso.onmicrosoft.com,CN=ConfigurationUnits,DC=NAMPR11B009,DC=PROD,DC=OUTLOOK,DC=COM'}
    

Exchange Online の特定のプロトコルについて、特定のユーザーからの基本認証要求が認証ポリシーによっ401 Unauthorizedてブロックされると、応答はになります。When an authentication policy blocks Basic authentication requests from a specific user for a specific protocol in Exchange Online, the response is 401 Unauthorized. ブロックされたユーザーに関する追加情報がリークしないように、追加の情報はクライアントに返されません。No additional information is returned to the client to avoid leaking any additional information about the blocked user. 応答の例は、次のようになります。An example of the response looks like this:

HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/10.0
request-id: 413ee498-f337-4b0d-8ad5-50d900eb1f72
X-CalculatedBETarget: DM5PR2101MB0886.namprd21.prod.outlook.com
X-BackEndHttpStatus: 401
Set-Cookie: MapiRouting=#################################################; path=/mapi/; secure; HttpOnly
X-ServerApplication: Exchange/15.20.0485.000
X-RequestId: {3146D993-9082-4D57-99ED-9E7D5EA4FA56}:8
X-ClientInfo: {B0DD130A-CDBF-4CFA-8041-3D73B4318010}:59
X-RequestType: Bind
X-DiagInfo: DM5PR2101MB0886
X-BEServer: DM5PR2101MB0886
X-Powered-By: ASP.NET
X-FEServer: MA1PR0101CA0031
WWW-Authenticate: Basic Realm="",Basic Realm=""
Date: Wed, 31 Jan 2018 05:15:08 GMT
Content-Length: 0

Exchange Online に同期されているオンプレミスの Active Directory ユーザーアカウントをフィルター処理するFilter on-premises Active Directory user accounts that are synchronized to Exchange Online

このメソッドは、Exchange Online と同期されるオンプレミスの Active Directory グループメンバーのフィルターとして、1つの特定の属性を使用します。This method uses one specific attribute as a filter for on-premises Active Directory group members that will be synchronized with Exchange Online. この方法では、組織全体に影響を与えることなく、特定のグループに対して従来のプロトコルを無効にすることができます。This method allows you to disable legacy protocols for specific groups without affecting the entire organization.

この例では、department 属性を**** 使用します。これは、部署とロールに基づいてユーザーを識別する共通の属性であるためです。Throughout this example, we'll use the Department attribute, because it's a common attributes that identifies users based on their department and role. すべての Active Directory ユーザーの拡張プロパティを表示するには、 Active directory: Get-ADUser Default および Extended propertiesに移動します。To see all Active Directory user extended properties, go to Active Directory: Get-ADUser Default and Extended Properties.

手順 1: Active Directory ユーザーを検索して、Active Directory ユーザー属性を設定するStep 1: Find the Active Directory users and setSet the Active Directory user attributes

Active Directory グループのメンバーを取得するGet the members of an Active Directory group

これらの手順では、Windows PowerShell の Active Directory モジュールが必要です。These steps require the Active Directory module for Windows PowerShell. このモジュールを PC にインストールするには、リモートサーバー管理ツール (RSAT)をダウンロードしてインストールする必要があります。To install this module on your PC, you need to download and install the Remote Server Administration Tools (RSAT).

Active directory 内のすべてのグループを取得するには、Active Directory PowerShell で次のコマンドを実行します。Run the following command in Active Directory PowerShell to return all groups in Active Directory:

Get-ADGroup -Filter * | select -Property Name

グループの一覧を取得した後、それらのグループに属するユーザーを照会し、それらの属性のいずれかに基づいてリストを作成できます。After you get the list of groups, you can query which users belong to those groups and create a list based on any of their attributes. 値は各ユーザーに対して一意であるため、 objectGuid属性の使用をお勧めします。We recommend using the objectGuid attribute because the value is unique for each user.

Get-ADGroupMember -Identity "<GroupName>" | select -Property objectGuid

この例では、開発者というグループのメンバーのobjectGuid属性の値を返します。This example returns the objectGuid attribute value for the members of the group named Developers.

Get-ADGroupMember -Identity "Developers" | select -Property objectGuid

フィルター可能なユーザー属性を設定するSet the filterable user attribute

ユーザーが含まれる Active Directory グループを特定したら、Exchange Online と同期される属性値を設定して、ユーザーをフィルター処理します (最終的には、基本認証を無効にします)。After you identify the Active Directory group that contains the users, you need to set the attribute value that will be synchronized with Exchange Online to filter users (and ultimately disable Basic authentication for them).

Active Directory PowerShell で次の構文を使用して、前の手順で特定したグループのメンバーの属性値を構成します。Use the following syntax in Active Directory PowerShell to configure the attribute value for the members of the group that you identified in the previous step. 最初のコマンドは、そのobjectGuid属性の値に基づいてグループメンバーを識別します。The first command identifies the group members based on their objectGuid attribute value. 2番目のコマンドは、グループのメンバーにDepartment属性の値を割り当てます。The second command assigns the Department attribute value to the group members.

$variable1 = Get-ADGroupMember -Identity "<GroupName>" | select -ExpandProperty "objectGUID"; Foreach ($user in $variable1) {Set-ADUser -Identity $user.ToString() -Add@{Department="<DepartmentName>"}}

この例では、"開発者" というグループに属するユーザーのために、 Department属性を "Developer" という値に設定します。This example sets the Department attribute to the value "Developer" for users that belong to the group named "Developers".

$variable1 = Get-ADGroupMember -Identity "Developers" | select -ExpandProperty "objectGUID"; Foreach ($user in $variable1) {Set-ADUser -Identity $user.ToString() -Add@{Department="Developer"}}

Active Directory PowerShell で次の構文を使用して、属性がユーザーアカウントに適用されたことを確認します (現在またはそれ以前)。Use the following syntax in Active Directory PowerShell to verify the attribute was applied to the user accounts (now or in the past):

Get-ADUser -Filter {(Department -eq '<DepartmentName>')} -Properties Department

この例では、 Department属性に "Developer" という値を持つすべてのユーザーアカウントを返します。This example returns all user accounts with the value "Developer" for the Department attribute.

Get-ADUser -Filter {(Department -eq 'Developer')} -Properties Department

手順 2: Exchange Online で従来の認証を無効にするStep 2: Disable legacy authentication in Exchange Online

注意

オンプレミスのユーザーの属性値は、有効な Exchange Online ライセンスを持つユーザーに対してのみ、Exchange Online に同期されます。The attribute values for on-premises users are synchronized to Exchange Online only for users that have a valid Exchange Online license. 詳細については、「一般法人向け Office 365 のユーザーにライセンスを割り当てる」を参照してください。For more information, see Assign licenses to users in Office 365 for business.

Exchange Online の PowerShell 構文では、次のコマンドを使用します (ユーザーアカウントを識別するために、もう1つは、これらのユーザーにポリシーを適用します)。The Exchange Online PowerShell syntax uses the following commands (two to identify the user accounts, and the other to apply the policy to those users):

$<VariableName1> = Get-User -ResultSize unlimited -Filter <Filter>
$<VariableName2> = $<VariableName1>.MicrosoftOnlineServicesID
$<VariableName2> | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}

この例では、[部署] 属性に "Developer" という値が含まれている、すべての同期されたユーザーアカウントに Block Basic Auth という名前のポリシーを割り当てます。This example assigns the policy named Block Basic Auth to all synchronized user accounts whose Department attribute contains the value "Developer".

$developerUsers = Get-User -ResultSize unlimited -Filter {(RecipientType -eq 'UserMailbox') -and (department -like '*developer*')}
$developers = $developerUsers.MicrosoftOnlineServicesID
$developers | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}

Active Directory PowerShell セッションで Exchange Online PowerShell に接続する場合は、次の構文を使用して、Active Directory グループのすべてのメンバーにポリシーを適用できます。If you connect to Exchange Online PowerShell in an Active Directory PowerShell session, you can use the following syntax to apply the policy to all members of an Active Directory group.

この例では、"マーケティング部門" という名前の Active Directory グループのメンバーの基本認証を無効にするマーケティングポリシーという新しい認証ポリシーを作成します。これにより、ActiveSync、POP3、認証済み SMTP、および IMAP4 クライアントを使用できます。This example creates a new authentication policy named Marketing Policy that disables Basic authentication for members of the Active Directory group named Marketing Department for ActiveSync, POP3, authenticated SMTP, and IMAP4 clients.

注意

Active Directory PowerShell の既知の制限により、 AdGroupMemberコマンドレットは5000を超える結果を返すことができなくなります。A known limitation in Active Directory PowerShell prevents the Get-AdGroupMember cmdlet from returning more than 5000 results. そのため、次の例は、メンバーが5000未満の Active Directory グループに対してのみ機能します。Therefore, the following example only works for Active Directory groups that have less than 5000 members.

New-AuthenticationPolicy -Name "Marketing Policy" -AllowBasicAuthActiveSync $false -AllowBasicAuthPop $false -AllowBasicAuthSmtp $false -AllowBasicAuthImap $false
$users = Get-ADGroupMember "Marketing Department"
foreach ($user in $users) {Set-User -Identity $user.SamAccountName -AuthenticationPolicy "Marketing Policy"}