가장 구성

목차
casso127kkr
목차
2
엔터프라이즈에서 가장을 구현하려면 여러 정책 서버 개체를 구성해야 합니다. 여러 개체를 조합하면 한 사용자가 다른 사용자로 가장(impersonate)하는 데 필요한 인증 및 정책 권한을 제공할 수 있습니다. 가장을 위해서는 다음 개체가 필요합니다.
  • 인프라 개체:
    • IIS용
      가장에는 웹 에이전트 및 관련 정책 서버 에이전트 개체가 필요합니다.
      참고:
      가장을 구현하려면 배포에 하나 이상의 웹 에이전트가 설치되어 있어야 합니다.
    • 인증 체계
      가장은 가장 템플릿에 기반한 인증 체계 개체가 필요합니다.
    • 사용자 디렉터리
      가장은 가장 주체(Impersonator)와 가장 대상(Impersonatee)을 포함한 사용자 저장소를 가리키는 하나 이상의 사용자 디렉터리 개체가 필요합니다. 특성 값 또는 그룹 구성원 자격으로 인해 두 사용자는 고유해야 합니다.
    • 도메인
      가장은 사용자 디렉터리 개체를 포함하는 정책 도메인 개체가 필요합니다.
  • 도메인 개체:
    • 영역
      가장은 최소 두 개의 구성된 영역 개체가 필요합니다. 하나의 영역은 가장 대상이 액세스할 수 있는 리소스를 포함합니다. 다른 영역은 가장 영역이며, 가장 세션을 초기화하는 데 필요한 리소스 및 규칙을 포함합니다.
    • 규칙
      가장은 액세스 제어 규칙이 필요합니다. 또한, 가장 주체가 가장 세션을 시작하기 위해 ImpersonateStart 이벤트를 사용한 규칙이 있어야 합니다. 사용자가 가장될 수 있도록 ImpersonateStartUser 이벤트를 사용한 규칙이 있어야 합니다.
    • 정책
      리소스를 보호하는 정책에 추가하여, 가장은 가장 영역에서 리소스에 대한 액세스를 허용하기 위해 추가 정책이 필요합니다. 이러한 정책은 사용자를 가장 주체로서 인식하고 가장 대상 수를 제한합니다.
startimp.fcc를 사용하도록 에이전트 구성
가장 세션을 호출하려면 FCC 파일(샘플 startimp.fcc 등)이 가장 인증 체계에 지정되어야 하고 웹 에이전트에 의해 처리되어야 합니다. 기본적으로 웹 에이전트는 .fcc 파일 확장명을 사용하는 파일을 보호하지 않습니다.
웹 에이전트가 가장 세션의 초기화를 허용하려면 다음 두 개 옵션 중 하나가 필요합니다.
  • .fcc 확장명이 무시되지 않도록 웹 에이전트가 구성되어야 합니다.
  • 가장을 호출하기 위해 사용된 .fcc 파일은 무시되지 않는 다른 파일 확장명(예: .ifcc)을 사용해야 합니다.
가장 인증 체계 구성
가장은 가장 인증 체계를 필요로 합니다. 이 체계는 가장 주체가 가장 프로세스를 시작하기 위한 방법으로서 사용됩니다. 가장 세션을 시작하기 위해 가장 주체는 가장 인증 체계가 보호하는 리소스인 .fcc 파일을 직접 액세스합니다.
.fcc 파일을 통한 가장 활성화
가장에 있어 중요한 사항은 인증 프로세스가 적절한 인증 체계 및 .fcc 파일을 사용하는 것입니다. 가장 인증 체계를 활성화하는 .fcc 파일은 웹 에이전트를 통해 설치됩니다. 이 파일은 .fcc 확장명으로 끝나야 합니다. 이 확장명을 사용하는 파일은 웹 에이전트에 의한 특별 처리의 이점을 누릴 수 있습니다. 가장 인증 체계는 HTML 양식 인증 체계와 유사합니다.
가장 주체는 체계에 대한 .fcc 파일에 직접 액세스하여 가장 인증 체계를 호출할 수 있습니다. 적절한 인증 체계는 .fcc 파일의 대상 매개 변수를 통해 호출됩니다. 이 값은 @target 지시문으로 사용하거나 대상(숨은 양식 post 변수)을 적절한 웹 페이지로 설정하여 .fcc 파일에 하드 코드될 수 있습니다.
참고:
대상 리소스는 반드시 가장 인증 체계가 보호하는 영역에 있어야 합니다.
가장을 위한 기본적인 .fcc 요구 사항
가장 프로세스를 시작하는 FCC는 또한 @smpushsession=true 지시문으로 포함해야 합니다. 이 지시문은 세션 쿠키가 가장된 사용자의 세션 사양을 보유할 수 있도록 다른 쿠키에 현재 세션 쿠키 콘텐츠를 저장하도록 웹 에이전트에게 지시합니다.
인증이 수행되기 위해서는 가장 인증 체계를 처리하는 웹 에이전트에 적절한 자격 증명이 있어야 합니다. 사용자 이름은 가장되는 사용자의 사용자 이름입니다. 암호는 가장 주체의 세션 사양으로 설정되어야 하며, 필요한 경우 추가 특성을 앞에 추가해야 합니다. 양식이 포스트될 때 쿠키 또는 헤더의 콘텐츠를 지시문으로 대체하는 FCC의 기능이 이 용도로 사용됩니다. 이 기능을 사용하여 FCC는 @password 지시문을 필요한 경우 다른 데이터와 함께 사용자 세션 사양으로 설정합니다.
가장 프로세스를 끝내기 위해 가장 인증 체계에 의해 보호되는 영역에 또 다른 .fcc 파일이 포함될 수 있습니다. 이 .fcc 파일은 가장 프로세스를 시작하는 데 사용된 제한된 영역의 리소스를 가리키도록 @target 지시문을 설정해야 합니다. 또한 @smredirect 지시문은 인증 프로세스를 중단시키기 위해 동일한 리소스로 설정되어야 합니다. 마지막으로, 원래 세션 쿠키를 복원하기 위해 @smpopsession=true 지시문이 사용되어야 합니다.
가장을 위한 FCC 지시문
가장을 위한 .fcc 파일을 만들 때는 파일에 다음 지시문이 사용되어야 합니다.
  • @logout
    이 지시문은
    Single Sign-On
    에서 사용자를 로그아웃시키고 SMSESSION 쿠키를 제거합니다.
  • @smheaders
    이 지시문은 FCC 네임스페이스에 HTTP 요청 헤더를 추가합니다. 가장을 위해 이 지시문은 암호로서 사용할 수 있도록 세션 사양 헤더 SMSERVERSESSIONSPEC(또는 SM_SERVERSESSIONSPEC. SMSERVERSESSIONSPEC 및 LegacyVariables에 대한 설명 참조)의 콘텐츠를 FCC 네임스페이스에 제공합니다.
  • @smpushsession
    이 지시문은 사용자가 다른 사용자로 “가장”한 다음 원래 세션으로 돌아가도록 허용합니다. 이 지시문은 "true"로 설정되어야 합니다.
  • @smpopsession
    이 지시문은 @smpushsession이 사용된 이후에 원래 세션으로 돌아갑니다. 이 설정은 "true"로 설정되어야 합니다.
  • @smredirect
    이 지시문은 요청을 지정된 대상으로 리디렉션합니다.
  • @target
    이 지시문은 URL 처리 후 어디로 리디렉션할지를 FCC에게 알려 줍니다.
  • @password
    이 지시문은 정책 서버로 전달할 암호의 콘텐츠를 지정합니다.
  • @smaltcreds
    사용자 지정 인증 체계가 4KB보다 큰 자격 증명을 보내도록 허용합니다. 이것은 @password 지시문이 사용된 것과 동일한 방식으로 사용될 수 있습니다. @smaltcreds를 사용하여 자격 증명이 FCC에 포스트된 경우 그 값은 4k바이트로 제한된 암호 필드를 피하여 바이트 버퍼로서 로그인 중에 정책 서버로 전달됩니다. @smaltcreds 지시문은 기존의 기본 인증 체계와 함께 사용할 수
    없지만
    사용자 지정 인증에는 사용할 수 있습니다. 사용자 지정 인증 체계의 개발자들은 로그인 중에 에이전트 API를 통해 전달된 사용자 자격 증명 구조의 lpszCertBinary 필드에서 @smaltcreds 자격 증명을 찾는 인증 체계 라이브러리를 코딩해야 합니다.
  • @username
    이 지시문은 정책 서버로 전달할 사용자 이름을 지정합니다.
  • % 및 $ 대체 기능
    "%" 및 "$$" 기능은 Perl의 스칼라 변수와 유사한 데이터 대체에 사용됩니다. "%NAME%"는 POST에서 "NAME"과 관련된 데이터로 "NAME"을 대체하는 데 사용됩니다. "$$NAME$$"는 GET에서 "NAME"과 관련된 데이터로 "NAME"을 대체하는 데 사용됩니다.
FCC를 사용한 세션 사양 획득
웹 에이전트는 일련의 헤더에 세션 사양을 저장하여 모든 요청에서 이 사양을 포함시킵니다. 세션 사양 헤더는 여러 FCC 지시문을 사용하여 암호로서 제출될 수 있습니다. @smheaders 지시문은 FCC의 네임스페이스에 SMSERVERSESSIONSPEC 헤더를 포함하기 위해 사용됩니다. @password 지시문은 SMSERVERSESSIONSPEC 헤더의 콘텐츠에 암호를 설정하기 위해 사용됩니다.
SM_SERVERSESSIONSPEC/SMSERVERSESSION 헤더는 DisableSessionVars가 웹 에이전트 구성 파일에서 기본값인 false로 설정된 경우에만 사용할 수 있습니다.
참고:
LegacyVariables 웹 에이전트 매개 변수가 Yes로 설정되면 헤더는 SM_SERVERSESSIONSPEC가 됩니다. 참고: LegacyVariables 웹 에이전트 매개 변수가 No로 설정되면 헤더는 SMSERVERSESSIONSPEC가 됩니다. LegacyVariables 매개 변수는 IIS 6.0 웹 서버의 웹 에이전트에 대해 지원되지 않습니다. IIS 6.0의 웹 에이전트의 경우 SMSERVERSESSIONSPEC가 항상 올바른 헤더입니다.
가장을 위한 .fcc 파일 예
다음 .fcc 파일은 가장 프로세스를 시작하기 위해 가장 주체에 의해 직접 호출되거나 가장 인증 체계에 의해 호출됩니다.
@username=%USER% @smheaders=%SMSERVERSESSIONSPEC% @password=%SMSERVERSESSIONSPEC% @smpushsession=true <html> <head><title>Sample Impersonation Form</title></head> <body> <h3> Please enter your Impersonation Information</h3> <form method=post><table> <tr> <td>User Name:</td> <td><input type=text name=USER></td> </tr> <input type=hidden name=target value="server.example.com/app/impersonatee/successimp.htm"> <tr><td><input type=submit></td></tr> </table></form></body> </html>
가장 주체는 원래 세션으로 돌아가기 위해 다음 .fcc 파일을 호출합니다.
@smpopsession=true @target=/impersonators/end.htm @smredirect=/impersonators/end.htm
FCCCompatMode의 영향
기존 웹 에이전트가 fcccompatmode를 기본적으로 yes로 설정하지만 프레임워크 웹 에이전트는 fcccompatmode를 no로 설정합니다. 이 모드가 yes로 설정되면 웹 에이전트는 가장 요청을 처리할 수 있습니다. 하지만 모드가 no로 설정된 경우 웹 에이전트가 가장 요청을 처리하려면 다음 두 개의 요구 사항이 충족되어야 합니다.
  • 웹 에이전트 구성 매개 변수 EncryptAgentName이 false로 설정되어야 합니다.
  • 웹 에이전트 구성 매개 변수 AgentName이 가장을 시작하는 fcc 파일에 코딩되거나 가장 세션이 시작되었을 때 에이전트로 전달된 쿼리 데이터에 코딩되어야 합니다.
가장 이벤트 구성
가장 이벤트는 권한 있는 사용자가 다른 사용자로 가장할 수 있도록 허용하기 위해 구성되어 정책에 포함되어야 하는 규칙 이벤트입니다.
가장을 사용하려면 다음 각각의 가장 이벤트 중 하나 이상을 구성하십시오.
  • ImpersonateStart
    적절한 정책에 포함된 경우 이 이벤트가 포함된 규칙은 가장 세션이 시작될 수 있도록 합니다.
  • ImpersonateStartUser
    적절한 정책에 포함된 경우 이 이벤트가 포함된 규칙은 사용자 집합을 가장할 수 있도록 합니다.
가장에 대한 정책 구성
가장이 올바로 기능하도록 하려면 여러 정책을 구성해야 합니다.
가장을 시작하는 리소스에 대해 다음 항목이 필요합니다.
  • 가장 주체 및 가장 대상 모두에 대한 액세스 제어 정책 예: 가장 주체 및 가장 대상 모두에 대한 GET 액세스 규칙을 포함하는 정책
  • ImpersonationStart 규칙 및 가장 주체를 포함하는 가장 정책
  • ImpersonationStartUser 규칙 및 가장 대상을 포함하는 가장 정책
가장 주체가 리소스에 액세스하려면 다음 항목이 필요합니다.
  • 가장 대상에 대한 액세스 제어 정책 예: 가장 대상에 대한 GET 액세스 규칙을 포함하는 정책
  • ImpersonationStart 규칙 및 가장 주체를 포함하는 가장 정책
  • ImpersonationStartUser 규칙 및 가장 대상을 포함하는 가장 정책
참고:
가장 주체가 액세스할 수 있는 각 리소스에 대해 정책이 있어야 합니다.
다음 그림은 가장 주체가 리소스에 액세스하기 위해 필요한 최소 정책을 보여 줍니다:
Example impersonation policies
다중 쿠키 도메인 지원
사이트가 여러 쿠키 도메인으로 구성된 경우 서로 다른 쿠키 도메인에 있는 리소스 사이에서 이동할 때 가장 주체의 아이덴티티가 혼동될 수 있습니다. 이 문제를 방지하려면 현재 쿠키 도메인을 제외한 모든 쿠키 도메인에서 SMSESSION 쿠키를 지워야 합니다. 이 작업은 가장을 시작하고 끝내는 데 사용되는 양식을 수정하는 방법으로 수행되어야 합니다. 현재 쿠키 도메인을 제외한 모든 쿠키 도메인에서 SMSESSION 쿠키를 지우기 위해 서버 쪽 코드를 호출하는 HTML 또는 스크립트를 이러한 양식에 추가하십시오.
예를 들어, yourcompany.com, subsidiaryA.com, subsidiaryB.com에 설치된 웹 에이전트를 가정합니다. 가장을 수행하는 웹 에이전트는 yourcompany.com 도메인에 있을 수 있습니다. 가장을 시작하고 종료하는 .fcc 파일은 subsidiaryA.com 및 subsidiaryB.com에서 서버 쪽 기능(예: JSP 페이지)을 호출하여 가장이 올바로 기능하도록 쿠키 도메인에서 SMSESSION 쿠키를 지워야 합니다.