Microsoft Entra ID IPv6 지원

참고

이 문서가 도움이 되었나요? 귀하의 입력은 우리에게 중요합니다. 이 페이지의 피드백 단추를 사용하여 이 문서가 얼마나 잘 작동했는지 또는 어떻게 개선할 수 있는지 알려주세요.

IPv6 지원을 Microsoft Entra ID 도입하고, 이동성이 향상된 고객을 지원하고, 고갈되고 비용이 많이 드는 IPv4 주소에 대한 지출을 줄일 수 있게 되어 기쁩니다. 이 변경이 Microsoft 365에 미치는 영향에 대한 자세한 내용은 Microsoft 365 서비스의 IPv6 지원을 참조하세요.

organization 네트워크가 현재 IPv6을 지원하지 않는 경우 이러한 시간까지 이 정보를 안전하게 무시할 수 있습니다.

변경 내용

이제 서비스 엔드포인트 URL은 IPv4 및 IPv6 주소를 모두 반환하도록 resolve. 클라이언트 플랫폼 또는 네트워크에서 IPv6을 지원하는 경우 연결은 대부분 IPv6을 사용하여 시도됩니다. 그 사이에 있는 네트워크 홉(예: 방화벽 또는 웹 프록시)도 IPv6을 지원한다고 가정합니다. IPv6을 지원하지 않는 환경의 경우 클라이언트 애플리케이션은 IPv4를 통해 Microsoft Entra ID 계속 연결합니다.

다음 기능은 IPv6 주소도 지원합니다.

  • 명명된 위치
  • 조건부 액세스 정책
  • ID 보호
  • 로그인 로그

Microsoft Entra ID IPv6는 언제 지원되나요?

2023년 4월에 Microsoft Entra ID IPv6 지원을 도입할 예정입니다.

IPv6 지원은 일부 조직에 중요한 변화라는 것을 알고 있습니다. 이제 고객이 준비 상태를 보장하기 위한 계획을 세일 수 있도록 이 정보를 게시하고 있습니다.

organization 수행해야 하는 작업은 무엇인가요?

네트워크를 나타내는 공용 IPv6 주소가 있는 경우 가능한 한 빨리 다음 섹션에 설명된 작업을 수행합니다.

고객이 이러한 IPv6 주소로 명명된 위치를 업데이트하지 않으면 사용자가 차단됩니다.

네트워크 위치로 인해 차단된 사용자 로그인을 보여 주는 스크린샷

수행할 작업

명명된 위치

명명된 위치는 조건부 액세스, ID 보호 및 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 cmdlet을 사용하여 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 cmdlet을 실행하여 클라이언트가 에 대한 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단계: 스크립트 만들기

폴더를 만든 다음 배포에 사용할 .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 파일을 선택합니다. 확인을 선택하여 계속합니다.

  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. 검토 + 만들기 페이지에서 정보를 마지막으로 검토합니다. 유효성 검사를 완료한 후 만들기 를 선택하여 애플리케이션을 만듭니다.

로그인 로그에서 IPv6 주소 찾기

다음 방법 중 하나 이상을 사용하여 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 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.