다음을 통해 공유


AD FS의 복합 인증 및 AD DS 클레임

Windows Server 2012는 복합 인증을 도입하여 Kerberos 인증을 향상시킵니다. 복합 인증을 사용하면 Kerberos TGS(Ticket-Granting Service) 요청에 다음 두 개의 ID를 포함할 수 있습니다.

  • 사용자 ID
  • 사용자 디바이스의 ID입니다.

Windows는 Kerberos FAST(Flexible Authentication Secure Tunneling) 또는 Kerberos 아머링(armoring)을 확장하여 복합 인증을 수행합니다.

AD FS 2012 이상 버전을 사용하면 Kerberos 인증 티켓에 상주하는 AD DS 발급 사용자 또는 디바이스 클레임을 사용할 수 있습니다. 이전 버전의 AD FS에서 클레임 엔진은 Kerberos에서 사용자 및 그룹 SID(보안 ID)만 읽을 수 있으며, Kerberos 티켓에 포함된 클레임 정보는 읽을 수 없었습니다.

AD DS(Active Directory Domain Services)에서 발급한 사용자 및 디바이스 클레임과 AD FS(Active Directory Federation Services)를 함께 사용하여 페더레이션된 애플리케이션에 대한 다양한 액세스 제어를 활성화할 수 있습니다.

요구 사항

  1. 페더레이션된 애플리케이션에 액세스하는 컴퓨터는 Windows 통합 인증을 사용하여 AD FS에 인증해야 합니다.

    • Windows 통합 인증은 백 엔드 AD FS 서버에 연결할 때만 사용할 수 있습니다.
    • 컴퓨터는 페더레이션 서비스 이름에 대한 백 엔드 AD FS 서버에 연결할 수 있어야 합니다.
    • AD FS 서버는 Windows 통합 인증을 인트라넷 설정에서 기본 인증 방법으로 제공해야 합니다.
  2. 클레임 복합 인증 및 Kerberos 아머링(armoring)에 대한 Kerberos 클라이언트 지원 정책은 복합 인증으로 보호되는 페더레이션된 애플리케이션에 액세스하는 모든 컴퓨터에 적용되어야 합니다. 단일 포리스트 또는 상호 포리스트 시나리오에 적용할 수 있습니다.

  3. AD FS 서버가 속한 도메인에는 도메인 컨트롤러에 적용된 클레임 복합 인증 및 Kerberos 아머링(armoring)에 대한 KDC 지원 정책 설정이 있어야 합니다.

Windows Server 2012 R2의 AD FS 구성 단계

복합 인증 및 클레임을 구성하려면 다음 단계를 사용합니다

1단계: 기본 도메인 컨트롤러 정책에서 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 KDC 지원 활성화

  1. 서버 관리자에서 도구, 그룹 정책 관리를 선택합니다.
  2. 기본 도메인 컨트롤러 정책으로 이동하여 마우스 오른쪽 클릭 후, 편집을 선택합니다. 그룹 정책 관리 대화 상자의 기본 도메인 정책 페이지를 보여 주는 스크린샷.
  3. 그룹 정책 관리 편집기컴퓨터 구성에서 정책, 관리 템플릿, 시스템을 차례로 확장한 후, KDC를 선택합니다.
  4. 오른쪽 창에서 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 KDC 지원을 두 번 클릭합니다. 클레임, 복합 인증 및 Kerberos 아머링(armoring) 설정에 대한 KDC 지원 설정이 강조 표시된 그룹 정책 관리 편집기의 스크린샷.
  5. 새 대화 상자 창에서 클레임에 대한 KDC 지원을 사용으로 설정합니다.
  6. 옵션 아래의 드롭다운 메뉴에서 지원됨을 선택한 다음 적용확인을 클릭합니다. 지원됨 옵션이 선택된 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 KDC 지원 대화 상자의 스크린샷.

2단계: 페더레이션된 애플리케이션에 액세스하는 컴퓨터에서 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 Kerberos 클라이언트 지원 사용

  1. 페더레이션된 애플리케이션에 액세스하는 컴퓨터에 적용된 그룹 정책 중, 그룹 정책 관리 편집기컴퓨터 구성에서 정책, 관리 템플릿, 시스템을 차례로 확장한 후, Kerberos를 선택합니다.
  2. 그룹 정책 관리 편집기 창의 오른쪽 창에서 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 Kerberos 클라이언트 지원을 두 번 클릭합니다.
  3. 새 대화 상자 창에서 Kerberos 클라이언트 지원을 사용으로 설정하고 적용확인을 클릭합니다. 사용 옵션이 선택된 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 KDC 지원 대화 상자의 스크린샷.
  4. 그룹 정책 관리 편집기를 닫습니다.

3단계: AD FS 서버가 업데이트되었는지 확인합니다.

AD FS 서버에 다음 업데이트가 설치되어 있는지 확인해야 합니다.

엽데이트 설명
KB2919355 누적 보안 업데이트(KB2919355,KB2932046,KB2934018,KB2937592,KB2938439 포함)
KB2959977 Server 2012 R2 업데이트
핫픽스 3052122 해당 업데이트는 Active Directory Federation Services의 복합 ID 클레임 지원을 추가합니다.

4단계: 기본 인증 공급자 구성

  1. AD FS 인트라넷 설정에서 기본 인증 공급자를 Windows 인증으로 설정합니다.

  2. AD FS 관리의 인증 정책에서 기본 인증을 선택하고, 전역 설정에서 편집을 클릭합니다.

  3. 인트라넷전역 인증 정책 편집에서 Windows 인증을 선택합니다.

  4. 적용확인을 클릭합니다.

    Windows 인증 옵션이 선택된 전역 인증 정책 편집 대화 상자의 스크린샷.

  5. PowerShell을 사용하여 Set-AdfsGlobalAuthenticationPolicy cmdlet을 사용할 수 있습니다.

Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider 'WindowsAuthentication'

참고 항목

WID 기반 팜에서 PowerShell 명령은 기본 AD FS 서버에서 실행되어야 합니다. SQL 기반 팜에서 PowerShell 명령은 해당 팜의 멤버인 모든 AD FS 서버에서 실행될 수 있습니다.

5단계: AD FS에 클레임 설명 추가

  1. 팜에 다음 클레임 설명을 추가합니다. 이 클레임 설명은 기본적으로 AD FS 2012 R2에 표시되지 않으며 수동으로 추가해야 합니다.

  2. AD FS 관리의 서비스에서 클레임 설명을 마우스 오른쪽 클릭하고 클레임 설명 추가를 선택합니다.

  3. 클레임 설명에 다음 정보를 입력합니다.

    • 표시 이름: 'Windows 디바이스 그룹'
    • 클레임 설명: '<https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup>' `
  4. 두 상자를 모두 확인 표시합니다.

  5. 확인을 클릭합니다.

    클레임 설명 추가 대화 상자의 스크린샷.

  6. PowerShell을 사용하여 Add-AdfsClaimDescription cmdlet을 사용할 수 있습니다.

    Add-AdfsClaimDescription -Name 'Windows device group' -ClaimType 'https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup' `
    -ShortName 'windowsdevicegroup' -IsAccepted $true -IsOffered $true -IsRequired $false -Notes 'The windows group SID of the device'
    

참고 항목

WID 기반 팜에서 PowerShell 명령은 기본 AD FS 서버에서 실행되어야 합니다. SQL 기반 팜에서 PowerShell 명령은 해당 팜의 멤버인 모든 AD FS 서버에서 실행될 수 있습니다.

6단계: msDS-SupportedEncryptionTypes 특성에서 복합 인증 비트 사용

  1. Set-ADServiceAccount PowerShell cmdlet을 사용하여 AD FS 서비스를 실행할 계정의 msDS-SupportedEncryptionTypes 특성에서 복합 인증 비트를 사용으로 설정합니다.

참고 항목

서비스 계정을 변경하는 경우 Set-ADUser -compoundIdentitySupported:$true Windows PowerShell cmdlet을 실행하여 복합 인증을 수동으로 설정해야 합니다.

Set-ADServiceAccount -Identity “ADFS Service Account” -CompoundIdentitySupported:$true
  1. AD FS 서비스를 다시 시작합니다.

참고 항목

'CompoundIdentitySupported'가 true로 설정되면, 새 서버(2012R2/2016)의 동일한 gMSA 설치가 Install-ADServiceAccount: 서비스 계정을 설치할 수 없습니다. 오류 메시지: '제공된 컨텍스트가 대상과 일치하지 않습니다.' 오류로 인해 실패합니다.

해결 방법: 임시로 CompoundIdentitySupported를 $false로 설정합니다. 이 단계를 수행하면 AD FS에서 WindowsDeviceGroup 클레임 발급을 중지합니다. Set-ADServiceAccount -Identity 'ADFS Service Account' -CompoundIdentitySupported:$false 새 서버에 gMSA를 설치한 후, CompoundIdentitySupported를 다시 $True로 설정합니다. CompoundIdentitySupported 비활성화한 후 다시 활성화해도 AD FS 서비스를 다시 시작할 필요가 없습니다.

7단계: Active Directory에 대한 AD FS 클레임 공급자 트러스트 업데이트

  1. 'WindowsDeviceGroup' 클레임에 대한 다음 '통과' 클레임 규칙을 포함하도록 Active Directory에 대한 AD FS 클레임 공급자 트러스트를 업데이트합니다.
  2. AD FS 관리에서 클레임 공급자 트러스트를 클릭하고 오른쪽 창에서 Active Directory를 마우스 오른쪽 클릭하고 클레임 규칙 편집을 선택합니다.
  3. Active Directory에 대한 클레임 규칙 편집에서 규칙 추가를 클릭합니다.
  4. 변환 클레임 규칙 추가 마법사에서 들어오는 클레임 통과 또는 필터링을 선택하고 다음을 클릭합니다.
  5. 표시 이름을 추가하고 들어오는 클레임 유형 드롭다운에서 Windows 디바이스 그룹을 선택합니다.
  6. Finish를 클릭합니다. 적용확인을 클릭합니다. 위에서 설명한 워크플로의 화살표 및 호출이 있는 Windows 디바이스 그룹 대화 상자의 AD FS, Active Directory에 대한 클레임 규칙 편집 및 규칙 편집 스크린샷.

8단계: 'WindowsDeviceGroup' 클레임이 예상되는 신뢰 당사자에서 유사한 '통과' 또는 '변환' 클레임 규칙을 추가합니다.

  1. AD FS 관리에서 신뢰 당사자 트러스트를 클릭하고 오른쪽 창에서 RP를 마우스 오른쪽 클릭하고 클레임 규칙 편집을 선택합니다.
  2. 발급 변환 규칙에서 규칙 추가를 클릭합니다.
  3. 변환 클레임 규칙 추가 마법사에서 들어오는 클레임 통과 또는 필터링을 선택하고 다음을 클릭합니다.
  4. 표시 이름을 추가하고 들어오는 클레임 유형 드롭다운에서 Windows 디바이스 그룹을 선택합니다.
  5. Finish를 클릭합니다. 적용확인을 클릭합니다. 위에서 설명한 워크플로의 화살표 및 호출이 있는 Windows 디바이스 Grp 대화 상자의 AD FS, myclaims.fedhome.in에 대한 클레임 규칙 편집 및 규칙 편집 스크린샷.

Windows Server 2016 R2의 AD FS 구성 단계

다음은 Windows Server 2016용 AD FS에서 복합 인증 구성 단계를 자세히 설명합니다.

1단계: 기본 도메인 컨트롤러 정책에서 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 KDC 지원 활성화

  1. 서버 관리자에서 도구, 그룹 정책 관리를 선택합니다.
  2. 기본 도메인 컨트롤러 정책으로 이동하여 마우스 오른쪽 클릭 후, 편집을 선택합니다.
  3. 그룹 정책 관리 편집기컴퓨터 구성에서 정책, 관리 템플릿, 시스템을 차례로 확장한 후, KDC를 선택합니다.
  4. 오른쪽 창에서 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 KDC 지원을 두 번 클릭합니다.
  5. 새 대화 상자 창에서 클레임에 대한 KDC 지원을 사용으로 설정합니다.
  6. 옵션 아래의 드롭다운 메뉴에서 지원됨을 선택한 다음 적용확인을 클릭합니다.

2단계: 페더레이션된 애플리케이션에 액세스하는 컴퓨터에서 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 Kerberos 클라이언트 지원 사용

  1. 페더레이션된 애플리케이션에 액세스하는 컴퓨터에 적용된 그룹 정책 중, 그룹 정책 관리 편집기컴퓨터 구성에서 정책, 관리 템플릿, 시스템을 차례로 확장한 후, Kerberos를 선택합니다.
  2. 그룹 정책 관리 편집기 창의 오른쪽 창에서 클레임, 복합 인증 및 Kerberos 아머링(armoring)에 대한 Kerberos 클라이언트 지원을 두 번 클릭합니다.
  3. 새 대화 상자 창에서 Kerberos 클라이언트 지원을 사용으로 설정하고 적용확인을 클릭합니다.
  4. 그룹 정책 관리 편집기를 닫습니다.

3단계: 기본 인증 공급자 구성

  1. AD FS 인트라넷 설정에서 기본 인증 공급자를 Windows 인증으로 설정합니다.
  2. AD FS 관리의 인증 정책에서 기본 인증을 선택하고, 전역 설정에서 편집을 클릭합니다.
  3. 인트라넷전역 인증 정책 편집에서 Windows 인증을 선택합니다.
  4. 적용확인을 클릭합니다.
  5. PowerShell을 사용하여 Set-AdfsGlobalAuthenticationPolicy cmdlet을 사용할 수 있습니다.
Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider 'WindowsAuthentication'

참고 항목

WID 기반 팜에서 PowerShell 명령은 기본 AD FS 서버에서 실행되어야 합니다. SQL 기반 팜에서 PowerShell 명령은 해당 팜의 멤버인 모든 AD FS 서버에서 실행될 수 있습니다.

4단계: msDS-SupportedEncryptionTypes 특성에서 복합 인증 비트 사용

  1. Set-ADServiceAccount PowerShell cmdlet을 사용하여 AD FS 서비스를 실행할 계정의 msDS-SupportedEncryptionTypes 특성에서 복합 인증 비트를 사용으로 설정합니다.

참고 항목

서비스 계정을 변경하는 경우 Set-ADUser -compoundIdentitySupported:$true Windows PowerShell cmdlet을 실행하여 복합 인증을 수동으로 설정해야 합니다.

Set-ADServiceAccount -Identity “ADFS Service Account” -CompoundIdentitySupported:$true
  1. AD FS 서비스를 다시 시작합니다.

참고 항목

'CompoundIdentitySupported'가 true로 설정되면, 새 서버(2012R2/2016)의 동일한 gMSA 설치가 Install-ADServiceAccount: 서비스 계정을 설치할 수 없습니다. 오류 메시지: '제공된 컨텍스트가 대상과 일치하지 않습니다.' 오류로 인해 실패합니다.

해결 방법: 임시로 CompoundIdentitySupported를 $false로 설정합니다. 이 단계를 수행하면 AD FS에서 WindowsDeviceGroup 클레임 발급을 중지합니다. Set-ADServiceAccount -Identity 'ADFS Service Account' -CompoundIdentitySupported:$false 새 서버에 gMSA를 설치한 후, CompoundIdentitySupported를 다시 $True로 설정합니다. CompoundIdentitySupported 비활성화한 후 다시 활성화해도 AD FS 서비스를 다시 시작할 필요가 없습니다.

5단계: Active Directory의 AD FS 클레임 공급자 트러스트 업데이트

  1. 'WindowsDeviceGroup' 클레임에 대한 다음 '통과' 클레임 규칙을 포함하도록 Active Directory에 대한 AD FS 클레임 공급자 트러스트를 업데이트합니다.
  2. AD FS 관리에서 클레임 공급자 트러스트를 클릭하고 오른쪽 창에서 Active Directory를 마우스 오른쪽 클릭하고 클레임 규칙 편집을 선택합니다.
  3. Active Directory에 대한 클레임 규칙 편집에서 규칙 추가를 클릭합니다.
  4. 변환 클레임 규칙 추가 마법사에서 들어오는 클레임 통과 또는 필터링을 선택하고 다음을 클릭합니다.
  5. 표시 이름을 추가하고 들어오는 클레임 유형 드롭다운에서 Windows 디바이스 그룹을 선택합니다.
  6. Finish를 클릭합니다. 적용확인을 클릭합니다.

6단계: 'WindowsDeviceGroup' 클레임이 예상되는 신뢰 당사자에서 유사한 '통과' 또는 '변환' 클레임 규칙을 추가합니다.

  1. AD FS 관리에서 신뢰 당사자 트러스트를 클릭하고 오른쪽 창에서 RP를 마우스 오른쪽 클릭하고 클레임 규칙 편집을 선택합니다.
  2. 발급 변환 규칙에서 규칙 추가를 클릭합니다.
  3. 변환 클레임 규칙 추가 마법사에서 들어오는 클레임 통과 또는 필터링을 선택하고 다음을 클릭합니다.
  4. 표시 이름을 추가하고 들어오는 클레임 유형 드롭다운에서 Windows 디바이스 그룹을 선택합니다.
  5. Finish를 클릭합니다. 적용확인을 클릭합니다.

유효성 검사

'WindowsDeviceGroup' 클레임 릴리스의 유효성을 검사하려면 .Net 4.6을 사용하여 테스트 클레임 인식 애플리케이션을 생성합니다. WIF SDK 4.0 사용. AD FS에서 애플리케이션을 신뢰 당사자로 구성하고 위의 단계에서 지정한 클레임 규칙으로 업데이트합니다. AD FS의 Windows 통합 인증 공급자를 사용하여 애플리케이션에 인증하는 경우, 다음 클레임이 생성됩니다. 유효성 검사

이제 컴퓨터/디바이스에 대한 클레임을 더 다양한 액세스 제어에 사용할 수 있습니다.

예를 들어, 다음 AdditionalAuthenticationRules는 인증 사용자가 보안 그룹 “-1-5-21-2134745077-1211275016-3050530490-1117”의 구성원이 아니며 컴퓨터(사용자가 인증하는 위치)가 보안 그룹 "S-1-5-21-2134745077-1211275016-3050530490-1115(WindowsDeviceGroup)"의 구성원이 아닌 경우, AD FS에 MFA를 호출하도록 지시합니다.

단, 위의 조건이 충족되면 MFA를 호출하지 마세요.

'NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup", Value =~ "S-1-5-21-2134745077-1211275016-3050530490-1115"])
&& NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value =~ "S-1-5-21-2134745077-1211275016-3050530490-1117"])
=> issue(Type = "https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", Value = "https://schemas.microsoft.com/claims/multipleauthn");'