자습서: Kerberos Single Sign-On에 대한 F5 BIG-IP 간편 단추 구성
F5 BIG-IP 간편 단추 단계별 구성 16.1을 통해 Microsoft Entra ID로 Kerberos 기반 애플리케이션을 보호하는 방법을 알아봅니다.
BIG-IP를 Microsoft Entra ID와 통합하면 다음과 같은 많은 이점을 활용할 수 있습니다.
- 개선된 거버넌스: 원격 작업을 지원하는 제로 트러스트 프레임워크를 참조하고 Microsoft Entra 사전 인증에 대해 자세히 알아보세요.
- 조직 정책을 적용합니다. 조건부 액세스란?을 참조하세요.
- Microsoft Entra ID와 BIG-IP 게시 서비스 간의 전체 SSO
- 단일 컨트롤 플레인인 Microsoft Entra 관리 센터에서 ID 및 액세스 관리를 관리합니다.
이점에 대해 자세히 알아보려면 F5 BIG-IP와 Microsoft Entra 통합에 관한 문서를 참조하세요.
시나리오 설명
이 시나리오는 IWA(Windows 통합 인증)라고도 하는 Kerberos 인증을 사용하여 보호하는 콘텐츠에 대한 액세스를 제어하는 레거시 애플리케이션입니다.
레거시 애플리케이션이기 때문에 Microsoft Entra ID와 직접 통합할 수 있는 최신 프로토콜이 없습니다. 애플리케이션을 현대화할 수 있지만 비용이 많이 들고 계획이 필요하며 잠재적 가동 중지 위험이 있습니다. 대신 F5 BIG-IP ADC(애플리케이션 배달 컨트롤러)는 프로토콜 전환을 통해 레거시 애플리케이션과 최신 ID 컨트롤 플레인 간의 격차를 좁혀줍니다.
애플리케이션 앞에 BIG-IP가 있으면 Microsoft Entra 사전 인증 및 헤더 기반 SSO로 서비스를 오버레이하여 애플리케이션의 보안 태세를 개선할 수 있습니다.
참고 항목
조직에서는 Microsoft Entra 애플리케이션 프록시를 통해 이러한 유형의 애플리케이션에 원격으로 액세스할 수 있습니다.
시나리오 아키텍처
이 시나리오에 대한 보안 하이브리드 액세스(SHA) 솔루션은 다음 요소로 구성됩니다.
- 애플리케이션: Microsoft Entra SHA로 보호되는 BIG-IP 게시 서비스. 애플리케이션 호스트는 도메인 조인입니다.
- Microsoft Entra ID: 사용자 자격 증명, 조건부 액세스 및 BIG-IP에 대한 SAML 기반 SSO를 확인하는 SAML(Security Assertion Markup Language) IdP(ID 공급자). SSO를 통해 Microsoft Entra ID는 BIG-IP에 필수 세션 특성을 제공합니다.
- KDC: DC(도메인 컨트롤러)의 키 배포 센터(KDC) 역할이며 Kerberos 티켓을 발급합니다.
- BIG-IP: 백 엔드 애플리케이션에 대한 Kerberos 기반 SSO를 수행하기 전에 SAML IdP에 인증을 위임하는 역방향 프록시 및 SAML SP(서비스 공급자)입니다.
이 시나리오의 SHA는 SP 및 IdP 시작 흐름을 지원합니다. 다음 이미지는 SP 흐름을 보여줍니다.
- 사용자가 애플리케이션 엔드포인트(BIG-IP)에 연결합니다.
- BIG-IP APM(액세스 정책 관리자) 액세스 정책은 사용자를 Microsoft Entra ID(SAML IdP)로 리디렉션합니다.
- Microsoft Entra ID는 사용자를 사전 인증하고 강제된 조건부 액세스 정책을 적용합니다.
- 사용자가 BIG-IP(SAML SP)로 리디렉션되고, 발급된 SAML 토큰을 사용하여 SSO가 수행됨
- BIG-IP가 KDC에서 Kerberos 티켓을 요청합니다.
- BIG-IP가 SSO용 Kerberos 티켓과 함께 백 엔드 애플리케이션에 요청 전송
- 애플리케이션이 요청에 권한을 부여하고 페이로드를 반환
필수 조건
이전 BIG-IP 경험은 필요하지 않지만 다음은 필요합니다.
- Azure 무료 계정 이상
- BIG-IP 또는 Azure에 BIG-IP VE(Virtual Edition) 배포
- 다음 F5 BIG-IP 라이선스 중 하나:
- F5 BIG-IP® Best 번들
- F5 BIG-IP APM 독립 실행형
- BIG-IP F5 BIG-IP® LTM(Local Traffic Manager)™에 대한 F5 BIG-IP APM 추가 기능 라이선스
- 90일 BIG-IP 무료 평가판 라이선스
- 온-프레미스 디렉터리에서 Microsoft Entra ID로 동기화되거나 Microsoft Entra ID에서 만들어져 온-프레미스 디렉터리로 다시 전달되는 사용자 ID
- 클라우드 애플리케이션 관리자 또는 애플리케이션 관리자 역할 중 하나
- HTTPS를 통해 서비스를 게시할 SSL 웹 인증서 또는 테스트하는 동안 기본 BIG-IP 인증서 사용
- Kerberos 애플리케이션 또는 Windows에서 IIS(인터넷 정보 서비스)를 사용하여 SSO를 구성하는 방법을 알아봅니다.
BIG-IP 구성 메서드
이 자습서는 간편 단추 템플릿이 있는 최신 안내형 구성 16.1을 다룹니다. 간편 단추를 사용하면 관리자는 SHA용 서비스를 사용하도록 설정하기 위해 Microsoft Entra ID와 BIG-IP 사이를 이동할 필요가 없습니다. 배포 및 정책 관리는 APM 단계별형 구성 마법사와 Microsoft Graph가 처리합니다. BIG-IP APM과 Microsoft Entra ID 간의 통합은 애플리케이션이 ID 페더레이션, SSO 및 Microsoft Entra 조건부 액세스를 지원하도록 보장하여 관리 오버헤드를 줄입니다.
참고 항목
이 문서의 예 문자열 또는 값을 환경에 맞는 값으로 바꿉니다.
간편한 단추 등록
팁
이 문서의 단계는 시작하는 포털에 따라 약간 다를 수도 있습니다.
Microsoft identity platform이 서비스 또는 클라이언트를 신뢰한 다음 둘 중 하나는 Microsoft Graph에 액세스할 수 있습니다. 이 작업에서는 Graph에 간편 단추 액세스 권한을 부여할 테넌트 앱 등록이 만들어집니다. 이러한 권한을 통해 BIG-IP는 게시된 애플리케이션에 대한 SAML SP 인스턴스와 SAML IdP인 Microsoft Entra ID 간에 신뢰를 설정하기 위한 구성을 푸시합니다.
최소한 클라우드 애플리케이션 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
ID>애플리케이션>앱 등록 > 신규 등록으로 이동합니다.
애플리케이션의 표시 이름을 입력합니다. 예: F5 BIG-IP 간편 단추
애플리케이션을 사용할 수 있는 사용자 지정을 지정합니다.>이 조직 디렉터리의 계정
등록을 선택합니다.
API 권한으로 이동하여 다음 Microsoft Graph 애플리케이션 권한을 부여합니다.
- Application.Read.All
- Application.ReadWrite.All
- Application.ReadWrite.OwnedBy
- Directory.Read.All
- Group.Read.All
- IdentityRiskyUser.Read.All
- Policy.Read.All
- Policy.ReadWrite.ApplicationConfiguration
- Policy.ReadWrite.ConditionalAccess
- User.Read.All
조직에 대한 관리자 동의를 부여합니다.
인증서 및 비밀에서 새 클라이언트 암호를 생성합니다. 이 암호를 적어 두세요.
개요에서 클라이언트 ID 및 테넌트 ID를 기록합니다.
간편한 단추 구성
APM 단계별 구성을 시작하여 간편 단추 템플릿을 시작합니다.
액세스 > 단계별 구성 > Microsoft 통합으로 이동하여 Microsoft Entra 애플리케이션을 선택합니다.
구성 단계를 검토하고 다음을 선택합니다.
애플리케이션을 게시하려면 다음 단계를 따릅니다.
Configuration Properties
구성 속성 탭에서는 BIG-IP 애플리케이션 구성 및 SSO 개체를 만듭니다. Azure 서비스 계정 세부 정보 섹션에는 이전에 Microsoft Entra 테넌트에 애플리케이션으로 등록한 클라이언트가 표시될 수 있습니다. 이러한 설정을 통해 BIG-IP의 OAuth 클라이언트는 수동으로 구성하는 SSO 속성과 함께 테넌트에서 SAML SP를 등록할 수 있습니다. 간편 단추는 SHA용으로 게시되고 사용하도록 설정된 모든 BIG-IP 서비스에 대해 이 작업을 수행합니다.
일부 설정은 애플리케이션을 게시하는 데 다시 사용할 수 있는 전역 설정이어서 배포 시간과 노력을 줄여 줍니다.
- 고유한 구성 이름을 제공합니다.
- SSO(Single Sign-On) 및 HTTP 헤더를 사용하도록 설정합니다.
- 테넌트에 간편 단추 클라이언트를 등록할 때 기록한 테넌트 ID, 클라이언트 ID 및 클라이언트 암호를 입력합니다.
- BIG-IP가 테넌트에 연결되는지 확인합니다.
- 다음을 선택합니다.
서비스 공급자
서비스 공급자 설정은 SHA를 통해 보호되는 애플리케이션의 SAML SP 인스턴스에 대한 속성입니다.
호스트에는 보호 중인 애플리케이션의 공용 FQDN(정규화된 도메인 이름)을 입력합니다.
엔터티 ID에는 Microsoft Entra ID가 토큰을 요청하는 SAML SP를 식별하는 데 사용하는 식별자를 입력합니다.
선택 사항인 보안 설정은 Microsoft Entra ID가 발급된 SAML 어설션을 암호화할지 여부를 지정합니다. Microsoft Entra ID와 BIG-IP APM 간의 어설션을 암호화하면 콘텐츠 토큰을 가로챌 수 없고 개인 또는 회사 데이터가 손상되지 않도록 보장됩니다.
- 어설션 암호 해독 프라이빗 키 목록에서 새로 만들기를 선택합니다.
- 확인을 선택합니다. SSL 인증서 및 키 가져오기 대화 상자가 나타납니다.
- PKCS 12(IIS)를 선택하여 인증서 및 프라이빗 키를 가져옵니다.
- 프로비저닝한 후에는 브라우저 탭을 닫아 주 탭으로 돌아갑니다.
- 암호화된 어설션 사용을 체크합니다.
- 암호화를 사용하도록 설정한 경우 어설션 암호 해독 프라이빗 키 목록에서 인증서를 선택합니다. 이 프라이빗 키는 BIG-IP APM이 Microsoft Entra 어설션 암호 해독에 사용하는 인증서용입니다.
- 암호화를 사용하도록 설정한 경우 어설션 암호 해독 인증서 목록에서 인증서를 선택합니다. BIG-IP는 발급된 SAML 어설션을 암호화하기 위해 이 인증서를 Microsoft Entra ID에 업로드합니다.
Microsoft Entra ID
이 섹션에서는 Microsoft Entra 테넌트에서 새 BIG-IP SAML 애플리케이션을 수동으로 구성하기 위한 속성을 정의합니다. 간편 단추에는 Oracle PeopleSoft, Oracle E-business Suite, Oracle JD Edwards, SAP ERP(엔터프라이즈 자원 계획)용 애플리케이션 템플릿과 기타 앱용 SHA 템플릿이 있습니다.
이 시나리오에서는 F5 BIG-IP APM Microsoft Entra ID 통합 > 추가를 선택합니다.
Azure 구성
Microsoft Entra 테넌트에서 BIG-IP가 만드는 앱의 표시 이름 및 MyApps 포털의 아이콘을 입력합니다.
IdP 시작 로그인을 사용하도록 설정하려면 로그온 URL(선택 사항)을 빈칸으로 남겨 둡니다.
서명 키 및 서명 인증서 옆에 있는 새로 고침 아이콘을 선택하여 가져온 인증서를 찾습니다.
서명 키 암호에 인증서 암호를 입력합니다.
BIG-IP가 Microsoft Entra ID로 서명된 토큰과 클레임을 허용하도록 하려면 서명 옵션(선택 사항)을 사용하도록 설정합니다.
사용자 및 사용자 그룹은 Microsoft Entra 테넌트에서 동적으로 쿼리되어 애플리케이션에 대한 액세스를 권한 부여합니다. 테스트를 위해 사용자 또는 그룹을 추가합니다. 그렇지 않으면 모든 액세스가 거부됩니다.
사용자 특성 및 클레임
사용자가 Microsoft Entra ID에 인증하면 Microsoft Entra ID는 사용자를 고유하게 식별하는 기본 클레임 및 특성 집합이 포함된 SAML 토큰을 발급합니다. 사용자 특성 및 클레임 탭은 새 애플리케이션에 대해 발급할 기본값 클레임을 표시합니다. 더 많은 클레임을 구성할 때 이것을 사용합니다.
인프라는 내부 및 외부에서 사용되는 .com 도메인 접미사를 기반으로 합니다. 기능적인 KCD SSO(Kerberos Constrained Delegation Single Sign-On) 구현을 달성하기 위해 더 많은 특성이 필요하지 않습니다. 고급 자습서에서 대체 접미사를 사용하는 여러 도메인 또는 사용자 로그인을 참조하세요.
추가 사용자 특성
추가 사용자 특성 탭은 세션 확대를 위해 다른 디렉터리에 저장된 특성이 필요한 다양한 분산 시스템을 지원합니다. LDAP(Lightweight Directory Access Protocol) 원본에서 가져온 특성을 SSO 헤더로 삽입하여 역할, 파트너 ID 등에 따라 액세스를 제어할 수 있습니다.
참고 항목
이 기능은 Microsoft Entra ID와 상관 관계가 없지만 또 다른 특성 원본입니다.
조건부 액세스 정책
조건부 액세스 정책은 장치, 애플리케이션, 위치 및 위험 신호에 따라 액세스를 제어하기 위해 Microsoft Entra 사전 인증 후에 적용됩니다.
사용 가능한 정책 보기에는 사용자 기반 작업이 없는 조건부 액세스 정책이 표시됩니다.
선택한 정책 보기에는 클라우드 앱을 대상으로 하는 정책이 표시됩니다. 적용된 정책을 테넌트 수준에서 선택 취소하거나 사용 가능한 정책 목록으로 옮길 수 없습니다.
게시 중인 애플리케이션에 적용할 정책을 선택하려면 다음을 수행합니다.
- 사용 가능한 정책 목록에서 정책을 선택합니다.
- 오른쪽 화살표를 선택하여 선택한 정책 목록으로 이동합니다.
선택한 정책에는 포함 또는 제외 옵션이 선택되어 있어야 합니다. 두 옵션을 모두 선택하면 선택한 정책이 적용되지 않습니다.
참고 항목
이 탭으로 전환하면 정책 목록이 한 번 나타납니다. 새로 고침 단추를 사용하여 마법사가 테넌트를 쿼리하도록 수동으로 강제할 수 있지만 이 단추는 애플리케이션이 배포된 후에 나타납니다.
가상 서버 속성
가상 서버는 애플리케이션에 대한 클라이언트 요청을 수신 대기하는 가상 IP 주소로 표시되는 BIG-IP 데이터 평면 개체입니다. 수신한 트래픽은 가상 서버와 연결된 APM 프로필에 대해 처리 및 평가됩니다. 트래픽은 정책에 따라 전달됩니다.
BIG-IP가 클라이언트 트래픽을 수신하는 데 사용할 수 있는 IPv4/IPv6 주소인 대상 주소를 입력합니다. DNS(도메인 이름 서버)에는 해당 레코드가 있어 클라이언트가 애플리케이션 대신 BIG-IP 게시 애플리케이션의 외부 URL을 이 IP로 확인할 수 있습니다. 테스트 PC의 localhost DNS를 사용하는 것이 테스트에 적합합니다.
서비스 포트는 HTTPS로 443을 입력합니다.
리디렉션 포트 사용을 선택한 다음, 들어오는 HTTP 클라이언트 트래픽을 HTTPS로 리디렉션하는 리디렉션 포트를 입력합니다.
클라이언트 SSL 프로필은 HTTPS용 가상 서버를 사용하도록 설정하므로 클라이언트 연결은 TLS(전송 계층 보안)를 통해 암호화됩니다. 사전 요구 사항의 일부로 만든 클라이언트 SSL 프로필을 선택하고, 테스트할 경우에는 기본값을 그대로 둡니다.
풀 속성
애플리케이션 풀 탭에는 애플리케이션 서버가 있는 풀로 표시되는 BIG-IP 이면의 서비스가 표시됩니다.
풀 선택에서 새 풀을 만들거나 하나를 선택합니다.
라운드 로빈과 같은 부하 분산 방법을 선택합니다.
풀 서버의 경우 서버 노드를 선택하거나 헤더 기반 애플리케이션을 호스트하는 백엔드 노드의 IP 및 포트를 지정합니다.
백 엔드 애플리케이션은 HTTP 포트 80에서 실행됩니다. 애플리케이션이 HTTPS에서 실행되는 경우 포트를 443으로 전환할 수 있습니다.
Single Sign-On 및 HTTP 헤더
SSO를 사용하도록 설정하면 사용자가 자격 증명을 입력하지 않고도 BIG-IP 게시된 서비스에 액세스할 수 있습니다. 간편한 단추 마법사는 SSO의 Kerberos, OAuth Bearer, HTTP 권한 부여 헤더를 지원합니다. 이 지침에서는 만든 Kerberos 위임 계정을 사용합니다.
Kerberos와 고급 설정 표시를 사용하도록 설정하여 다음을 입력합니다.
사용자 이름 원본: SSO에 캐시할 선호하는 사용자 이름입니다. 사용자 ID 원본으로 세션 변수를 제공할 수 있지만, session.saml.last.identity가 더 효과적으로 작동합니다. 로그인한 사용자 ID가 포함된 Microsoft Entra 클레임을 보관하고 있기 때문입니다.
사용자 영역 원본: 사용자 도메인이 BIG-IP의 kerberos 영역과 다른 경우 필수입니다. 이 경우 APM 세션 변수에 로그인한 사용자 도메인이 포함됩니다. 대표적인 예는 session.saml.last.attr.name.domain입니다.
KDC: DNS가 구성되고 효율적인 경우 도메인 컨트롤러 IP 또는 FQDN
UPN 지원: APM이 Kerberos 티켓팅에 UPN(Universal Principal Name)을 사용하려면 이 옵션을 사용하도록 설정합니다.
SPN 패턴: HTTP/%h를 사용하여 클라이언트 요청의 호스트 헤더를 사용하도록 APM에 알리고 Kerberos 토큰을 요청하는 SPN(서비스 사용자 이름)을 빌드합니다.
권한 부여 보내기: 첫 번째 요청에서 kerberos 토큰을 받는 대신 인증을 협상하는 애플리케이션에는 사용하지 않도록 설정합니다. 대표적인 예는 Tomcat입니다.
세션 관리
BIG-IP 세션 관리 설정은 사용자 세션이 종료되거나 계속되는 조건, 사용자 및 IP 주소 제한, 해당 사용자 정보를 정의합니다. 설정에 관한 자세한 내용은 AskF5 문서 K18390492: 보안 | BIG-IP APM 작업 가이드를 참조하세요.
사용자가 로그아웃할 때 IdP, BIG-IP, 사용자 에이전트 간의 세션을 종료하는 SLO(단일 로그아웃) 기능은 다루지 않습니다. 간편한 단추가 Microsoft Entra 테넌트에서 SAML 애플리케이션을 인스턴스화하면 로그아웃 URL이 APM SLO 엔드포인트로 채워집니다. Microsoft Entra 내 앱 포털에서 IdP가 시작한 로그아웃은 BIG-IP와 클라이언트 간의 세션을 종료합니다.
게시된 애플리케이션에 대한 SAML 페더레이션 메타데이터를 테넌트에서 가져오며, 이는 APM에 Microsoft Entra ID에 대한 SAML 로그아웃 엔드포인트를 제공합니다. 이 작업을 수행하면 SP에서 시작된 로그아웃으로 인해 클라이언트와 Microsoft Entra ID 간의 세션이 종료됩니다. APM은 사용자가 애플리케이션에서 로그아웃하는 시점을 알아야 합니다.
BIG-IP 웹톱 포털이 게시된 애플리케이션에 액세스하는 경우 eAPM에서 로그아웃을 처리하여 Microsoft Entra 로그아웃 엔드포인트를 호출합니다. 그러나 BIG-IP 웹톱 포털이 사용되지 않을 때 사용자가 APM에 로그아웃하도록 지시하지 못하는 시나리오를 고려해야 합니다. 사용자가 애플리케이션에서 로그아웃해도 BIG-IP는 인식되지 못합니다. 따라서 세션이 안전하게 종료되도록 SP 시작 로그아웃을 고려합니다. 클라이언트를 Microsoft Entra SAML 또는 BIG-IP 로그아웃 엔드포인트로 리디렉션하도록 애플리케이션 로그아웃 단추에 SLO 함수를 추가할 수 있습니다.
테넌트의 SAML 로그아웃 엔드포인트에 대한 URL은 앱 등록 > 엔드포인트에 있습니다.
앱을 변경할 수 없는 경우 BIG-IP가 애플리케이션 로그아웃 호출을 수신 대기하다가 요청이 감지되면 SLO를 트리거합니다. BIG-IP iRules에 대해 알아보려면 Oracle PeopleSoft SLO 지침을 참조하세요. BIG-IP iRules 사용에 대한 자세한 내용은 다음을 참조하세요.
요약
이 섹션은 구성을 분석한 것입니다.
배포를 선택하여 설정을 커밋하고, 엔터프라이즈 애플리케이션의 테넌트 목록에 애플리케이션이 있는지 확인합니다.
구성 추가
BIG-IP APM이 사용자 대신 백 엔드 애플리케이션에 SSO를 수행하려면 대상 AD 도메인에서 KCD를 구성합니다. 인증을 위임하려면 도메인 서비스 계정으로 BIG-IP APM을 프로비전해야 합니다.
APM 서비스 계정 및 위임이 설정된 경우 이 섹션을 건너뛰세요. 그렇지 않으면 관리자 계정으로 도메인 컨트롤러에 로그인합니다.
이 시나리오에서는 애플리케이션이 APP-VM-01 서버에 호스트되고 컴퓨터의 ID가 아닌 web_svc_account라는 서비스 계정의 컨텍스트에서 실행됩니다. APM에 할당된 위임 서비스 계정을 F5-BIG-IP라고 합니다.
BIG-IP APM 위임 계정 만들기
BIG-IP는 gMSA(그룹 관리되는 서비스 계정)를 지원하지 않으므로, APM 서비스 계정용 표준 사용자 계정을 만듭니다.
다음 PowerShell 명령을 입력합니다. UserPrincipalName 및 SamAccountName 값을 환경 값으로 바꿉니다. 보안 강화를 위해 애플리케이션의 호스트 헤더와 일치하는 전용 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 프로토콜 관련 작업만 허용합니다.
웹 애플리케이션 서비스 계정에 대한 위임 중에 사용할 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) 형식으로 포함해야 합니다.
대상 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-User -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames
예시:
Get-Computer -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames
또는 앱이 컴퓨터 컨텍스트에서 실행된 경우 AD의 컴퓨터 계정 개체에 SPN을 추가합니다.
Set-Computer -Identity APP-VM-01 -ServicePrincipalNames @{ Add="http/myexpenses.contoso.com" }
SPN이 정의된 상태에서 APM 서비스 계정이 해당 서비스에 위임할 신뢰를 설정합니다. 이 구성은 BIG-IP 인스턴스 및 애플리케이션 서버의 토폴로지에 따라 달라집니다.
동일한 도메인에서 BIG-IP 및 대상 애플리케이션 구성
APM 서비스 계정이 인증을 위임하도록 신뢰를 설정합니다.
Get-User -Identity f5-big-ip | Set-AccountControl -TrustedToAuthForDelegation $true
APM 서비스 계정은 위임하도록 신뢰할 수 있는 대상 SPN을 알아야 합니다. 웹 애플리케이션을 실행하는 서비스 계정을 대상 SPN으로 설정합니다.
Set-User -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 또는 ADSIEdit을 통해 가능한 다른 접근 방식의 구성 위임에 도입됩니다.
애플리케이션 서비스 계정(컴퓨터 또는 전용 서비스 계정)의 PrincipalsAllowedToDelegateToAccount 속성을 사용하여 BIG-IP의 위임을 부여할 수 있습니다. 이 시나리오에서는 애플리케이션과 동일한 도메인 내의 도메인 컨트롤러(Windows Server 2012 R2 이상)에서 다음 PowerShell 명령을 사용합니다.
웹 애플리케이션 서비스 계정에 대해 정의된 SPN을 사용합니다. 보안 강화를 위해 애플리케이션의 호스트 헤더와 일치하는 전용 SPN을 사용합니다. 예를 들어, 이 예제의 웹 애플리케이션 호스트 헤더가 myexpenses.contoso.com
이기 때문에 AD(Active Directory)의 애플리케이션 서비스 계정 개체에 HTTP/myexpenses.contoso.com
을 추가합니다.
Set-User -Identity web_svc_account -ServicePrincipalNames @{ Add="http/myexpenses.contoso.com" }
다음 명령의 경우 컨텍스트를 확인합니다.
web_svc_account 서비스가 사용자 계정 컨텍스트에서 실행되는 경우 다음 명령을 사용합니다.
$big-ip= Get-Computer -Identity f5-big-ip -server dc.contoso.com
``Set-ADUser -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount`
$big-ip Get-User web_svc_account -Properties PrincipalsAllowedToDelegateToAccount
web_svc_account 서비스가 컴퓨터 계정 컨텍스트에서 실행되는 경우 다음 명령을 사용합니다.
$big-ip= Get-Computer -Identity f5-big-ip -server dc.contoso.com
Set-Computer -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount
$big-ip Get-Computer web_svc_account -Properties PrincipalsAllowedToDelegateToAccount
자세한 내용은 도메인 간의 Kerberos 제한 위임을 참조하세요.
앱 보기
브라우저에서 애플리케이션의 외부 URL에 연결하거나 Microsoft MyApps 포털에서 애플리케이션 아이콘을 선택합니다. Microsoft Entra ID에 인증하면 애플리케이션의 BIG-IP 가상 서버로 리디렉션되고 SSO를 사용하여 로그인됩니다.
보안 강화를 위해 이 패턴을 사용하는 조직은 애플리케이션에 대한 직접 액세스를 차단하여 BIG-IP를 통해 엄격한 경로를 강제할 수 있습니다.
Microsoft Entra B2B 게스트 액세스
이 시나리오에서는 Microsoft Entra B2B 게스트 액세스가 지원되는데, 게스트 ID가 Microsoft Entra 테넌트에서 애플리케이션이 인증에 사용하는 디렉터리로 전달되는 방식으로 지원됩니다. AD에서 게스트 개체의 로컬 표현이 없으면 BIG-IP는 백 엔드 애플리케이션에 KCD SSO에 대한 kerberos 티켓을 받지 못합니다.
고급 배포
단계별 구성 템플릿은 일부 요구 사항을 충족할 수 있는 유연성이 부족할 수 있습니다. 이러한 시나리오는 kerberos 기반 SSO에 대한 고급 구성을 참조하세요.
아니면 BIG-IP에서 단계별 구성 엄격한 관리 모드를 사용하지 않도록 설정하면 됩니다. 구성의 대부분은 마법사 기반 템플릿을 통해 자동화되지만 구성을 수동으로 변경할 수 있습니다.
액세스 > 단계별 구성으로 이동하여 애플리케이션 구성 행의 맨 오른쪽에 있는 작은 자물쇠 아이콘을 선택합니다.
이 시점에서는 마법사 UI를 통한 변경이 안 되지만 애플리케이션의 게시된 인스턴스와 연결된 모든 BIG-IP 개체는 관리를 위해 잠금이 해제됩니다.
참고 항목
strict 모드를 다시 사용하도록 설정하고 구성을 배포하면 안내형 구성 UI 외부에서 수행되는 설정을 덮어씁니다. 따라서 프로덕션 서비스에 대한 고급 구성 메서드를 사용하는 것이 좋습니다.
문제 해결
kerberos SSO 문제를 해결하는 경우 다음 개념에 유의하세요.
- Kerberos는 시간이 중요하므로 서버와 클라이언트를 올바른 시간으로 설정하고 가능하다면 신뢰할 수 있는 시간 원본에 동기화해야 합니다.
- DNS에서 도메인 컨트롤러 및 웹 애플리케이션의 호스트 이름을 확인할 수 있는지 확인합니다.
- 도메인 PC의 명령줄에서 setspn -q HTTP/my_target_SPN 쿼리를 실행하여 AD 환경에 중복된 SPN이 없는지 확인합니다.
IIS 애플리케이션이 KCD용으로 구성되어 있는지 유효성을 검사하려면 애플리케이션 프록시 지침을 참조하세요. AskF5 문서 Kerberos Single Sign-On 메서드도 참조하세요.
로그 분석: 세부 정보 표시 증가
BIG-IP 로깅을 사용하여 연결, SSO, 정책 위반 또는 잘못 구성된 변수 매핑과 관련된 모든 종류의 문제를 격리합니다. 로그 세부 정보 표시 수준을 늘려 문제 해결을 시작합니다.
- 액세스 정책 > 개요 > 이벤트 로그 > 설정으로 이동합니다.
- 게시된 애플리케이션의 행을 선택한 다음, 편집 > 액세스 시스템 로그를 선택합니다.
- SSO 목록에서 디버그를 선택한 다음 확인을 선택합니다.
문제를 재현하고 로그를 검사합니다. 완료되면 세부 정보 표시 모드에서 많은 데이터를 생성하므로 기능을 되돌립니다.
BIG-IP 오류 페이지
Microsoft Entra 사전 인증 후 BIG-IP 오류가 발생하면 Microsoft Entra ID에서 BIG-IP로의 SSO와 관련된 문제일 수 있습니다.
- 액세스 > 개요 > 액세스 보고서로 이동합니다.
- 단서에 대한 로그를 보려면 지난 1시간 동안 보고서를 실행합니다.
- 세션 변수 보기 링크를 사용하면 APM이 Microsoft Entra ID에서 예상되는 클레임을 수신하는지 알 수 있습니다.
백 엔드 요청
오류 페이지가 표시되지 않는 경우 이 문제는 BIG-IP에서 애플리케이션으로의 백 엔드 요청 또는 SSO와 관련이 있을 수 있습니다.
- 액세스 정책 > 개요 > 활성 세션으로 이동합니다.
- 활성 세션에 대한 링크를 선택합니다. 이 위치의 변수 보기 링크는 특히 BIG-IP APM이 세션 변수에서 올바른 사용자 및 도메인 식별자를 얻지 못하는 경우 KCD 문제의 근본 원인을 파악하는 데 도움이 될 수 있습니다.
자세한 내용은 다음을 참조하세요.
- dev/central: APM 변수 할당 예제
- MyF5: 세션 변수