다음을 통해 공유


자습서: Kerberos 인증을 위한 F5 BIG-IP Access Policy Manager 구성

이 자습서에서는 F5 BIG-IP 고급 구성을 사용하여 Kerberos 애플리케이션에 대한 SSO(Single Sign-On)로 SHA(Secure Hybrid Access)를 구현하는 방법을 알아봅니다. Microsoft Entra SSO에 BIG-IP 게시된 서비스를 활성화하면 다음을 비롯한 다양한 혜택이 제공됩니다.

  • Microsoft Entra 사전 인증 및 조건부 액세스 보안 정책 적용 솔루션을 사용하여 제로 트러스트 거버넌스를 개선했습니다.
  • Microsoft Entra ID와 BIG-IP 게시 서비스 간의 전체 SSO
  • 단일 컨트롤 플레인인 Microsoft Entra 관리 센터에서 ID 관리 및 액세스

이점에 대한 자세한 내용은 Microsoft Entra ID와 F5 BIG-IP 통합을 참조하세요.

시나리오 설명

이 시나리오에서는 LOB(기간 업무) 애플리케이션에서 Windows 통합 인증이라고도 하는 Kerberos 인증을 구성합니다.

애플리케이션을 Microsoft Entra ID와 통합하려면 SAML(Security Assertion Markup Language)과 같은 페더레이션 기반 프로토콜의 지원이 필요합니다. 애플리케이션을 현대화하면 가동 중지 시간이 발생할 위험이 있기 때문에 다른 옵션도 있습니다.

SSO에 KCD(Kerberos 제한된 위임)를 사용하는 동안 Microsoft Entra 애플리케이션 프록시를 사용하여 애플리케이션에 원격으로 액세스할 수 있습니다. 레거시 애플리케이션을 최신 ID 컨트롤 플레인에 연결하기 위한 프로토콜 전환을 달성할 수 있습니다.

또 다른 방법은 F5 BIG-IP Application Delivery Controller를 사용하는 것입니다. 이 접근 방식을 통해 Microsoft Entra 사전 인증과 KCD SSO를 사용하여 애플리케이션의 오버레이가 가능합니다. 이는 애플리케이션의 전반적인 제로 트러스트 태세를 개선합니다.

시나리오 아키텍처

이 시나리오의 SHA 솔루션은 다음 요소로 구성됩니다.

  • 애플리케이션: BIG-IP에 의해 외부에 게시되고 SHA로 보호되는 백 엔드 Kerberos 기반 서비스입니다.

  • BIG-IP: 백 엔드 애플리케이션을 게시하기 위한 역방향 프록시 기능입니다. APM(Access Policy Manager)은 SAML SP(서비스 공급자) 및 SSO 기능을 사용하여 게시된 애플리케이션을 오버레이합니다.

  • Microsoft Entra ID: 사용자 자격 증명, Microsoft Entra 조건부 액세스 및 SAML을 통한 BIG-IP APM에 대한 SSO를 확인하는 IdP(ID 공급자)

  • KDC: Kerberos 티켓을 발급하는 DC(도메인 컨트롤러)의 키 배포 센터 역할

다음 이미지는 이 시나리오의 SAML SP 시작 흐름을 보여주지만 IdP 시작 흐름도 지원됩니다.

시나리오 아키텍처 다이어그램

사용자 흐름

  1. 사용자가 애플리케이션 엔드포인트(BIG-IP)에 연결합니다.
  2. BIG-IP 액세스 정책은 사용자를 Microsoft Entra ID(SAML IdP)로 리디렉션함
  3. Microsoft Entra ID는 사용자를 사전 인증하고 적용된 조건부 액세스 정책 적용
  4. 사용자가 BIG-IP(SAML SP)로 리디렉션되고, 발급된 SAML 토큰을 통해 SSO가 수행됩니다.
  5. BIG-IP가 사용자를 인증하고 KDC에서 Kerberos 티켓을 요청합니다.
  6. BIG-IP가 SSO를 위한 Kerberos 티켓과 함께 백 엔드 애플리케이션에 요청을 보냅니다.
  7. 애플리케이션이 요청을 승인하고 페이로드를 반환합니다.

필수 조건

이전 BIG-IP 환경은 필요하지 않습니다. 다음 작업을 수행해야 합니다.

  • Azure 무료 계정 또는 상위 계층 구독입니다.
  • BIG-IP 또는 Azure에 BIG-IP 가상 버전 배포입니다.
  • 다음 F5 BIG-IP 라이선스 중 하나:
    • F5 BIG-IP 최고의 번들
    • F5 BIG-IP APM 독립 실행형 라이선스
    • BIG-IP LTM(로컬 Traffic Manager)에 대한 F5 BIG-IP APM 추가 항목 라이선스
    • 90일 BIG-IP 무료 평가판 라이선스
  • 온-프레미스 디렉터리에서 Microsoft Entra ID로 동기화되거나 Microsoft Entra ID에서 만들어져 온-프레미스 디렉터리로 다시 전달되는 사용자 ID입니다.
  • Microsoft Entra에서 클라우드 애플리케이션 관리자 또는 애플리케이션 관리자 역할 중 하나입니다.
  • HTTPS를 통해 서비스를 게시하기 위한 웹 서버 인증서 또는 테스트하는 동안 기본 BIG-IP 인증서 사용
  • Kerberos 애플리케이션 또는 active-directory-wp.com 이동하여 Windows에서 IIS를 사용하여 SSO를 구성하는 방법을 알아봅니다.

BIG-IP 구성 방법

이 문서에서는 BIG-IP 구성 개체를 만드는 유연한 SHA 구현인 고급 구성에 대해 설명합니다. 단계별 구성 템플릿에서 다루지 않는 시나리오에 이 방법을 사용할 수 있습니다.

참고 항목

이 문서의 모든 예제 문자열 또는 값을 실제 환경에 대한 문자열과 값으로 바꿉니다.

Microsoft Entra ID에 F5 BIG-IP 등록

이 문서의 단계는 시작하는 포털에 따라 약간 다를 수도 있습니다.

BIG-IP가 Microsoft Entra ID에 사전 인증을 전달하려면 먼저 테넌트에 등록합니다. 이 프로세스는 두 엔터티 간에 SSO를 시작합니다. F5 BIG-IP 갤러리 템플릿에서 만드는 앱은 BIG-IP 게시 애플리케이션의 SAML SP를 나타내는 신뢰 당사자입니다.

  1. 최소한 클라우드 애플리케이션 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. ID>애플리케이션>엔터프라이즈 애플리케이션>모든 애플리케이션으로 이동한 다음 새 애플리케이션을 선택합니다.

  3. Microsoft Entra 갤러리 찾아보기 창이 나타나고 클라우드 플랫폼, 온-프레미스 애플리케이션 및 추천 애플리케이션에 대한 타일이 표시됩니다. 추천 애플리케이션 섹션의 애플리케이션에는 페더레이션된 SSO 및 프로비저닝을 지원하는지 여부를 나타내는 아이콘이 있습니다.

  4. Azure 갤러리에서 F5를 검색하고 F5 BIG-IP APM Microsoft Entra ID 통합을 선택합니다.

  5. 새 애플리케이션의 이름을 입력하여 애플리케이션 인스턴스를 인식합니다.

  6. 추가/만들기를 선택하여 테넌트에 추가합니다.

F5 BIG-IP에 SSO 사용

BIG-IP 등록을 구성하여 BIG-IP APM에서 요청한 SAML 토큰을 완료합니다.

  1. 왼쪽 메뉴의 관리 섹션에서 Single Sign-On을 선택합니다. Single Sign-On 창이 나타납니다.
  2. Single Sign-On 방법 선택 페이지에서 SAML을 선택합니다. 아니요, 나중에 저장을 선택하여 프롬프트를 건너뜁니다.
  3. SAML로 Single Sign-On 설정 창에서 아이콘을 선택하여 기본 SAML 구성을 편집합니다.
  4. 미리 정의된 식별자 값을 BIG-IP 게시 애플리케이션의 전체 URL로 바꿉니다.
  5. 회신 URL 값을 바꿉니다. 단, 애플리케이션의 SAML SP 엔드포인트 경로는 그대로 유지합니다.

참고 항목

이 구성에서 SAML 흐름은 IdP 시작 모드에서 작동합니다. Microsoft Entra ID는 사용자가 애플리케이션의 BIG-IP 엔드포인트로 리디렉션되기 전에 SAML 어설션을 발급합니다.

  1. SP 시작 모드를 사용하려면 로그온 URL에 애플리케이션 URL을 입력합니다.

  2. 로그아웃 URL의 경우 게시 중인 서비스의 호스트 헤더가 앞에 추가된 BIG-IP APM SLO(단일 로그아웃) 엔드포인트를 입력합니다. 이 작업을 수행하면 사용자가 Microsoft Entra ID에서 로그아웃한 후 사용자의 BIG-IP APM 세션이 종료됩니다.

    기본 SAML 구성의 URL 항목 스크린샷.

참고 항목

BIG-IP TMOS(트래픽 관리 운영 체제) v16에서 SAML SLO 엔드포인트가 /saml/sp/profile/redirect/slo로 변경되었습니다.

  1. SAML 구성을 닫기 전에 저장을 선택합니다.
  2. SSO 테스트 프롬프트를 건너뜁니다.
  3. 사용자 특성 및 클레임 섹션의 속성을 확인합니다. Microsoft Entra ID는 백 엔드 애플리케이션에 대한 BIG-IP APM 인증 및 SSO를 위해 사용자에게 속성을 발급합니다.
  4. 페더레이션 메타데이터 XML 파일을 컴퓨터에 저장하려면 SAML 서명 인증서 창에서 다운로드를 선택합니다.

참고 항목

Microsoft Entra ID가 만든 SAML 서명 인증서의 수명은 3년입니다. 자세한 내용은 페더레이션된 Single Sign-On에 대한 인증서 관리를 참조하세요.

사용자 및 그룹에 액세스 권한 부여

기본적으로 Microsoft Entra ID는 애플리케이션에 대한 액세스 권한이 부여된 사용자에게 토큰을 발급합니다. 사용자 및 그룹에 애플리케이션 액세스 권한을 부여하려면:

  1. F5 BIG-IP 애플리케이션의 개요 창에서 사용자 및 그룹 할당을 선택합니다.

  2. + 사용자/그룹 추가를 선택합니다.

    사용자 및 그룹의 사용자 또는 그룹 추가 옵션 스크린샷.

  3. 사용자 및 그룹을 선택한 다음, 할당을 선택합니다.

Active Directory Kerberos 제한 위임 구성

BIG-IP APM이 사용자를 대신하여 백 엔드 애플리케이션에 대한 SSO를 수행하려면 대상 AD(Active Directory) 도메인에서 KCD를 구성합니다. 인증을 위임하려면 도메인 서비스 계정으로 BIG-IP APM을 프로비전해야 합니다.

이 시나리오에서는 애플리케이션이 APP-VM-01 서버에 호스트되고 컴퓨터의 ID가 아닌 web_svc_account라는 서비스 계정의 컨텍스트에서 실행됩니다. APM에 할당된 위임 서비스 계정을 F5-BIG-IP라고 합니다.

BIG-IP APM 위임 계정 만들기

BIG-IP는 gMSA(그룹 관리되는 서비스 계정)를 지원하지 않으므로, APM 서비스 계정용 표준 사용자 계정을 만듭니다.

  1. 다음 PowerShell 명령을 입력합니다. UserPrincipalNameSamAccountName 값을 환경 값으로 바꿉니다. 보안을 강화하려면 애플리케이션의 호스트 헤더와 일치하는 전용 SPN(서비스 사용자 이름)을 사용합니다.

    New-ADUser -Name "F5 BIG-IP Delegation Account" UserPrincipalName $HOST_SPN SamAccountName "f5-big-ip" -PasswordNeverExpires $true Enabled $true -AccountPassword (Read-Host -AsSecureString "Account Password")

    HOST_SPN = host/f5-big-ip.contoso.com@contoso.com

    참고 항목

    호스트를 사용하는 경우 호스트에서 실행되는 모든 애플리케이션은 계정을 위임하는 반면 HTTPS를 사용하는 경우 HTTP 프로토콜 관련 작업만 허용합니다.

  2. 웹 애플리케이션 서비스 계정에 대한 위임 중에 사용할 APM 서비스 계정의 SPN(서비스 사용자 이름)을 만듭니다.

    Set-AdUser -Identity f5-big-ip -ServicePrincipalNames @Add="host/f5-big-ip.contoso.com"}

    참고 항목

    host/ 파트를 UserPrincipleName(host/name.domain@domain) 또는 ServicePrincipleName(host/name.domain) 형식으로 포함해야 합니다.

  3. 대상 SPN을 지정하기 전에 해당 SPN 구성을 확인합니다. SPN이 APM 서비스 계정에 대해 표시되는지 확인합니다. APM 서비스 계정은 웹 애플리케이션을 위임합니다.

    • 웹 애플리케이션이 컴퓨터 컨텍스트 또는 전용 서비스 계정에서 실행 중인지 확인합니다.

    • 컴퓨터 컨텍스트의 경우 다음 명령을 사용하여 Active Directory의 계정 개체를 쿼리하면 정의된 SPN을 확인할 수 있습니다. <name_of_account>를 현재 환경에 해당하는 계정으로 바꿉니다.

      Get-ADComputer -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

      예: Get-ADUser -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

    • 전용 서비스 계정의 경우 다음 명령을 사용하여 Active Directory의 계정 개체를 쿼리하면 정의된 SPN을 확인할 수 있습니다. <name_of_account>를 현재 환경에 해당하는 계정으로 바꿉니다.

      Get-ADUser -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

      예: Get-ADComputer -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

  4. 앱이 컴퓨터 컨텍스트에서 실행된 경우 Active Directory의 컴퓨터 계정 개체에 SPN을 추가합니다.

    Set-ADComputer -Identity APP-VM-01 -ServicePrincipalNames @{Add="http/myexpenses.contoso.com"}

SPN이 정의된 상태에서 APM 서비스 계정이 해당 서비스에 위임할 신뢰를 설정합니다. 이 구성은 BIG-IP 인스턴스 및 애플리케이션 서버의 토폴로지에 따라 달라집니다.

동일한 도메인에서 BIG-IP 및 대상 애플리케이션 구성

  1. APM 서비스 계정이 인증을 위임하도록 신뢰 설정

    Get-ADUser -Identity f5-big-ip | Set-ADAccountControl -TrustedToAuthForDelegation $true

  2. APM 서비스 계정은 위임하도록 신뢰할 수 있는 대상 SPN을 알아야 합니다. 웹 애플리케이션을 실행하는 서비스 계정을 대상 SPN으로 설정합니다.

    Set-ADUser -Identity f5-big-ip -Add @{'msDS-AllowedToDelegateTo'=@('HTTP/myexpenses.contoso.com')}

    참고 항목

    도메인 컨트롤러의 Active Directory 사용자 및 컴퓨터, MMC(Microsoft Management Console) 스냅인을 통해 이 작업을 완료할 수 있습니다.

서로 다른 도메인에서 BIG-IP 및 대상 애플리케이션 구성

Windows Server 2012 버전 이상에서 도메인 간 KCD에는 RBCD(리소스 기반 제한된 위임)가 사용됩니다. 서비스의 제약 조건이 도메인 관리자에서 서비스 관리자로 전송되었습니다. 이 위임으로 백 엔드 서비스 관리자가 SSO를 허용하거나 거부할 수 있습니다. 이 경우 PowerShell 또는 ADSI Edit(Active Directory 서비스 인터페이스 편집기)를 사용하는 경우 가능한 다른 접근 방식을 구성 위임에 만듭니다.

애플리케이션 서비스 계정(컴퓨터 또는 전용 서비스 계정)의 PrincipalsAllowedToDelegateToAccount 속성을 사용하여 BIG-IP의 위임을 부여할 수 있습니다. 이 시나리오에서는 애플리케이션과 동일한 도메인 내의 도메인 컨트롤러(Windows Server 2012 R2 이상)에서 다음 PowerShell 명령을 사용합니다.

웹 애플리케이션 서비스 계정에 대해 정의된 SPN을 사용합니다. 보안 강화를 위해 애플리케이션의 호스트 헤더와 일치하는 전용 SPN을 사용합니다. 예를 들어, 이 예의 웹 애플리케이션 호스트 헤더가 myexpenses.contoso.com이기 때문에 AD(Active Directory)의 애플리케이션 서비스 계정 개체에 HTTP/myexpenses.contoso.com을 추가합니다.

Set-AdUser -Identity web_svc_account -ServicePrincipalNames @{Add="http/myexpenses.contoso.com"}

다음 명령의 경우 컨텍스트를 확인합니다.

web_svc_account 서비스가 사용자 계정 컨텍스트에서 실행되는 경우 다음 명령을 사용합니다.

$big-ip= Get-ADComputer -Identity f5-big-ip -server dc.contoso.com Set-ADUser -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount $big-ip Get-ADUser web_svc_account -Properties PrincipalsAllowedToDelegateToAccount

web_svc_account 서비스가 컴퓨터 계정 컨텍스트에서 실행되는 경우 다음 명령을 사용합니다.

$big-ip= Get-ADComputer -Identity f5-big-ip -server dc.contoso.com Set-ADComputer -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount $big-ip Get-ADComputer web_svc_account -Properties PrincipalsAllowedToDelegateToAccount

자세한 내용은 도메인 간의 Kerberos 제한 위임을 참조하세요.

BIG-IP 고급 구성

다음 섹션을 사용하여 BIG-IP 구성을 계속 설정합니다.

SAML 서비스 공급자 설정 구성

SAML 서비스 공급자 설정은 APM이 SAML 사전 인증으로 레거시 애플리케이션을 오버레이하는 데 사용하는 SAML SP 속성을 정의합니다. 구성하려면 다음을 수행합니다.

  1. 브라우저에서 F5 BIG-IP 관리 콘솔에 로그인합니다.

  2. 액세스>페더레이션>SAML 서비스 공급자>로컬 SP 서비스>만들기를 선택합니다.

    로컬 SP 서비스의 SAML 서비스 공급자에 있는 만들기 옵션 스크린샷.

  3. Microsoft Entra ID에 대한 SSO를 구성할 때 저장한 이름엔터티 ID 값을 입력합니다.

    새 SAML SP 서비스 만들기의 이름 및 엔터티 ID 항목 스크린샷.

  4. SAML 엔터티 ID가 게시된 애플리케이션의 URL과 정확히 일치하는 경우에는 SP 이름 설정을 건너뛸 수 있습니다. 예를 들어, 엔터티 ID가 urn:myexpenses:contosoonline인 경우 스키마 값은 https입니다. 호스트 값은 myexpenses.contoso.com입니다. 엔터티 ID가 “https://myexpenses.contoso.com"”인 경우에는 이 정보를 제공하지 않아도 됩니다.

외부 IdP 커넥터 구성

SAML IdP 커넥터는 BIG-IP APM에 대한 설정을 정의하여 Microsoft Entra ID를 SAML IdP로 신뢰합니다. 이 설정은 SAML SP를 SAML IdP에 매핑하여 APM과 Microsoft Entra ID 간의 페더레이션 트러스트를 설정합니다. 커넥터를 구성하려면 다음을 수행합니다.

  1. 아래로 스크롤하여 새 SAML SP 개체를 선택한 다음 IdP 커넥터 바인딩/바인딩 해제를 선택합니다.

    로컬 SP 서비스의 SAML 서비스 공급자에 있는 IdP 커넥터 바인딩/바인딩 해제 옵션 스크린샷.

  2. 새 IdP 커넥터 만들기>메타데이터에서를 선택합니다.

    SAML IdP 편집의 새 IdP 커넥터 만들기 아래에 있는 메타데이터에서 옵션 스크린샷.

  3. 다운로드한 페더레이션 메타데이터 XML 파일로 이동하고 외부 SAML IdP를 나타내는 APM 개체의 ID 공급자 이름을 입력합니다. 다음 예는 MyExpenses_AzureAD를 보여 줍니다.

    새 IdP SAML 커넥터 만들기의 파일 선택 및 파일 선택 아래에 있는 ID 공급자 이름 항목 스크린샷.

  4. 새 행 추가를 선택하여 새 SAML IdP 커넥터 값을 선택한 다음, 업데이트를 선택합니다.

    SAML IdP 커넥터 항목에 대한 업데이트 옵션 스크린샷.

  5. 확인을 선택합니다.

Kerberos SSO 구성

백 엔드 애플리케이션에 대한 KCD SSO의 APM SSO 개체를 만듭니다. 만든 APM 위임 계정을 사용합니다.

  1. 액세스>Single Sign-on>Kerberos>만들기를 선택하고 다음 정보를 제공합니다.
  • 이름: 만든 후에 다른 게시된 애플리케이션은 Kerberos SSO APM 개체를 사용할 수 있습니다. 예를 들어, Contoso 도메인의 게시된 여러 애플리케이션에는 Contoso_KCD_sso를 사용합니다. 단일 애플리케이션에는 MyExpenses_KCD_sso를 사용합니다.

  • 사용자 이름 원본: 사용자 ID 원본을 지정합니다. APM 세션 변수를 원본으로 사용합니다. Microsoft Entra 클레임에서 로그인된 사용자 ID를 포함하기 때문에 session.saml.last.identity를 사용하는 것이 좋습니다.

  • 사용자 영역 원본: 사용자 도메인이 KCD의 kerberos 영역과 다른 경우 필수입니다. 사용자가 별도의 트러스트된 도메인에 있는 경우 로그인한 사용자 도메인을 포함하는 APM 세션 변수를 지정하여 APM에 인식시킵니다. 예를 들어 session.saml.last.attr.name.domain을 지정합니다. UPN(사용자 계정 이름)이 대체 접미사를 기반으로 하는 경우 시나리오에서 이 작업을 수행합니다.

  • Kerberos 영역:: 대문자의 사용자 도메인 접미사입니다.

  • KDC: 도메인 컨트롤러 IP 주소입니다. 또는 DNS가 구성되고 효율적인 경우 정규화된 도메인 이름을 입력합니다.

  • UPN 지원: 사용자 이름 원본이 UPN 형식(예: session.saml.last.identity 변수)인 경우 이 확인란을 선택합니다.

  • 계정 이름계정 암호: KCD를 수행하기 위한 APM 서비스 계정 자격 증명입니다.

  • SPN 패턴: HTTP/%h를 사용하는 경우 APM은 클라이언트 요청의 호스트 헤더를 사용하여 Kerberos 토큰을 요청하는 SPN을 빌드합니다.

  • 권한 부여 보내기: 첫 번째 요청에서 Kerberos 토큰을 받는 대신(예: Tomcat) 인증 협상을 선호하는 애플리케이션에는 이 옵션을 사용하지 않도록 설정합니다.

    일반 속성의 이름, 사용자 이름 원본 및 SSO 메서드 구성 항목 스크린샷.

사용자 영역이 백 엔드 서버 영역과 다른 경우 KDC를 정의되지 않은 상태로 두어도 됩니다. 이 규칙은 여러 도메인 보안영역 시나리오에 적용됩니다. KDC를 정의되지 않은 상태로 두면 BIG-IP는 백 엔드 서버 도메인에 대한 SRV 레코드의 DNS 조회를 통해 Kerberos 보안영역을 검색하려 시도합니다. 도메인 이름이 보안영역 이름과 동일할 것으로 예상합니다. 도메인 이름이 다른 경우에는 / 등의/krb5.conf 파일에 지정합니다.

IP 주소가 KDC를 지정하면 Kerberos SSO 처리가 더 빨라집니다. 호스트 이름이 KDC를 지정하는 경우 Kerberos SSO 처리 속도가 느려집니다. 추가 DNS 쿼리로 인해 KDC가 정의되지 않는 경우 처리 속도가 더 느립니다. 개념 증명을 프로덕션으로 이동하기 전에 DNS가 최적으로 수행되는지 확인합니다.

참고 항목

백 엔드 서버가 여러 보안영역에 있는 경우 각 보안영역에 대해 별도의 SSO 구성 개체를 만듭니다.

백 엔드 애플리케이션에 대한 SSO 요청의 일부로 헤더를 삽입할 수 있습니다. 일반 속성 설정을 기본에서 고급으로 변경합니다.

KCD SSO에 대한 APM을 구성하는 방법에 대한 자세한 내용은 F5 문서 K17976428: Kerberos 제한 위임 개요를 참조하세요.

액세스 프로필 구성

액세스 프로필은 액세스를 관리하는 여러 APM 요소를 BIG-IP 가상 서버에 바인딩합니다. 이러한 요소에는 액세스 정책, SSO 구성, UI 설정이 포함됩니다.

  1. 액세스>프로필/정책>액세스 프로필(세션별 정책)>만들기를 선택하고 다음 속성을 입력합니다.

    • 이름: 예를 들어, MyExpenses를 입력합니다.

    • 프로필 유형: 모두를 선택합니다.

    • SSO 구성: 만든 KCD SSO 구성 개체를 선택합니다.

    • 허용되는 언어: 하나 이상의 언어를 추가합니다.

    일반 속성, 인증 도메인 간 SSO 및 언어 설정 항목 스크린샷.

  2. 만든 세션별 프로필에 대해 편집을 선택합니다.

    세션별 정책 아래의 편집 옵션 스크린샷.

  3. 시각적 정책 편집기가 열립니다. 대체 옆에 있는 더하기 기호를 선택합니다.

    액세스 정책 적용의 더하기 기호 스크린샷.

  4. 대화 상자에서 인증>SAML 인증>항목 추가를 선택합니다.

    인증 탭의 SAML 인증 옵션 스크린샷.

  5. SAML 인증 SP 구성에서 직접 만든 SAML SP 개체를 사용하도록 AAA 서버 옵션을 설정합니다.

    속성 탭의 AAA 서버 항목 스크린샷.

  6. 성공 분기를 허용으로 변경하려면 상단의 거부 상자에서 링크를 선택합니다.

  7. 저장을 선택합니다.

    액세스 정책에 대한 거부 옵션 스크린샷.

특성 매핑 구성

선택 사항이지만 BIG-IP 활성 세션 목록이 세션 번호 대신 로그인한 사용자의 UPN을 표시할 수 있도록 LogonID_Mapping 구성을 추가할 수 있습니다. 이 정보는 로그를 분석하거나 문제를 해결할 때 유용합니다.

  1. SAML 인증 성공 분기에 대해 더하기 기호를 선택합니다.

  2. 대화 상자에서 할당>변수 할당>항목 추가를 선택합니다.

    할당 탭의 변수 할당 옵션 스크린샷.

  3. 이름을 입력합니다.

  4. 변수 할당 창에서 새 항목 추가>변경을 선택합니다. 다음 예제는 이름 상자에 있는 LogonID_Mapping을 보여 줍니다.

    새 항목 추가 및 변경 옵션 스크린샷.

  5. 두 변수를 모두 설정합니다.

    • 사용자 지정 변수: session.logon.last.username을 입력합니다.
    • 세션 변수: session.saml.last.identity를 입력합니다.
  6. 완료>저장을 선택합니다.

  7. 액세스 정책 성공 분기의 거부 터미널을 선택합니다. 허용으로 변경합니다.

  8. 저장을 선택합니다.

  9. 액세스 정책 적용을 선택하고 편집기를 닫습니다.

    액세스 정책 적용 옵션 스크린샷.

백 엔드 풀 구성

BIG-IP가 클라이언트 트래픽을 정확하게 전달하기 위해 애플리케이션을 호스트하는 백 엔드 서버를 나타내는 BIG-IP 노드 개체를 만듭니다. 그런 다음 해당 노드를 BIG-IP 서버 풀에 배치합니다.

  1. 로컬 트래픽>>풀 목록>만들기를 선택하고 서버 풀 개체의 이름을 제공합니다. 예를 들어 MyApps_VMs을 입력합니다.

    새 풀의 구성 아래에 있는 이름 항목의 스크린샷.

  2. 다음 리소스를 사용하여 풀 구성원 개체를 추가합니다.

    • 노드 이름: 백 엔드 웹 애플리케이션을 호스트하는 서버의 선택적 표시 이름
    • 주소: 애플리케이션을 호스트하는 서버의 IP 주소
    • 서비스 포트: 애플리케이션이 수신 대기 중인 HTTP/S 포트

    추가 옵션의 노드 이름, 주소 및 서비스 포트 항목의 스크린샷.

참고 항목

이 문서에서는 필요한 추가 구성 상태 모니터를 다루지 않습니다. K13397: BIG-IP DNS 시스템에 대한 HTTP 상태 모니터 요청 형식 개요를 참조하세요.

가상 서버 구성

가상 서버는 애플리케이션에 대한 클라이언트 요청을 수신 대기하는 가상 IP 주소로 표시되는 BIG-IP 데이터 평면 개체입니다. 수신된 모든 트래픽은 정책에 따라 전달되기 전에 가상 서버와 연결된 APM 액세스 프로필에 대해 처리 및 평가됩니다.

가상 서버를 구성하려면 다음을 수행합니다.

  1. 로컬 트래픽>가상 서버>가상 서버 목록>만들기를 선택합니다.

  2. 이름 및 연결된 네트워크에서 BIG-IP 또는 디바이스에 할당되지 않은 IPv4/IPv6 주소를 입력합니다. IP 주소는 게시된 백 엔드 애플리케이션에 대한 클라이언트 트래픽을 수신하는 데만 사용됩니다.

  3. 서비스 포트443으로 설정합니다.

    일반 속성의 이름, 대상 주소/마스크 및 서비스 포트 항목 스크린샷.

  4. HTTP 프로필(클라이언트)http로 설정합니다.

  5. TLS(전송 계층 보안)에 가상 서버를 사용하도록 설정하여 HTTPS를 통해 서비스를 게시할 수 있도록 허용합니다.

  6. SSL 프로필(클라이언트)의 경우 필수 조건에 대해 만든 프로필을 선택합니다. 또는 테스트하는 경우 기본값을 사용합니다.

    클라이언트에 대한 HTTP 프로필 및 SSL 프로필 항목 스크린샷.

  7. 원본 주소 변환자동 맵으로 변경합니다.

    원본 주소 변환 항목의 스크린샷.

  8. 액세스 정책에서 직접 만든 프로필을 기준으로 액세스 프로필을 설정합니다. 이 선택 항목은 Microsoft Entra SAML 사전 인증 프로필 및 KCD SSO 정책을 가상 서버에 바인딩합니다.

    액세스 정책 아래의 액세스 프로필 항목 스크린샷.

  9. 이전 섹션에서 만든 백 엔드 풀 개체를 사용하도록 기본 풀을 설정합니다.

  10. 마침을 선택합니다.

    리소스의 기본 풀 항목 스크린샷.

세션 관리 설정 구성

BIG-IP 세션 관리 설정은 사용자 세션이 종료되거나 계속할 수 있는 조건, 사용자 및 IP 주소에 대한 제한 및 오류 페이지를 정의합니다. 여기서 정책을 만들 수 있습니다.

액세스 정책>액세스 프로필>액세스 프로필로 이동하고 목록에서 애플리케이션을 선택합니다.

Microsoft Entra ID에서 단일 로그아웃 URI 값을 정의한 경우 MyApps 포털의 IdP 시작 로그아웃은 클라이언트와 BIG-IP APM 간 세션을 종료하게 됩니다. 가져온 애플리케이션 페더레이션 메타데이터 XML 파일은 SP 시작 로그아웃을 위한 Microsoft Entra SAML 로그아웃 엔드포인트를 APM에 제공합니다. 효과적인 결과를 얻으려면 APM은 사용자가 로그아웃하는 시기를 알고 있어야 합니다.

BIG-IP 웹 포털을 사용하지 않는 시나리오를 생각해 보세요. 사용자는 로그아웃하도록 APM에 지시할 수 없습니다. 사용자가 애플리케이션에서 로그아웃하더라도 BIG-IP는 이를 인식하지 못하므로 SSO를 통해 애플리케이션 세션을 복구할 수 있습니다. 세션이 안전하게 종료되도록 SP 시작 로그아웃을 고려해야 합니다.

참고 항목

애플리케이션 로그아웃 단추에 SLO 함수를 추가할 수 있습니다. 이 함수는 사용자의 클라이언트를 Microsoft Entra SAML 로그아웃 엔드포인트로 리디렉션합니다. 앱 등록>엔드포인트에서 SAML 로그아웃 엔드포인트를 찾습니다.

앱을 변경할 수 없다면 BIG-IP가 앱의 로그아웃 호출을 수신 대기하는 방법을 고려해 보세요. 요청을 검색하면 SLO를 트리거합니다.

자세한 내용은 F5 문서를 참조하세요.

요약

애플리케이션은 SHA, 해당 URL 또는 Microsoft 애플리케이션 포털을 통해 게시하고 액세스할 수 있습니다. 애플리케이션이 Microsoft Entra 조건부 액세스에서 대상 리소스로 표시됩니다.

이 패턴을 사용하는 조직은 애플리케이션에 대한 직접 액세스를 차단하여 BIG-IP를 통한 엄격한 경로를 강제함으로써 보안을 강화할 수 있습니다.

다음 단계

사용자로서 브라우저를 열고 애플리케이션의 외부 URL에 연결합니다. Microsoft MyApps 포털에서 애플리케이션 아이콘을 선택할 수 있습니다. Microsoft Entra 테넌트에 대해 인증한 후 애플리케이션의 BIG-IP 엔드포인트로 리디렉션되고 SSO를 통해 로그인됩니다.

애플리케이션 예의 웹 사이트 이미지.

Microsoft Entra B2B 게스트 액세스

SHA는 Microsoft Entra B2B 게스트 액세스를 지원합니다. 게스트 ID는 Microsoft Entra 테넌트에서 대상 Kerberos 도메인으로 동기화됩니다. BIG-IP가 백 엔드 애플리케이션에 KCD SSO를 수행하기 위해 게스트 개체의 로컬 표현을 포함합니다.

문제 해결

문제를 해결하는 동안 다음 사항을 고려합니다.

  • Kerberos는 시간이 중요합니다. 서버와 클라이언트를 올바른 시간으로 설정하고 가능하다면 신뢰할 수 있는 시간 원본에 동기화해야 합니다.
  • DNS에서 도메인 컨트롤러 및 웹 애플리케이션의 호스트 이름을 확인할 수 있는지 확인합니다.
  • 환경에 중복 SPN이 없는지 확인합니다. 명령줄에서 setspn -q HTTP/my_target_SPN 쿼리를 실행합니다.

참고 항목

IIS 애플리케이션이 KCD에 대해 구성되었는지 유효성을 검사하려면 애플리케이션 프록시에 대한 Kerberos 제한 위임 구성 문제 해결을 참조하세요. AskF5 문서 Kerberos Single Sign-On 방법도 참조하세요.

로그 세부 정보 표시 늘리기

BIG-IP 로그는 신뢰할 수 있는 정보 소스입니다. 로그 상세도를 높이려면 다음을 수행합니다.

  1. 액세스 정책>개요>이벤트 로그>설정으로 이동합니다.
  2. 게시된 애플리케이션의 행을 선택합니다.
  3. 편집>시스템 로그 액세스를 선택합니다.
  4. SSO 목록에서 디버그를 선택합니다.
  5. 확인을 선택합니다.

로그를 보기 전에 문제를 재현합니다. 그런 다음, 완료되면 이 기능을 되돌립니다. 그렇지 않으면 자세한 내용이 중요합니다.

BIG-IP 오류

Microsoft Entra 사전 인증 후 BIG-IP 오류가 발생하면 Microsoft Entra ID에서 BIG-IP로의 SSO와 관련된 문제일 수 있습니다.

  1. 액세스>개요>액세스 보고서로 이동합니다.
  2. 로그에 단서가 있는지 확인하려면 지난 1시간 동안의 보고서를 실행합니다.
  3. 세션에 대한 세션 변수 보기 링크를 사용하여 APM이 Microsoft Entra ID에서 예상되는 클레임을 수신하는지 이해합니다.

백 엔드 요청

BIG-IP 오류가 표시되지 않으면 문제가 백 엔드 요청과 관련이 있거나 BIG-IP에서 애플리케이션으로의 SSO와 관련이 있을 수 있습니다.

  1. 액세스 정책>개요>활성 세션으로 이동합니다.
  2. 활성 세션에 대한 링크를 선택합니다.
  3. 변수 보기 링크를 사용하여 특히 BIG-IP APM이 올바른 사용자 및 도메인 식별자를 얻지 못하는 경우 KCD 문제의 근본 원인을 파악합니다.

KCD 관련 문제 진단에 대한 도움말은 보관된 F5 BIG-IP 배포 가이드 Kerberos 제한 위임 구성을 참조하세요.

리소스