다음을 통해 공유


AD FS 사전 인증을 사용하는 애플리케이션 게시

이 콘텐츠는 웹 애플리케이션 프록시의 온-프레미스 버전에 적합합니다. 클라우드를 통해 온-프레미스 애플리케이션에 대한 보안 액세스를 사용하려면 Microsoft Entra 애플리케이션 프록시 콘텐츠를 참조하세요.

이 항목에서는 ADFS(Active Directory Federation Services) 사전 인증을 사용하여 웹 애플리케이션 프록시를 통해 애플리케이션을 게시하는 방법에 대해 설명합니다.

AD FS 사전 인증을 사용하여 게시할 수 있는 모든 유형의 애플리케이션에 대해 AD FS 신뢰 당사자 트러스트를 페더레이션 서비스에 추가해야 합니다.

일반적인 AD FS 사전 인증 흐름은 다음과 같습니다.

참고 항목

이 인증 흐름은 Microsoft Store 앱을 사용하는 클라이언트에는 적용되지 않습니다.

  1. 클라이언트 디바이스에서 특정 리소스 URL에 게시된 웹 애플리케이션에 액세스하려고 시도합니다. 예: https://app1.contoso.com/.

    이 리소스 URL은 웹 애플리케이션 프록시가 들어오는 HTTPS 요청을 수신 대기하는 공용 주소입니다.

    HTTP에서 HTTPS로의 리디렉션이 활성화된 경우, 웹 애플리케이션 프록시는 들어오는 HTTP 요청도 수신 대기합니다.

  2. 웹 애플리케이션 프록시가 URL 인코딩된 매개 변수(리소스 URL 및 appRealm(신뢰 당사자 식별자) 포함)를 사용하여 HTTPS 요청을 AD FS 서버로 리디렉션합니다.

    사용자가 AD FS 서버에서 요구하는 인증 방법(예: 사용자 이름과 암호, 일회성 암호를 사용하는 2단계 인증 등)을 사용하여 인증합니다.

  3. 사용자가 인증되면 AD FS 서버에서 다음 정보가 포함된 보안 토큰인 '에지 토큰'을 발급하고 HTTPS 요청을 다시 웹 애플리케이션 프록시 서버로 리디렉션합니다.

    • 사용자가 액세스하려고 한 리소스 식별자

    • UPN(사용자 계정 이름)인 사용자의 ID.

    • 액세스 권한 부여 승인 만료(즉, 사용자에게는 제한된 기간 동안 액세스 권한이 부여되며, 이 기간이 경과한 후에는 다시 인증해야 함)

    • 에지 토큰의 정보 서명

  4. 웹 애플리케이션 프록시가 에지 토큰과 함께 AD FS 서버에서 리디렉션된 HTTPS 요청을 받은 후 다음과 같이 토큰의 유효성을 검사하고 토큰을 사용합니다.

    • 에지 토큰 서명이 웹 애플리케이션 프록시 구성에서 구성된 페더레이션 서비스에서 발급되었는지 확인

    • 토큰이 올바른 애플리케이션에 대해 발급되었는지 확인

    • 토큰이 만료되지 않았는지 확인

    • 필요한 경우(예: 백 엔드 서버가 Windows 통합 인증을 사용하도록 구성된 경우 Kerberos 티켓을 받기 위해) 사용자 ID 사용

  5. 에지 토큰이 유효한 경우 웹 애플리케이션 프록시가 HTTP 또는 HTTPS를 사용하여 HTTPS 요청을 게시된 웹 애플리케이션에 전달합니다.

  6. 이제 클라이언트에서 게시된 웹 애플리케이션에 액세스할 수 있습니다. 그러나 게시된 애플리케이션이 사용자의 추가 인증을 요구하도록 구성되어 있을 수도 있습니다. 예를 들어 게시된 웹 애플리케이션이 SharePoint 사이트이고 추가 인증을 요구하지 않는 경우 사용자는 브라우저에서 SharePoint 사이트를 볼 수 있습니다.

  7. 웹 애플리케이션 프록시 클라이언트 디바이스에 쿠키를 저장합니다. 이 쿠키는 웹 애플리케이션 프록시에서 이 세션이 이미 사전 인증되었으며 추가 사전 인증이 필요하지 않음을 식별하는 데 사용됩니다.

Important

외부 URL 및 백 엔드 서버 URL을 구성할 때 IP 주소가 아니라 FQDN(정규화된 도메인 이름)을 포함해야 합니다.

참고 항목

이 항목에는 설명한 절차의 일부를 자동화하는 데 사용할 수 있는 샘플 Windows PowerShell cmdlet이 포함되어 있습니다. 자세한 내용은 참조 Cmdlet를 사용 하 여합니다.

웹 브라우저 클라이언트용 클레임 기반 애플리케이션 게시

인증에 클레임을 사용하는 애플리케이션을 게시하려면 애플리케이션의 신뢰 당사자 트러스트를 페더레이션 서비스에 추가해야 합니다.

클레임 기반 애플리케이션을 게시하고 브라우저에서 애플리케이션에 액세스할 때의 일반적인 인증 흐름은 다음과 같습니다.

  1. 클라이언트는 웹 브라우저를 사용하여 클레임 기반 애플리케이션에 액세스하려고 시도합니다. 예: https://appserver.contoso.com/claimapp/.

  2. 웹 브라우저에서 웹 애플리케이션 프록시 서버에 HTTPS 요청을 보냅니다. 그러면 이 서버가 AD FS 서버로 요청을 리디렉션합니다.

  3. AD FS 서버가 사용자와 디바이스를 인증하고 요청을 다시 웹 애플리케이션 프록시로 리디렉션합니다. 이제 요청에 에지 토큰이 포함되어 있습니다. 사용자가 AD FS 서버에 대한 인증을 이미 수행했으므로 AD FS 서버에서 SSO(Single Sign-On) 쿠키를 요청에 추가합니다.

  4. 웹 애플리케이션 프록시가 토큰의 유효성을 검사하고 고유한 쿠키를 추가한 후 백 엔드 서버로 요청을 전달합니다.

  5. 백 엔드 서버가 요청을 AD FS 서버로 리디렉션하여 애플리케이션 보안 토큰을 가져옵니다.

  6. AD FS 서버가 백 엔드 서버로 요청을 리디렉션합니다. 이제 요청에 애플리케이션 토큰 및 SSO 쿠키가 포함되어 있습니다. 사용자에게 애플리케이션에 대한 액세스 권한이 부여되며, 사용자는 사용자 이름이나 암호를 입력할 필요가 없습니다.

이 절차에서는 웹 브라우저 클라이언트에서 액세스할 수 있는 SharePoint 사이트와 같은 클레임 기반 애플리케이션을 게시하는 방법에 대해 설명합니다. 시작하기 전에 다음 작업을 완료했는지 확인합니다.

  • AD FS 관리 콘솔에서 애플리케이션에 대한 신뢰 당사자 트러스트 만들기

  • 웹 애플리케이션 프록시 서버의 인증서가 게시하려는 애플리케이션에 적합한지 확인

클레임 기반 애플리케이션을 게시하려면

  1. 웹 애플리케이션 프록시 서버의 원격 액세스 관리 콘솔 탐색 창에서 웹 애플리케이션 프록시를 클릭한 다음 작업 창에서 게시를 클릭합니다.

  2. 새 애플리케이션 게시 마법사시작 페이지에서 다음을 클릭합니다.

  3. 사전 인증 페이지에서 Active Directory Federation Services(AD FS)를 클릭한 후 다음을 클릭합니다.

  4. 지원되는 클라이언트 페이지에서 웹 및 MSOFBA를 선택하고 다음을 클릭합니다.

  5. 신뢰 당사자 페이지의 신뢰 당사자 목록에서 게시할 애플리케이션의 신뢰 당사자를 선택하고 다음을 클릭합니다.

  6. 게시 설정 페이지에서 다음 작업을 수행한 후 다음을 클릭합니다.

    • 이름 상자에 애플리케이션의 이름을 입력합니다.

      이 이름은 원격 액세스 관리 콘솔의 게시된 애플리케이션 목록에만 사용됩니다.

    • 외부 URL 상자에 이 애플리케이션의 외부 URL을 입력합니다. 예: https://sp.contoso.com/app1/

    • 외부 인증서 목록에서 주체에 외부 URL이 포함된 인증서를 선택합니다.

    • 백 엔드 서버 URL 상자에 백 엔드 서버의 URL을 입력합니다. 이 값은 외부 URL을 입력하면 자동으로 입력됩니다. 백 엔드 서버 URL이 다른 경우(예: http://maps/)에만 변경해야 합니다. 예: https://sp/app1/.

      참고 항목

      웹 애플리케이션 프록시는 URL의 호스트 이름을 변환할 수 있지만 경로 이름을 변환할 수는 없습니다. 따라서 서로 다른 호스트 이름을 입력할 수 있지만 경로 이름은 같아야 합니다. 예를 들어 https://apps.contoso.com/app1/의 외부 URL 및 https://app-server/app1/.의 백 엔드 서버 URL을 입력할 수 있습니다. 그러나 https://apps.contoso.com/app1/의 외부 URL 및 https://apps.contoso.com/internal-app1/의 백 엔드 서버의 URL은 입력할 수 없습니다.

  7. 확인 페이지에서 설정을 검토하고 게시를 클릭합니다. PowerShell 명령을 복사하여 게시된 추가 애플리케이션을 설정할 수 있습니다.

  8. 결과 페이지에서 애플리케이션이 게시되었는지 확인하고 닫기를 클릭합니다.

Windows PowerShell 해당 명령

다음 Windows PowerShell cmdlet은 이전 절차와 같은 기능을 수행합니다. 서식 제약 조건으로 인해 각 cmdlet이 여러 줄에 자동 줄 바꿈되어 표시될 수 있지만 각 cmdlet을 한 줄에 입력하세요.

Add-WebApplicationProxyApplication
    -BackendServerURL 'https://sp.contoso.com/app1/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://sp.contoso.com/app1/'
    -Name 'SP'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'SP_Relying_Party'

웹 브라우저 클라이언트용 Windows 통합 인증 기반 애플리케이션 게시

웹 애플리케이션 프록시를 사용하여 Windows 통합 인증을 사용하는 애플리케이션을 게시할 수 있습니다. 즉, 웹 애플리케이션 프록시가 필요에 따라 사전 인증을 수행한 다음 Windows 통합 인증을 사용하는 애플리케이션에 대한 SSO를 수행할 수 있습니다. Windows 통합 인증을 사용하는 애플리케이션을 게시하려면 애플리케이션의 비 클레임 인식 신뢰 당사자 트러스트를 페더레이션 서비스에 추가해야 합니다.

웹 애플리케이션 프록시 SSO(Single Sign-On)를 수행하고 Kerberos 제한 위임을 사용하여 자격 증명 위임을 수행하려면 웹 애플리케이션 프록시 서버를 도메인에 가입해야 합니다. Active Directory 계획을 참조하세요.

사용자가 Windows 통합 인증을 사용하는 애플리케이션에 액세스하도록 허용하려면 웹 애플리케이션 프록시 서버에서 게시된 애플리케이션에 대한 사용자 위임을 제공할 수 있어야 합니다. 이 작업은 도메인 컨트롤러에서 모든 애플리케이션에 대해 수행할 수 있습니다. Windows Server 2012 R2 또는 Windows Server 2012 실행 중인 경우 백 엔드 서버에서도 이 작업을 수행할 수 있습니다. 자세한 내용은 Kerberos 인증의 새로운 기능을 참조하세요.

통합 Windows 인증을 사용하여 애플리케이션을 게시하도록 웹 애플리케이션 프록시를 구성하는 방법에 대한 안내는 통합 Windows 인증을 사용하도록 사이트 구성하기를 참조하세요.

백 엔드 서버에 Windows 통합 인증을 사용할 경우 웹 애플리케이션 프록시와 게시된 애플리케이션 간의 인증은 클레임 기반이 아니며, 대신 Kerberos 제안 위임을 사용하여 애플리케이션에 최종 사용자를 인증합니다. 일반적인 흐름은 다음과 같습니다.

  1. 클라이언트는 웹 브라우저를 사용하여 비 클레임 기반 애플리케이션에 액세스하려고 시도합니다. 예: https://appserver.contoso.com/nonclaimapp/.

  2. 웹 브라우저에서 웹 애플리케이션 프록시 서버에 HTTPS 요청을 보냅니다. 그러면 이 서버가 AD FS 서버로 요청을 리디렉션합니다.

  3. AD FS 서버가 사용자를 인증하고 요청을 다시 웹 애플리케이션 프록시로 리디렉션합니다. 이제 요청에 에지 토큰이 포함되어 있습니다.

  4. 웹 애플리케이션 프록시 토큰의 유효성을 검사합니다.

  5. 토큰이 유효한 경우 웹 애플리케이션 프록시는 사용자를 위해 도메인 컨트롤러에서 Kerberos 티켓을 가져옵니다.

  6. 웹 애플리케이션 프록시가 SPNEGO(Simple and Protected GSS-API Negotiation Mechanism) 토큰의 일부로 Kerberos 티켓을 요청에 추가하여 이 요청을 백 엔드 서버로 전달합니다. 요청에 Kerberos 티켓이 포함되어 있으므로 추가 인증 없이 사용자에게 애플리케이션에 대한 액세스 권한이 부여됩니다.

이 절차에서는 웹 브라우저 클라이언트에서 액세스할 수 있는 Outlook Web App과 같은 Windows 통합 인증을 사용하는 애플리케이션을 게시하는 방법에 대해 설명합니다. 시작하기 전에 다음 작업을 완료했는지 확인합니다.

  • AD FS 관리 콘솔에서 애플리케이션에 대한 비 클레임 인식 신뢰 당사자 트러스트 만들기

  • -PrincipalsAllowedToDelegateToAccount 매개 변수와 함께 Set-ADUser cmdlet을 사용하거나 도메인 컨트롤러에서 Kerberos 제한 위임을 지원하도록 백 엔드 서버 구성. 백 엔드 서버가 Windows Server 2012 R2 또는 Windows Server 2012에서 실행되는 경우 백 엔드 서버에서 이 PowerShell 명령을 실행할 수도 있습니다.

  • 웹 애플리케이션 프록시 서버가 백 엔드 서버의 서비스 사용자 이름에 위임되도록 구성되었는지 확인합니다.

  • 웹 애플리케이션 프록시 서버의 인증서가 게시하려는 애플리케이션에 적합한지 확인

클레임 기반이 아닌 애플리케이션을 게시하려면

  1. 웹 애플리케이션 프록시 서버의 원격 액세스 관리 콘솔 탐색 창에서 웹 애플리케이션 프록시를 클릭한 다음 작업 창에서 게시를 클릭합니다.

  2. 새 애플리케이션 게시 마법사시작 페이지에서 다음을 클릭합니다.

  3. 사전 인증 페이지에서 Active Directory Federation Services(AD FS)를 클릭한 후 다음을 클릭합니다.

  4. 지원되는 클라이언트 페이지에서 웹 및 MSOFBA를 선택하고 다음을 클릭합니다.

  5. 신뢰 당사자 페이지의 신뢰 당사자 목록에서 게시할 애플리케이션의 신뢰 당사자를 선택하고 다음을 클릭합니다.

  6. 게시 설정 페이지에서 다음 작업을 수행한 후 다음을 클릭합니다.

    • 이름 상자에 애플리케이션의 이름을 입력합니다.

      이 이름은 원격 액세스 관리 콘솔의 게시된 애플리케이션 목록에만 사용됩니다.

    • 외부 URL 상자에 이 애플리케이션의 외부 URL을 입력합니다. 예: https://owa.contoso.com/

    • 외부 인증서 목록에서 주체에 외부 URL이 포함된 인증서를 선택합니다.

    • 백 엔드 서버 URL 상자에 백 엔드 서버의 URL을 입력합니다. 이 값은 외부 URL을 입력하면 자동으로 입력됩니다. 백 엔드 서버 URL이 다른 경우(예: http://maps/)에만 변경해야 합니다. 예: https://owa/.

      참고 항목

      웹 애플리케이션 프록시는 URL의 호스트 이름을 변환할 수 있지만 경로 이름을 변환할 수는 없습니다. 따라서 서로 다른 호스트 이름을 입력할 수 있지만 경로 이름은 같아야 합니다. 예를 들어 https://apps.contoso.com/app1/의 외부 URL 및 https://app-server/app1/.의 백 엔드 서버 URL을 입력할 수 있습니다. 그러나 https://apps.contoso.com/app1/의 외부 URL 및 https://apps.contoso.com/internal-app1/의 백 엔드 서버의 URL은 입력할 수 없습니다.

    • 백 엔드 서버 SPN 상자에 백 엔드 서버의 서비스 사용자 이름(예: HTTP/owa.contoso.com)을 입력합니다.

  7. 확인 페이지에서 설정을 검토하고 게시를 클릭합니다. PowerShell 명령을 복사하여 게시된 추가 애플리케이션을 설정할 수 있습니다.

  8. 결과 페이지에서 애플리케이션이 게시되었는지 확인하고 닫기를 클릭합니다.

Windows PowerShell 해당 명령

다음 Windows PowerShell cmdlet은 이전 절차와 같은 기능을 수행합니다. 서식 제약 조건으로 인해 각 cmdlet이 여러 줄에 자동 줄 바꿈되어 표시될 수 있지만 각 cmdlet을 한 줄에 입력하세요.

Add-WebApplicationProxyApplication
    -BackendServerAuthenticationSpn 'HTTP/owa.contoso.com'
    -BackendServerURL 'https://owa.contoso.com/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://owa.contoso.com/'
    -Name 'OWA'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'Non-Claims_Relying_Party'

MS-OFBA를 사용하는 애플리케이션 게시

웹 애플리케이션 프록시는 백 엔드 서버의 문서 및 데이터에 액세스하는 Microsoft Office 클라이언트(예: Microsoft Word)의 액세스를 지원합니다. 이러한 애플리케이션과 표준 브라우저의 유일한 차이점은 STS로의 리디렉션이 일반 HTTP 리디렉션이 아니라 다음 표에 명시된 특수 MS-OFBA 헤더를 통해 이루어진다는 점입니다. https://msdn.microsoft.com/library/dd773463(v=office.12).aspx. 백 엔드 애플리케이션은 클레임 또는 IWA일 수 있습니다. MS-OFBA를 사용하는 클라이언트용 애플리케이션을 게시하려면 애플리케이션의 신뢰 당사자 트러스트를 페더레이션 서비스에 추가해야 합니다. 애플리케이션에 따라 클레임 기반 인증 또는 Windows 통합 인증을 사용할 수 있습니다. 따라서 애플리케이션에 따라 관련 신뢰 당사자 트러스트를 추가해야 합니다.

웹 애플리케이션 프록시 SSO(Single Sign-On)를 수행하고 Kerberos 제한 위임을 사용하여 자격 증명 위임을 수행하려면 웹 애플리케이션 프록시 서버를 도메인에 가입해야 합니다. Active Directory 계획을 참조하세요.

애플리케이션에서 클레임 기반 인증을 사용하는 경우에는 추가 계획 단계가 없습니다. 애플리케이션에서 통합 Windows 인증 사용하는 경우 웹 브라우저 클라이언트에 대한 Windows 통합 인증 기반 애플리케이션 게시를 참조하세요.

클레임 기반 인증 MS-OFBA 프로토콜을 사용하는 클라이언트에 대한 인증 흐름은 다음과 같습니다. 이 시나리오의 인증에서는 URL 또는 본문에 애플리케이션 토큰을 사용할 수 있습니다.

  1. Office 프로그램에서 작업 중인 사용자가 최근 문서 목록에서 SharePoint 사이트에 있는 파일을 엽니다.

  2. Office 프로그램에서 사용자가 자격 증명을 입력해야 하는 브라우저 컨트롤이 포함된 창을 표시합니다.

    참고 항목

    클라이언트가 이미 인증된 경우 이 창이 표시되지 않을 수도 있습니다.

  3. 웹 애플리케이션 프록시는 인증을 수행하는 AD FS 서버로 요청을 리디렉션합니다.

  4. AD FS 서버는 요청을 웹 애플리케이션 프록시를 다시 리디렉션합니다. 이제 요청에 에지 토큰이 포함되어 있습니다.

  5. 사용자가 AD FS 서버에 대한 인증을 이미 수행했으므로 AD FS 서버에서 SSO(Single Sign-On) 쿠키를 요청에 추가합니다.

  6. 웹 애플리케이션 프록시는 토큰의 유효성을 검사하고 요청을 백엔드 서버로 전달합니다.

  7. 백 엔드 서버가 요청을 AD FS 서버로 리디렉션하여 애플리케이션 보안 토큰을 가져옵니다.

  8. 요청이 백 엔드 서버로 리디렉션됩니다. 이제 요청에 애플리케이션 토큰 및 SSO 쿠키가 포함되어 있습니다. 사용자에게 SharePoint 사이트에 대한 액세스 권한이 부여되며, 사용자는 사용자 이름이나 암호를 입력하지 않고 파일을 볼 수 있습니다.

MS-OFBA를 사용하는 애플리케이션을 게시하는 단계는 클레임 기반 애플리케이션 또는 비클레임 기반 애플리케이션의 단계와 동일합니다. 클레임 기반 애플리케이션의 경우 웹 브라우저 클라이언트용 클레임 기반 애플리케이션 게시를 참조하세요. 비 클레임 기반 애플리케이션은 웹 브라우저 클라이언트용 Windows 통합 인증 기반 애플리케이션 게시를 참조하세요. 웹 애플리케이션 프록시가 자동으로 클라이언트를 검색하고 필요에 따라 사용자를 인증합니다.

HTTP 기본을 사용하는 애플리케이션 게시

HTTP 기본은 스마트폰을 포함한 리치 클라이언트와 Exchange 사서함을 연결하기 위해 많은 프로토콜에서 사용하는 인증 프로토콜입니다. 자세한 내용은 HTTP 기본에서 RFC 2617을 참조하세요. 웹 애플리케이션 프록시는 일반적으로 리디렉션을 사용하여 AD FS와 상호 작용합니다. 대부분의 리치 클라이언트는 쿠키 또는 상태 관리를 지원하지 않습니다. 이러한 방식으로 웹 애플리케이션 프록시를 사용하면 HTTP 앱이 페더레이션 서비스에 대한 애플리케이션에 대한 비클레임 신뢰 당사자 트러스트를 받을 수 있습니다. Active Directory 계획을 참조하세요.

HTTP 기본을 사용하는 클라이언트에 대한 인증 흐름은 아래와 다이어그램에 설명되어 있습니다.

HTTP 기본 인증 다이어그램

  1. 사용자가 게시된 웹 애플리케이션(전화 클라이언트)에 액세스하려고 합니다.

  2. 앱에서 웹 애플리케이션 프록시에 의해 게시된 URL로 HTTPS 요청을 보냅니다.

  3. 요청에 자격 증명이 포함되어 있지 않은 경우 웹 애플리케이션 프록시는 인증하는 AD FS 서버의 URL이 포함된 HTTP 401 응답을 앱에 반환합니다.

  4. 사용자는 권한이 기본으로 설정된 HTTPS 요청을 다시 앱에 전송하고 www-authenticate 요청 헤더에 사용자의 사용자 이름과 Base 64로 암호화된 비밀번호를 입력합니다.

  5. 디바이스를 AD FS로 리디렉션할 수 없으므로 웹 애플리케이션 프록시 사용자 이름 및 암호를 포함하는 자격 증명을 사용하여 AD FS에 인증 요청을 보냅니다. 토큰은 디바이스를 대신하여 획득됩니다.

  6. AD FS로 전송되는 요청 수를 최소화하기 위해 웹 애플리케이션 프록시는 토큰이 유효한 동안 캐시된 토큰을 사용하여 후속 클라이언트 요청의 유효성을 검사합니다. 웹 애플리케이션 프록시는 주기적으로 캐시를 정리합니다. 성능 카운터를 사용하여 캐시의 크기를 볼 수 있습니다.

  7. 토큰이 유효한 경우 웹 애플리케이션 프록시가 백 엔드 서버에 요청을 전달하고 사용자에게 게시된 웹 애플리케이션에 대한 액세스 권한이 부여됩니다.

다음 절차에서는 HTTP 기본 애플리케이션을 게시하는 방법을 설명합니다.

HTTP 기본 애플리케이션을 게시하려면

  1. 웹 애플리케이션 프록시 서버의 원격 액세스 관리 콘솔 탐색 창에서 웹 애플리케이션 프록시를 클릭한 다음 작업 창에서 게시를 클릭합니다.

  2. 새 애플리케이션 게시 마법사시작 페이지에서 다음을 클릭합니다.

  3. 사전 인증 페이지에서 Active Directory Federation Services(AD FS)를 클릭한 후 다음을 클릭합니다.

  4. 지원되는 클라이언트 페이지에서 HTTP 기본을 선택하고 다음을 클릭합니다.

    작업 공간에 조인된 디바이스에서만 Exchange에 대한 액세스를 사용하도록 설정하려면 작업 공간에 조인된 디바이스에 대해서만 액세스 사용 상자를 선택합니다. 자세한 내용은 SSO 및 원활한 두 번째 단계 인증에서 회사 애플리케이션에 대한 모든 디바이스에서 작업 공간 가입을 참조하세요.

  5. 신뢰 당사자 페이지의 신뢰 당사자 목록에서 게시할 애플리케이션의 신뢰 당사자를 선택하고 다음을 클릭합니다. 이 목록에는 온-클레임 신뢰 당사자만 포함됩니다.

  6. 게시 설정 페이지에서 다음 작업을 수행한 후 다음을 클릭합니다.

    • 이름 상자에 애플리케이션의 이름을 입력합니다.

      이 이름은 원격 액세스 관리 콘솔의 게시된 애플리케이션 목록에만 사용됩니다.

    • 외부 URL 상자에 이 애플리케이션의 외부 URL(예: mail.contoso.com)을 입력합니다.

    • 외부 인증서 목록에서 주체에 외부 URL이 포함된 인증서를 선택합니다.

    • 백 엔드 서버 URL 상자에 백 엔드 서버의 URL을 입력합니다. 이 값은 외부 URL을 입력하면 자동으로 입력됩니다. 백 엔드 서버 URL이 다른 경우(예: mail.contoso.com)에만 변경해야 합니다.

  7. 확인 페이지에서 설정을 검토하고 게시를 클릭합니다. PowerShell 명령을 복사하여 게시된 추가 애플리케이션을 설정할 수 있습니다.

  8. 결과 페이지에서 애플리케이션이 게시되었는지 확인하고 닫기를 클릭합니다.

Windows PowerShell 해당 명령

다음 Windows PowerShell cmdlet은 이전 절차와 같은 기능을 수행합니다. 서식 제약 조건으로 인해 각 cmdlet이 여러 줄에 자동 줄 바꿈되어 표시될 수 있지만 각 cmdlet을 한 줄에 입력하세요.

이 Windows PowerShell 스크립트를 사용하면 작업 공간 조인 디바이스뿐만 아니라 모든 디바이스에 대한 사전 인증이 가능합니다.

Add-WebApplicationProxyApplication
     -BackendServerUrl 'https://mail.contoso.com'
     -ExternalCertificateThumbprint '697F4FF0B9947BB8203A96ED05A3021830638E50'
     -ExternalUrl 'https://mail.contoso.com'
     -Name 'Exchange'
     -ExternalPreAuthentication ADFSforRichClients
     -ADFSRelyingPartyName 'EAS_Relying_Party'

다음은 작업 공간 조인 디바이스만 사전 인증합니다.

Add-WebApplicationProxyApplication
     -BackendServerUrl 'https://mail.contoso.com'
     -ExternalCertificateThumbprint '697F4FF0B9947BB8203A96ED05A3021830638E50'
     -EnableHTTPRedirect:$true
     -ExternalUrl 'https://mail.contoso.com'
     -Name 'Exchange'
     -ExternalPreAuthentication ADFSforRichClients
     -ADFSRelyingPartyName 'EAS_Relying_Party'

Microsoft Store 앱과 같은 OAuth2를 사용하는 애플리케이션 게시

Microsoft Store 앱용 애플리케이션을 게시하려면 애플리케이션의 신뢰 당사자 트러스트를 페더레이션 서비스에 추가해야 합니다.

웹 애플리케이션 프록시 SSO(Single Sign-On)를 수행하고 Kerberos 제한 위임을 사용하여 자격 증명 위임을 수행하려면 웹 애플리케이션 프록시 서버를 도메인에 가입해야 합니다. Active Directory 계획을 참조하세요.

참고 항목

웹 애플리케이션 프록시는 OAuth 2.0 프로토콜을 사용하는 Microsoft Store 앱에 대해서만 게시를 지원합니다.

AD FS 관리 콘솔에서 OAuth 엔드포인트에 프록시가 사용되는지 확인해야 합니다. OAuth 엔드포인트에서 프록시를 사용하는지 확인하려면 AD FS 관리 콘솔을 열고 서비스를 확장한 다음, 엔드포인트를 클릭합니다. 엔드포인트 목록에서 OAuth 엔드포인트를 찾아서 프록시 사용 열의 값이 인지 확인합니다.

Microsoft Store 앱을 사용하는 클라이언트에 대한 인증 흐름은 다음과 같습니다.

참고 항목

웹 애플리케이션 프록시 인증을 위해 AD FS 서버로 리디렉션됩니다. Microsoft Store 앱은 리디렉션을 지원하지 않으므로 Microsoft Store 앱을 사용하는 경우 Set-WebApplicationProxyConfiguration cmdlet과 OAuthAuthenticationURL 매개 변수를 사용하여 AD FS 서버의 URL을 설정해야 합니다.

Microsoft Store 앱은 Windows PowerShell을 사용해서만 게시할 수 있습니다.

  1. 클라이언트에서 Microsoft Store 앱을 사용하여 게시된 웹 애플리케이션에 액세스하려고 시도합니다.

  2. 앱에서 웹 애플리케이션 프록시에 의해 게시된 URL로 HTTPS 요청을 보냅니다.

  3. 웹 애플리케이션 프록시는 인증 AD FS 서버의 URL을 포함하는 HTTP 401 응답을 앱에 반환합니다. 이 프로세스를 '검색'이라고 합니다.

    참고 항목

    앱이 인증 AD FS 서버의 URL을 이미 알고 있고 OAuth 토큰과 에지 토큰이 포함된 콤보 토큰을 이미 가지고 있는 경우에는 이 인증 흐름에서 2단계와 3단계를 건너뜁니다.

  4. 앱에서 AD FS 서버로 HTTPS 요청을 보냅니다.

  5. 앱에서 웹 인증 브로커를 사용하여 AD FS 서버에 인증하기 위해 사용자가 자격 증명을 입력해야 하는 대화 상자를 생성합니다. 웹 인증 브로커에 대한 자세한 내용은 웹 인증 브로커를 참조하세요.

  6. 인증에 성공하면 AD FS 서버에서 OAuth 토큰 및 에지 토큰이 포함된 콤보 토큰을 만들어 앱으로 전송합니다.

  7. 앱에서 웹 애플리케이션 프록시에 의해 게시된 URL로 콤보 토큰이 포함된 HTTPS 요청을 보냅니다.

  8. 웹 애플리케이션 프록시가 콤보 토큰을 두 부분으로 분할하여 에지 토큰의 유효성을 검사합니다.

  9. 에지 토큰이 유효하면 웹 애플리케이션 프록시가 OAuth 토큰만 포함된 요청을 백 엔드 서버로 전달합니다. 사용자에게 게시된 웹 애플리케이션에 대한 액세스 권한이 부여됩니다.

이 절차에서는 OAuth2용 애플리케이션을 게시하는 방법에 대해 설명합니다. 이 유형의 애플리케이션은 Windows PowerShell을 통해서만 게시할 수 있습니다. 시작하기 전에 다음 작업을 완료했는지 확인합니다.

  • AD FS 관리 콘솔에서 애플리케이션에 대한 신뢰 당사자 트러스트 만들기

  • AD FS 관리 콘솔에서 OAuth 엔드포인트에 프록시가 사용되는지 확인하고 URL 경로를 기록합니다.

  • 웹 애플리케이션 프록시 서버의 인증서가 게시하려는 애플리케이션에 적합한지 확인

OAuth2 앱을 게시하려면

  1. 웹 애플리케이션 프록시 서버의 원격 액세스 관리 콘솔 탐색 창에서 웹 애플리케이션 프록시를 클릭한 다음 작업 창에서 게시를 클릭합니다.

  2. 새 애플리케이션 게시 마법사시작 페이지에서 다음을 클릭합니다.

  3. 사전 인증 페이지에서 Active Directory Federation Services(AD FS)를 클릭한 후 다음을 클릭합니다.

  4. 지원되는 클라이언트 페이지에서 OAuth2를 선택하고 다음을 클릭합니다.

  5. 신뢰 당사자 페이지의 신뢰 당사자 목록에서 게시할 애플리케이션의 신뢰 당사자를 선택하고 다음을 클릭합니다.

  6. 게시 설정 페이지에서 다음 작업을 수행한 후 다음을 클릭합니다.

    • 이름 상자에 애플리케이션의 이름을 입력합니다.

      이 이름은 원격 액세스 관리 콘솔의 게시된 애플리케이션 목록에만 사용됩니다.

    • 외부 URL 상자에 이 애플리케이션의 외부 URL을 입력합니다. 예: https://server1.contoso.com/app1/

    • 외부 인증서 목록에서 주체에 외부 URL이 포함된 인증서를 선택합니다.

      사용자가 URL에 HTTPS를 입력하지 않더라도 앱에 액세스할 수 있도록 하려면 HTTP에서 HTTPS로 리디렉션 사용 상자를 선택합니다.

    • 백 엔드 서버 URL 상자에 백 엔드 서버의 URL을 입력합니다. 이 값은 외부 URL을 입력하면 자동으로 입력됩니다. 백 엔드 서버 URL이 다른 경우(예: http://maps/)에만 변경해야 합니다. 예: https://sp/app1/.

      참고 항목

      웹 애플리케이션 프록시는 URL의 호스트 이름을 변환할 수 있지만 경로 이름을 변환할 수는 없습니다. 따라서 서로 다른 호스트 이름을 입력할 수 있지만 경로 이름은 같아야 합니다. 예를 들어 https://apps.contoso.com/app1/의 외부 URL 및 https://app-server/app1/.의 백 엔드 서버 URL을 입력할 수 있습니다. 그러나 https://apps.contoso.com/app1/의 외부 URL 및 https://apps.contoso.com/internal-app1/의 백 엔드 서버의 URL은 입력할 수 없습니다.

  7. 확인 페이지에서 설정을 검토하고 게시를 클릭합니다. PowerShell 명령을 복사하여 게시된 추가 애플리케이션을 설정할 수 있습니다.

  8. 결과 페이지에서 애플리케이션이 게시되었는지 확인하고 닫기를 클릭합니다.

서식 제약 조건으로 인해 각 cmdlet이 여러 줄에 자동 줄 바꿈되어 표시될 수 있지만 각 cmdlet을 한 줄에 입력하세요.

페더레이션 서버 주소가 fs.contoso.com이고 URL 경로가 /adfs/oauth2/인 OAuth 인증 URL을 설정하려면

Set-WebApplicationProxyConfiguration -OAuthAuthenticationURL 'https://fs.contoso.com/adfs/oauth2/'

애플리케이션을 게시하려면

Add-WebApplicationProxyApplication
    -BackendServerURL 'https://storeapp.contoso.com/'
    -ExternalCertificateThumbprint '1a2b3c4d5e6f1a2b3c4d5e6f1a2b3c4d5e6f1a2b'
    -ExternalURL 'https://storeapp.contoso.com/'
    -Name 'Microsoft Store app Server'
    -ExternalPreAuthentication ADFS
    -ADFSRelyingPartyName 'Store_app_Relying_Party'
    -UseOAuthAuthentication