애플리케이션 프록시 및 PingAccess를 사용하여 Single Sign-On에 대한 헤더 기반 인증
Microsoft는 PingAccess와 협력하여 더 많은 액세스 애플리케이션을 제공합니다. PingAccess는 통합된 헤더 기반 Single Sign-On 이외의 다른 옵션을 제공합니다.
Microsoft Entra ID에 대한 PingAccess란?
Microsoft Entra ID용 PingAccess를 사용하면 사용자에게 인증에 헤더를 사용하는 애플리케이션에 대한 액세스 권한 및 SSO(Single Sign-On)를 제공합니다. 애플리케이션 프록시는 이러한 애플리케이션을 Microsoft Entra ID를 사용하여 액세스를 인증한 다음, 커넥터 서비스를 통해 트래픽을 전달하는 방식으로 다른 앱과 유사하게 처리합니다. PingAccess는 애플리케이션 앞에 배치되고 액세스 토큰을 Microsoft Entra ID에서 헤더로 변환합니다. 그러면 애플리케이션이 읽을 수 있는 형식으로 인증을 받습니다.
사용자는 회사 애플리케이션을 사용하기 위해 로그인할 때 달라진 점을 알아차리지 못합니다. 애플리케이션은 여전히 어디에서든지 모든 디바이스에서 작동합니다. 프라이빗 네트워크 커넥터는 인증 유형에 관계없이 모든 앱에 원격 트래픽을 전달하므로 계속해서 자동으로 부하를 분산합니다.
액세스 권한은 어떻게 얻을 수 있나요?
PingAccess 및 Microsoft Entra ID에 대한 라이선스가 필요합니다. 그러나 Microsoft Entra ID P1 또는 P2 구독에는 최대 20개의 애플리케이션을 보장하는 기본 PingAccess 라이선스가 포함되어 있습니다. 헤더 기반 애플리케이션을 20개 이상 게시해야 하는 경우 PingAccess에서 더 많은 라이선스를 구매할 수 있습니다.
자세한 내용은 Microsoft Entra 버전을 참조하세요.
Microsoft Entra에서 애플리케이션 게시
이 문서에서는 애플리케이션을 처음으로 게시하는 단계를 간략하게 설명합니다. 이 문서에서는 애플리케이션 프록시와 PingAccess 모두에 대한 지침을 제공합니다.
참고 항목
일부 지침은 Ping ID 사이트에 있습니다.
프라이빗 네트워크 커넥터 설치
프라이빗 네트워크 커넥터는 원격 직원의 트래픽을 게시된 애플리케이션으로 전달하는 Windows Server 서비스입니다. 자세한 설치 지침은 자습서: Microsoft Entra ID에서 애플리케이션 프록시를 통한 원격 액세스를 위해 온-프레미스 애플리케이션 추가를 참조하세요.
- 최소한 애플리케이션 관리자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
- ID>애플리케이션>엔터프라이즈 애플리케이션>애플리케이션 프록시로 이동합니다.
- 커넥터 서비스 다운로드를 선택합니다.
- 설치 지침을 따릅니다.
커넥터를 다운로드하면 디렉터리에 대해 애플리케이션 프록시가 자동으로 활성화되지만 그렇지 않은 경우 애플리케이션 프록시 사용을 선택할 수 있습니다.
애플리케이션 프록시 사용하여 Microsoft Entra ID에 애플리케이션 추가
Microsoft Entra ID에 애플리케이션을 추가하는 두 가지 단계가 있습니다. 먼저 애플리케이션 프록시를 사용하여 애플리케이션을 게시해야 합니다. 그런 다음 PingAccess 단계에서 사용할 수 있는 애플리케이션에 대한 정보를 수집해야 합니다.
애플리케이션 게시
먼저 애플리케이션을 게시합니다. 이 작업은 다음을 포함합니다.
- 온-프레미스 애플리케이션을 Microsoft Entra ID에 추가합니다.
- 애플리케이션을 테스트하고 헤더 기반 Single Sign-On을 선택할 사용자를 할당합니다.
- 애플리케이션의 리디렉션 URL을 설정합니다.
- 사용자 및 다른 애플리케이션에서 온-프레미스 애플리케이션을 사용할 수 있는 권한을 부여합니다.
사용자 고유의 온-프레미스 애플리케이션을 게시하려면
애플리케이션 관리자로 Microsoft Entra 관리 센터에 로그인합니다.
엔터프라이즈 애플리케이션>새 애플리케이션>온-프레미스 애플리케이션 추가로 이동합니다. 그러면 사용자 고유의 온-프레미스 애플리케이션 추가 페이지가 나타납니다.
새 애플리케이션에 대한 정보로 필수 필드를 입력합니다. 설정에 지침을 사용합니다.
참고 항목
이 단계에 대한 자세한 연습은 Microsoft Entra ID에 온-프레미스 앱 추가를 참조하세요.
내부 URL: 회사 네트워크에 있을 때 일반적으로 앱의 로그인 페이지로 안내하는 URL을 제공합니다. 이 시나리오의 경우 커넥터에서 PingAccess 프록시를 애플리케이션의 기본 페이지로 처리해야 합니다.
https://<host name of your PingAccess server>:<port>
형식을 사용합니다. 포트는 기본적으로 3000이지만 PingAccess에서 구성할 수 있습니다.Warning
이 유형의 Single Sign-On에서는 내부 URL은
http
가 아닌https
를 사용해야 합니다. 또한 애플리케이션 프록시가 두 애플리케이션 간에 구별을 유지할 수 있도록 두 애플리케이션이 동일한 내부 URL을 가져서는 안 됩니다.사전 인증 방법: Microsoft Entra ID를 선택합니다.
헤더에서 URL 변환: 아니요를 선택합니다.
참고 항목
첫 번째 애플리케이션인 경우 3000 포트를 사용하여 시작하고 PingAccess 구성을 변경하면 다시 돌아와서 이 설정을 업데이트합니다. 후속 애플리케이션의 경우 포트는 사용자가 PingAccess에서 구성한 수신기와 일치해야 합니다.
추가를 선택합니다. 새 애플리케이션의 개요 페이지가 나타납니다.
이제 애플리케이션 테스트를 위해 사용자를 할당하고 헤더 기반 Single Sign-On을 선택합니다.
애플리케이션 사이드바에서 사용자 및 그룹>사용자 추가>사용자 및 그룹(<숫자> 선택됨)을 선택합니다. 선택할 수 있는 사용자 및 그룹의 목록이 표시됩니다.
애플리케이션 테스트를 위한 사용자를 선택하고 선택을 선택합니다. 이 테스트 계정에 온-프레미스 애플리케이션에 대한 액세스 권한이 있는지 확인합니다.
할당을 선택합니다.
애플리케이션 사이드바에서 Single Sign-On>헤더 기반을 선택합니다.
팁
헤더 기반 Single Sign-On을 처음 사용하는 경우 PingAccess를 설치해야 합니다. Microsoft Entra 구독이 PingAccess 설치와 자동으로 연결되도록 하려면 이 Single Sign-On 페이지의 링크를 사용하여 PingAccess를 다운로드합니다. 지금 다운로드 사이트를 열거나 나중에 이 페이지로 다시 돌아올 수 있습니다.
저장을 선택합니다.
그런 다음 리디렉션 URL이 외부 URL로 설정되었는지 확인합니다.
- ID>애플리케이션>앱 등록으로 이동한 다음 애플리케이션을 선택합니다.
- 리디렉션 URI 옆의 링크를 선택합니다. 링크는 웹 및 공용 클라이언트에 대한 리디렉션 URI(Uniform Resource Identifier) 설정의 양을 보여 줍니다. <애플리케이션 이름> - 인증 페이지가 나타납니다.
- 이전에 애플리케이션에 할당한 외부 URL이 리디렉션 URI 목록에 있는지 확인합니다. 그렇지 않으면 웹의 리디렉션 URI 형식을 사용하여 지금 외부 URL을 추가하고 저장을 선택합니다.
외부 URL 외에도 외부 URL에 대한 Microsoft Entra ID의 권한 부여 엔드포인트를 리디렉션 URI 목록에 추가해야 합니다.
https://*.msappproxy.net/pa/oidc/cb
https://*.msappproxy.net/
마지막으로, 사용자에게 read
액세스 권한이 있고 다른 애플리케이션에는 read/write
액세스 권한이 있도록 온-프레미스 애플리케이션을 설정합니다.
애플리케이션의 앱 등록 사이드바에서 API 사용 권한>권한 추가>Microsoft API>Microsoft Graph를 선택합니다. Microsoft Graph에 대한 권한이 포함된 Microsoft Graph에 대한 API 권한 요청 페이지가 나타납니다.
위임된 권한>사용자>User.Read를 선택합니다.
애플리케이션 사용 권한>애플리케이션>Application.ReadWrite.All을 선택합니다.
권한 추가를 선택합니다.
API 권한 페이지에서 <디렉터리 이름>에 대한 관리자 동의 부여를 선택합니다.
PingAccess 단계에 대한 정보 수집
GUID(Globally Unique Identifier) 3개를 수집합니다. GUID를 사용하여 PingAccess로 애플리케이션을 설정합니다.
Microsoft Entra 필드의 이름 | PingAccess 필드의 이름 | 데이터 형식 |
---|---|---|
애플리케이션(클라이언트) ID | 클라이언트 ID | GUID |
디렉터리(테넌트) ID | 발급자 | GUID |
PingAccess key |
클라이언트 암호 | 임의 문자열 |
이 정보를 수집하려면
ID>애플리케이션>앱 등록으로 이동한 다음 애플리케이션을 선택합니다.
애플리케이션(클라이언트) ID 값 옆에서 클립보드에 복사 아이콘을 선택하여 값을 복사하고 저장합니다. 나중에 이 값을 PingAccess의 클라이언트 ID로 지정합니다.
디렉터리(테넌트) ID 값 옆에서도 클립보드에 복사 아이콘을 선택하여 값을 복사하고 저장합니다. 나중에 이 값을 PingAccess의 발급자로 지정합니다.
애플리케이션의 앱 등록 사이드바에서 인증서 및 비밀>새 클라이언트 비밀을 선택합니다. 클라이언트 비밀 추가 페이지가 나타납니다.
설명에서
PingAccess key
를 입력합니다.만료에서 PingAccess 키를 설정하는 방법을 1년 후, 2년 후 또는 기한 없음 중에서 선택합니다.
추가를 선택합니다. PingAccess 키가 클라이언트 비밀 테이블에 값 필드가 임의 문자열로 채워진 상태로 표시됩니다.
PingAccess 키의 값 필드 옆에서 클립보드로 복사 아이콘을 선택하여 값을 복사하고 저장합니다. 나중에 이 값을 PingAccess의 클라이언트 비밀로 지정합니다.
acceptMappedClaims
필드를 업데이트합니다.
- 최소한 애플리케이션 관리자 자격으로 Microsoft Entra 관리 센터에 로그인합니다.
- 오른쪽 위 모서리에서 사용자 이름을 선택합니다. 애플리케이션 프록시를 사용하는 디렉터리에 로그인했는지 확인합니다. 디렉터리를 변경해야 할 경우 디렉터리 전환을 선택하고 애플리케이션 프록시를 사용하는 디렉터리를 선택합니다.
- ID>애플리케이션>앱 등록으로 이동한 다음 애플리케이션을 선택합니다.
- 애플리케이션의 앱 등록 페이지의 사이드바에서 매니페스트를 선택합니다. 애플리케이션의 등록에 대한 매니페스트 JSON 코드가 표시됩니다.
acceptMappedClaims
를 검색하여 값을True
로 변경합니다.- 저장을 선택합니다.
선택적 클레임 사용(선택 사항)
선택적 클레임을 사용하여 모든 사용자 및 테넌트에 포함된 기본 제공 클레임을 추가할 수 있습니다. 애플리케이션 매니페스트를 수정하여 애플리케이션의 선택적 클레임을 구성할 수 있습니다. 자세한 내용은 Microsoft Entra 애플리케이션 매니페스트 이해 문서를 참조하세요.
PingAccess가 사용할 access_token에 이메일 주소를 포함하는 예제는 다음과 같습니다.
"optionalClaims": {
"idToken": [],
"accessToken": [
{
"name": "email",
"source": null,
"essential": false,
"additionalProperties": []
}
],
"saml2Token": []
},
클레임 매핑 정책 사용(선택 사항)
클레임 매핑을 사용하면 ADFS(Active Directory Federation Services) 또는 사용자 개체를 백업하는 사용자 지정 클레임을 추가하여 이전 온-프레미스 앱을 클라우드로 마이그레이션할 수 있습니다. 자세한 내용은 클레임 사용자 지정을 참조 하세요.
사용자 지정 클레임을 사용하고 애플리케이션에 더 많은 필드를 포함하려면. 사용자 지정 클레임 매핑 정책을 만들고 애플리케이션에 할당했습니다.
참고 항목
사용자 지정 클레임을 사용하려면 사용자 지정 정책도 정의하고 애플리케이션에 할당해야 합니다. 정책은 필요한 모든 사용자 지정 특성을 포함해야 합니다.
PowerShell 또는 Microsoft Graph를 통해 정책 정의 및 할당을 수행할 수 있습니다. 이 작업을 PowerShell에서 수행하는 경우 먼저 New-AzureADPolicy
를 사용한 후 Add-AzureADServicePrincipalPolicy
를 사용하여 애플리케이션에 할당해야 할 수 있습니다. 자세한 내용은 클레임 매핑 정책 할당을 참조하세요.
예시:
$pol = New-AzureADPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"employeeid","JwtClaimType":"employeeid"}]}}') -DisplayName "AdditionalClaims" -Type "ClaimsMappingPolicy"
Add-AzureADServicePrincipalPolicy -Id "<<The object Id of the Enterprise Application you published in the previous step, which requires this claim>>" -RefObjectId $pol.Id
PingAccess에서 사용자 지정 클레임을 사용하도록 설정
PingAccess에서 사용자 지정 클레임을 사용하도록 설정하는 것은 선택 사항이지만, 애플리케이션에서 더 많은 클레임을 사용해야 하는 경우에는 필수입니다.
다음 단계에서 PingAccess를 구성할 때 만들 웹 세션(설정->액세스->웹 세션)에서 요청 프로필을 선택 취소하고 사용자 특성 새로 고침을 아니요로 설정해야 합니다.
PingAccess 다운로드 및 애플리케이션 구성
이 시나리오의 PingAccess 부분에 대한 자세한 단계는 Ping ID 문서에서 계속됩니다.
Microsoft Entra ID OIDC(OpenID Connect) 연결을 만들려면 Microsoft Entra 관리 센터에서 복사한 디렉터리(테넌트) ID 값을 사용하여 토큰 공급자를 설정합니다. PingAccess에서 웹 세션을 만듭니다. Application (client) ID
및 PingAccess key
값을 사용합니다. ID 매핑을 설정하고 가상 호스트, 사이트 및 애플리케이션을 만듭니다.
애플리케이션 테스트
애플리케이션이 실행 중입니다. 테스트하려면 브라우저를 열고 Microsoft Entra에서 애플리케이션을 게시할 때 만든 외부 URL로 이동합니다. 애플리케이션에 할당한 테스트 계정으로 로그인합니다.