Microsoft Entra IDでの IPv6 サポート

注:

この記事はお役に立ちましたか? お客様の入力は、当社にとって重要です。 このページの [フィードバック ] ボタンを使用して、この記事がどれだけうまく機能したか、または改善する方法をお知らせください。

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

organizationのネットワークが現在 IPv6 をサポートしていない場合は、このような時間が発生するまで、この情報を無視しても問題ありません。

何が変化していますか?

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

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

  • 名前付き場所
  • 条件付きアクセス ポリシー
  • ID 保護
  • サインイン ログ

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

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

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

organizationは何をする必要がありますか?

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

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

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

必要なアクション

名前付き場所

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

条件付きアクセス

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

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

クラウド プロキシと VPN

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

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

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

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

送信トラフィックの制限

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

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

デバイス構成

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

サービス エンドポイント

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

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

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

注:

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

  • Resolve-DnsName コマンドレットを使用して、NRPT 規則を検証することをお勧めします。 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 サインイン エンドポイントの NRPT 規則が作成されます login.microsfotonline.us

  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: スクリプトを作成する

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

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 ファイルとしてパッケージ化する

以前に保存したフォルダーとスクリプトから .intunewin ファイルを作成するには、「Win32 アプリのコンテンツをアップロード用に準備する」を参照してください。

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

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

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

  2. [ アプリ>] [すべてのアプリ] の順に選択し、[ + 追加] を選択して新しい Win32 アプリを作成します。

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

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

  5. [アプリ情報] ページに戻り、アプリケーションのわかりやすい名前説明発行元を入力します。 その他のフィールドは省略可能です。 [次へ] を選んで続行します。

  6. [ プログラム ] ページで、次の情報を入力し、[ 次へ] を選択します。

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

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

  9. [依存関係] ページで [次へ] を選択して、変更を加えずに続行します。

  10. [置き換え (プレビュー)] ページで [次へ] を選択して、変更を加えずに続行します。

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

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

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

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

Azure portal

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

Log Analytics

organizationで 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 フィードバック コミュニティに製品フィードバックを送信することもできます。