次の方法で共有


Microsoft Entra ID での IPv6 サポート

Note

この記事は役に立ちましたか? あなたの入力は私たちにとって重要です。 このページの Feedback ボタンを使用して、この記事がどれだけうまく機能したか、または改善方法をお知らせください。

Microsoft Entra ID に IPv6 のサポートを提供し、モビリティが向上したお客様をサポートし、急速に枯渇する高価な IPv4 アドレスへの支出を削減することに興奮しています。 この変更が Microsoft 365 に与える影響の詳細については、Microsoft 365 サービスでの IPv6 のサポートを参照してください。

組織のネットワークが現在 IPv6 をサポートしていない場合は、その時点までこの情報を無視しても問題ありません。

変更点

サービス エンドポイントの URL 解決で、IPv4 と IPv6 の両方のアドレスが返されるようになりました。 クライアント プラットフォームまたはネットワークが IPv6 をサポートしている場合、その間にあるネットワーク ホップ (ファイアウォールや Web プロキシなど) も IPv6 をサポートしていると見なされ、通常、IPv6 を使用して接続が試行されます。 IPv6 がサポートされない環境の場合、クライアント アプリケーションは引き続き IPv4 経由で Microsoft Entra ID に接続します。

次の機能でも、IPv6 アドレスがサポートされます。

  • ネームド ロケーション
  • 条件付きアクセス ポリシー
  • Identity Protection
  • サインイン ログ

Microsoft Entra ID で IPv6 はいつサポートされますか?

2023 年 4 月に Microsoft Entra ID への IPv6 サポートの導入を開始します。

IPv6 のサポートは、一部の組織にとって大きな変化であることを認識しています。 お客様が準備を行う計画を立てることができるように、この情報を公開しています。

自分の組織は何をする必要がありますか?

ネットワークを表すパブリック IPv6 アドレスがある場合は、できるだけ早く次のセクションで説明するアクションを実行します。

お客様がこれらの IPv6 アドレスを使用して名前付きの場所を更新しない場合、ユーザーはブロックされます。

ネットワーク上の場所が原因でユーザーのサインインがブロックされていることを示すスクリーンショット。

実行するアクション

ネームド ロケーション

名前付き場所は、条件付きアクセス、Identity Protection、B2C などの多くの機能間で共有されます。 お客様は、ネットワーク管理者およびインターネット サービス プロバイダー (ISP) と提携して、公開されている IPv6 アドレスを識別する必要があります。 その後、この一覧を使用して名前付き場所を 作成または更新し、識別された IPv6 アドレスを含める必要があります

条件付きアクセス

条件付きアクセス ポリシーを構成する場合、組織は場所を条件として含めるか除外するかを選択できます。 これらの名前付き場所には、パブリック IPv4 または IPv6 アドレス、国または地域、または特定の国や地域にマップされない不明な領域が含まれる場合があります。

  • 既存の条件付きアクセス ポリシーで使用されている既存の名前付き場所に IPv6 範囲を追加する場合、変更は必要ありません。
  • 組織の IPv6 範囲の新しい名前付き場所を作成する場合は、関連する条件付きアクセス ポリシーをこれらの新しい場所で更新する必要があります。

クラウド プロキシと VPN

クラウド プロキシが配置されている場合、 Microsoft Entra ハイブリッド参加済みデバイスまたはクレーム デバイス を必要とするポリシーを管理しやすくなります。 クラウドでホストされているプロキシまたは VPN ソリューションで使用される IP アドレスの一覧を最新の状態に保つことはほとんど不可能です。

Microsoft Entra のユーザーごとの多要素認証

ユーザーごとの多要素認証を使用しているお客様は、名前付き場所ではなく、 信頼された IP アドレス を使用して、オンプレミスの信頼されたネットワークを表す IPv4 アドレスを追加しましたか? ある場合は、オンプレミスの IPv6 対応エグレス ポイントを介して開始された要求に対する多要素認証プロンプトが表示されることがあります。

Microsoft Entra ID ライセンスに条件付きアクセスが含まれていない場合や、セキュリティの既定値を使用しない場合を除き、ユーザーごとの多要素認証の使用はお勧めしません。

送信トラフィックの制限

組織が送信ネットワーク トラフィックを特定の IP 範囲に制限している場合は、IPv6 エンドポイントを含むようにこれらのアドレスを更新する必要があります。 管理者は、次の記事でこれらの IP 範囲を確認できます。

Microsoft Entra ID に指定されている IP 範囲については、プロキシまたはファイアウォールで送信アクセスを許可していることを確認します。

デバイス構成

既定では、IPv6 と IPv4 の両方のトラフィックは、Windows およびその他のほとんどのオペレーティング システム (OS) プラットフォームでサポートされます。 標準の IPv6 構成を変更すると、意図しない結果が生じる可能性があります。 詳細については、高度なユーザー向けのWindowsで IPv6 を構成するためのガイダンスをご覧ください。

サービス エンドポイント

Microsoft Entra ID での IPv6 サポートの実装は、Azure Virtual Network サービス エンドポイントには影響しません。 サービス エンドポイントは引き続き IPv6 トラフィックをサポートしていません。 詳細については、「 仮想ネットワーク サービス エンドポイントの制限を参照してください。

IPv6 経由で Microsoft Entra 認証をテストする

次の手順を使用して、世界中で有効にする前に、IPv6 経由で Microsoft Entra 認証をテストできます。 これらの手順は、IPv6 範囲の構成を検証するのに役立ちます。 推奨される方法は、Microsoft Entra 参加済み Windows デバイスにプッシュName 解決ポリシー テーブル (NRPT) ルールを使用することです。 Windows Server では、NRPT を使用して、DNS 解決パスをオーバーライドするグローバル ポリシーまたはローカル ポリシーを実装できます。 この機能を使用すると、さまざまな完全修飾ドメイン名 (FQDN) の DNS を、Microsoft Entra サインイン用の IPv6 DNS エントリを持つよう構成されている特殊な DNS サーバーにリダイレクトできます。 PowerShell スクリプトを使用すると、NRPT 規則を簡単に有効または無効にすることができます。 Microsoft Intune を使用して、この機能をクライアントにプッシュできます。

Note

  • Microsoft では、テスト目的でのみこれらの手順を提供しています。 クライアントが実稼働 DNS サーバーを使用していることを確認するには、2023 年 5 月までに次の構成を削除する必要があります。 次の手順の DNS サーバーは、2023 年 5 月以降に使用停止になる可能性があります。

  • NRPT 規則を検証するには、 Resolve-DnsName コマンドレットを使用することをお勧めします。 nslookup コマンドを使用すると、これらのツール間に存在する違いにより、結果が異なる場合があります。

  • クライアント デバイスと NRPT 規則に使用される DNS サーバーの間に、TCP ポートと UDP ポート 53 で開いているネットワーク接続があることを確認します。

クライアント NRPT 規則を手動で構成する - パブリック クラウド

  1. 管理者として PowerShell コンソールを開きます (PowerShell アイコンを右クリックし、 管理者として実行を選択します)。

  2. 次のコマンドを実行して、NRPT 規則を追加します。

    $DnsServers = (
        "ns1-37.azure-dns.com.",
        "ns2-37.azure-dns.net.",
        "ns3-37.azure-dns.org.",
        "ns4-37.azure-dns.info."
    )
    $DnsServerIPs = $DnsServers | Foreach-Object {
        (Resolve-DnsName $_).IPAddress | Select-Object -Unique
    }
    $params = @{
        Namespace = "login.microsoftonline.com"
        NameServers = $DnsServerIPs
        DisplayName = "AZURE-AD-NRPT"
    }
    Add-DnsClientNrptRule @params
    
  3. Resolve-DnsName コマンドレットを実行して、クライアントがlogin.microsoftonline.comの IPv6 応答を取得することを確認します。 コマンドの出力は次のテキストのようになります。

    PS C:\users\username> Resolve-DnsName login.microsoftonline.com
    Name                          Type   TTL   Section    IPAddress 
    ----                          ----   ---   -------    --------- 
    login.microsoftonline.com     AAAA   300   Answer     2603:1037:1:c8::8 
    login.microsoftonline.com     AAAA   300   Answer     2603:1036:3000:d8::5 
    login.microsoftonline.com     AAAA   300   Answer     2603:1036:3000:d0::5 
    login.microsoftonline.com     AAAA   300   Answer     2603:1036:3000:d8::4 
    login.microsoftonline.com     AAAA   300   Answer     2603:1037:1:c8::9 
    login.microsoftonline.com     AAAA   300   Answer     2603:1037:1:c8::a 
    login.microsoftonline.com     AAAA   300   Answer     2603:1036:3000:d8::2 
    login.microsoftonline.com     AAAA   300   Answer     2603:1036:3000:d0::7 
    login.microsoftonline.com     A      300   Answer     20.190.151.7 
    login.microsoftonline.com     A      300   Answer     20.190.151.67 
    login.microsoftonline.com     A      300   Answer     20.190.151.69 
    login.microsoftonline.com     A      300   Answer     20.190.151.68 
    login.microsoftonline.com     A      300   Answer     20.190.151.132 
    login.microsoftonline.com     A      300   Answer     20.190.151.70 
    login.microsoftonline.com     A      300   Answer     20.190.151.9 
    login.microsoftonline.com     A      300   Answer     20.190.151.133 
    
  4. NRPT 規則を削除する場合は、次の PowerShell スクリプトを実行します。

    Get-DnsClientNrptRule | Where-Object {
        $_.DisplayName -match "AZURE-AD-NRPT" -or $_.Namespace -match "login.microsoftonline.com"
    } | Remove-DnsClientNrptRule -Force
    

クライアント NRPT 規則を手動で構成する - US Gov クラウド

次のスクリプトは、パブリック クラウドのスクリプトと同様に、US Gov サインイン エンドポイント login.microsfotonline.usの NRPT 規則を作成します。

  1. PowerShell アイコンを右クリックし、管理者として実行 選択して、管理者として PowerShell コンソールを開

  2. 次のコマンドを実行して、NRPT 規則を追加します。

    $DnsServers = (
        "ns1-35.azure-dns.com.",
        "ns2-35.azure-dns.net.",
        "ns3-35.azure-dns.org.",
        "ns4-35.azure-dns.info."
    )
    $DnsServerIPs = $DnsServers | Foreach-Object {
        (Resolve-DnsName $_).IPAddress | Select-Object -Unique
    }
    $params = @{
        Namespace = "login.microsoftonline.us"
        NameServers = $DnsServerIPs
        DisplayName = "AZURE-AD-NRPT-USGOV"
    }
    Add-DnsClientNrptRule @params
    

Intune で NRPT ルールを展開する

Intune を使用して複数のマシンに NRPT ルールを展開するには、Win32 アプリを作成し、1 つ以上のデバイスに割り当てます。

手順 1: スクリプトを作成する

フォルダーを作成し、次のインストール スクリプトとロールバック スクリプト (InstallScript.ps1 および RollbackScript.ps1) を保存して、展開で使用する .intunewin ファイルを作成できるようにします。

InstallScript.ps1
# Add Azure AD NRPT rule.
$DnsServers = (
    "ns1-37.azure-dns.com.",
    "ns2-37.azure-dns.net.",
    "ns3-37.azure-dns.org.",
    "ns4-37.azure-dns.info."
)
$DnsServerIPs = $DnsServers | Foreach-Object {
    (Resolve-DnsName $_).IPAddress | Select-Object -Unique
}

# List the rules.
$existingRules = Get-DnsClientNrptRule | Where-Object {
    $_.DisplayName -match "AZURE-AD-NRPT" -or $_.Namespace -match "login.microsoftonline.com"
}
if ($existingRules) { 
    Write-Output ("Azure AD NRPT rule exists: {0}" -F $existingRules) 
} 
else { 
    Write-Output "Adding Azure AD NRPT DNS rule for login.microsoftonline.com ..." 
    $params = @{
        Namespace = "login.microsoftonline.com"
        NameServers = $DnsServerIPs
        DisplayName = "AZURE-AD-NRPT"
    }
    Add-DnsClientNrptRule @params
}  
RollbackScript.ps1
# Remove the Azure AD NRPT rule.
# List the rules.
$existingRules = Get-DnsClientNrptRule | Where-Object {
    $_.DisplayName -match "AZURE-AD-NRPT" -or $_.Namespace -match "login.microsoftonline.com"
}
if ($existingRules) { 
    Write-Output "Removing Azure AD NRPT DNS rule for login.microsoftonline.com ..." 
    $existingRules | Format-Table 
    $existingRules | Remove-DnsClientNrptRule -Force 
} 
else { 
    Write-Output "Azure AD NRPT rule does not exist. Device was successfully remediated."
}
DetectionScript.ps1

次のスクリプト (DetectionScript.ps1) を別の場所に保存します。 その後、Intune で作成するときに、アプリケーションで検出スクリプトを参照できます。

# Add Azure AD NRPT rule.
$DnsServers = (
    "ns1-37.azure-dns.com.",
    "ns2-37.azure-dns.net.",
    "ns3-37.azure-dns.org.",
    "ns4-37.azure-dns.info."
)
$DnsServerIPs = $DnsServers | Foreach-Object {
    (Resolve-DnsName $_).IPAddress | Select-Object -Unique
}
# List the rules.
$existingRules = Get-DnsClientNrptRule | Where-Object {
    $_.DisplayName -match "AZURE-AD-NRPT" -or $_.Namespace -match "login.microsoftonline.com"
}
if ($existingRules) { 
    Write-Output 'Compliant' 
}  

手順 2: スクリプトを .intunewin ファイルとしてパッケージ化する

アップロード Prepare Win32 アプリのコンテンツを参照して 以前に保存したフォルダーとスクリプトから .intunewin ファイルを作成します。

手順 3: Win32 アプリケーションを作成する

次の手順では、必要な Win32 アプリケーションを作成する方法を示します。 詳細については、「 Microsoft Intune で Win32 アプリを追加、割り当て、監視するを参照してください。

  1. Intune ポータルにサインインします。

  2. Apps>All Apps を選択し、+ Add を選択して新しい Win32 アプリを作成します。

  3. App の種類ドロップダウン リストで、Windows アプリ (Win32)を選択し、選択

  4. [ App 情報 ] ページで、[アプリ パッケージ ファイルの選択 をクリックして 前に作成した .intunewin ファイルを選択します。 OK を選択して続行します。

  5. App 情報ページに戻り、アプリケーションのわかりやすいNameDescription、および Publisher を入力します。 その他のフィールドは省略可能です。 [次へ] を選択して続行します。

  6. [ Program ページで、次の情報を入力し、 Next を選択します。

    • Install command string:
      powershell.exe -executionpolicy bypass -NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -file "InstallScript.ps1"
    • Uninstall コマンド 文字列:
      powershell.exe -executionpolicy bypass -NoLogo -NoProfile -NonInteractive -WindowStyle Hidden -file "RollbackScript.ps1"
    • インストールの動作:
      System
  7. [ Requirement ページで、 システム アーキテクチャの操作 両方を選択し Minimum オペレーティング システムWindows 10 1607 に設定します。 [次へ] を選択して続行します。

  8. Detection ページで、Rules 形式ドロップダウン リストから カスタム検出スクリプトを使用するを選択します。 Script ファイルボックスの横にある参照ボタンを選択して、検出スクリプトを選択します。 残りのフィールドは既定値のままにします。 [次へ] を選択して続行します。

  9. Dependencies ページで Next を選択して、変更を加えずに続行します。

  10. Supersedence (プレビュー) ページで Next を選択して、変更を加えずに続行します。

  11. [ 割り当て ページで、要件に基づいて割り当てを作成し、 次へ を選択して続行します。

  12. Review + create ページで最後に情報を確認します。 検証が完了したら、 Create を選択してアプリケーションを作成します。

サインイン ログで IPv6 アドレスを検索する

次の 1 つ以上の方法を使用して、IPv6 アドレスの一覧と予想されるアドレスを比較します。 これらの IPv6 アドレスを名前付き場所に追加し、必要に応じて一部を信頼済みとしてマークすることを検討してください。 サインイン ログを読み取るには少なくとも Reports 閲覧者ロールが割り当てられている必要があります。

Azure portal

  1. Azure ポータルレポート閲覧者、セキュリティ閲覧者、グローバル閲覧者、セキュリティ管理者、またはその他のロールとしてアクセス許可を持ってサインインします。
  2. Microsoft Entra ID>Sign-in ログを参照します。
  3. + フィルターの追加>IP アドレスを選択し、Apply を選択します。
  4. [ip アドレスによる フィルター ボックスにコロン (:) を挿入します。
  5. 必要に応じて、このログ エントリの一覧を JSON または CSV 形式にダウンロードして、さらに処理します。

Log Analytics

組織で Log Analytics を使用している場合は、次のクエリを使用してログ内の IPv6 アドレスを照会できます。

union SigninLogs, AADNonInteractiveUserSignInLogs
| where IPAddress has ":"
| summarize RequestCount = count() by IPAddress, AppDisplayName, NetworkLocationDetails
| sort by RequestCount

PowerShell

組織では、次の PowerShell スクリプトを使用して、Microsoft Graph PowerShell Microsoft Entra サインイン ログに対してクエリを実行。 このスクリプトでは、アプリケーションと共に IPv6 アドレスの一覧と、それが表示される回数を提供します。

$tId = "TENANT ID"  # Add the Azure Active Directory tenant ID.
$agoDays = 2  # Will filter the log for $agoDays from the current date and time.
$startDate = (Get-Date).AddDays(-($agoDays)).ToString('yyyy-MM-dd')  # Get filter start date.
$pathForExport = "./"  # The path to the local filesystem for export of the CSV file. 

Connect-MgGraph -Scopes "AuditLog.Read.All" -TenantId $tId 

# Get both interactive and non-interactive IPv6 sign-ins.
$signInsInteractive = Get-MgAuditLogSignIn -Filter "contains(IPAddress, ':')" -All
$signInsNonInteractive = Get-MgAuditLogSignIn -Filter "contains(IPAddress, ':')" -All 

# Summarize IPv6 & app display name count.
$signInsInteractive |
    Group-Object IPaddress, AppDisplayName |
    Select-Object @{Name = 'IPaddress'; Expression = {$_.Group[0].IPaddress}},
        @{Name = 'AppDisplayName'; Expression = {$_.Group[0].AppDisplayName}},
        Count |
    Sort-Object -Property Count –Descending |
    Export-Csv -Path ($pathForExport + "Summary_Interactive_IPv6_$tId.csv") -NoTypeInformation
$signInsNonInteractive |
    Group-Object IPaddress, AppDisplayName |
    Select-Object @{Name = 'IPaddress'; Expression = {$_.Group[0].IPaddress}},
        @{Name = 'AppDisplayName'; Expression = {$_.Group[0].AppDisplayName}},
        Count |
    Sort-Object -Property Count –Descending |
    Export-Csv -Path ($pathForExport + "Summary_NonInteractive_IPv6_$tId.csv") -NoTypeInformation

次のステップ

この記事は引き続き更新されます。 更新された情報と新しい情報に戻るために使用できる短いリンクを次に示します: https://aka.ms/azureadipv6

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。