Single Logout 개요(SAML 2.0)

목차
sm1252sp1kkr
목차
2
SLO(Single Logout)가 수행되면 로그아웃을 시작한 브라우저에 대한 모든 사용자의 세션이 동시에 종료됩니다. 모든 세션을 닫으면 인증되지 않은 사용자가 SP의 리소스에 액세스하지 못하게 됩니다.
Single Logout이 반드시 사용자의 모든 세션을 종료하는 것은 아닙니다. 예를 들어 브라우저를 두 개 열어 둔 사용자에게는 두 개의 독립적 세션이 있을 수 있습니다. 이 경우 로그아웃을 시작하는 브라우저에 대한 세션만 해당 세션에 대한 모든 페더레이션된 사이트에서 종료됩니다. 다른 브라우저의 세션은 여전히 활성 상태입니다.
Single Logout 바인딩에 따라 Single Logout 메시지와 함께 전송되는 내용 및 수신되는 각 메시지를 처리하는 방법이 결정됩니다.
중요!
Single Logout을 구성하려면 정책 서버 관리 콘솔을 사용하여 세션 저장소가 사용되도록 설정하십시오.
Single Logout 작업에는 다음 두 개의 바인딩을 사용할 수 있습니다.
  • HTTP-리디렉션
    HTTP-리디렉션 바인딩은 브라우저를 사용하여 각 로그아웃 트랜잭션을 수행합니다. Single Logout 메시지는 항상 GET 요청입니다. 모든 요청 및 응답에 브라우저가 관여합니다. 브라우저가 관여한다는 것은 HTTP-리디렉션 바인딩은 SOAP 바인딩과 달리 브라우저 세션 데이터를 제공한다는 것을 의미합니다.
    HTTP-리디렉션 바인딩의 단점은 메시지의 데이터가 쿼리 문자열에서 전송할 수 있는 데이터로 제한된다는 점입니다. 또한 HTTP-리디렉션 바인딩은 익명 프로세스이므로 시간 만료가 발생할 가능성이 별로 없습니다. 하지만 리디렉션에 실패하면 이로 인해 전체 Single Logout 체인이 중지됩니다.
  • SOAP
    SOAP 바인딩은 POST 요청을 사용하여 Single Logout 트랜잭션을 수행합니다. POST 요청을 통해 HTTP-리디렉션 바인딩보다 많은 데이터를 전송할 수 있습니다. 또한 SOAP를 통해 더 다양한 암호화 방법 및 다른 기능을 사용할 수 있습니다.
    SOAP는 동기식 프로세스입니다. IdP는 더 많은 제어권을 가지며 하나의 SP에서 발생하는 문제로 프로세스 전체가 방해되는 상황을 방지할 수 있습니다. SOAP 통신은 백 채널을 통해 수행됩니다. 한 번의 로그아웃 실패로 IdP가 나머지 SP에서 로그아웃 시도를 중지할 필요는 없습니다. 
    SOAP는 백 채널 연결을 사용하므로 초기 Single Logout 호출 및 응답 이후에는 브라우저가 개입되지 않습니다. SOAP 바인딩은 로그아웃 프로세스의 일부로 원격 엔터티에서 쿠키를 정리하지 않습니다. 쿠키는 로컬 엔터티에서만 정리됩니다. 쿠키를 삭제해야 하는 경우 HTTP-리디렉션 바인딩을 사용하십시오.
HTTP-리디렉션 및 SOAP를 사용하여 네트워크에서 Single Logout 관리
네트워크에는 HTTP-리디렉션 바인딩을 지원하는 사이트와 SOAP 바인딩을 지원하는 사이트가 있을 수 있습니다. IdP는 여러 바인딩을 관리해야 하지만 SP는 하나의 로그아웃 요청만 보내거나 받습니다.
다음 섹션에서는 혼합 바인딩 환경을 처리하기 위한 구성 지침을 제공합니다.
  • Single Sign-On
    이 IdP에 있을 때의 SLO 구성
    Single Sign-On
    이 IdP에 있을 때는 파트너 관계에 HTTP 리디렉션 기반 SLO 서비스 URL과 SOAP 기반 SLO 서비스 URL이 포함되도록 구성하십시오.
    IdP에서
    Single Sign-On
    은 세션의 각 SP에 대한 구성을 검사하고 SOAP를 사용하는 모든 로그아웃을 먼저 처리합니다. SOAP를 지원하지 않는 SP에 대한 HTTP-리디렉션 로그아웃이 그 다음에 처리됩니다.
  • Single Sign-On
    이 SP에 있을 때의 SLO 구성
    Single Sign-On
    이 SP에 있고 SP가 Single Logout을 시작하는 경우에는 HTTP-리디렉션 바인딩으로 로그아웃을 시작하는 것이 좋습니다. 사용자 세션에 대한 다른 SP는 SOAP를 지원하지 않을 수 있습니다.
    HTTP-리디렉션은 브라우저 세션을 사용하여 모든 리디렉션을 처리합니다. 이러한 이유로 HTTP-리디렉션은 HTTP 리디렉션만 지원하는 SP의 로그아웃을 위해 IdP에 있어야 하는 필수 데이터를 전송합니다. SP가 HTTP-리디렉션으로 프로세스를 시작하는 경우 IdP는 이를 지원하는 모든 SP에 SOAP를 사용할 수 있습니다. 나머지 SP에 대해서는 HTTP-리디렉션 바인딩으로 전환하십시오. SOAP 바인딩을 사용하여 Single Logout을 시작하는 경우에는 브라우저 세션 데이터가 존재하지 않습니다.
    SP에서 시작되는 로그아웃이 HTTP-리디렉션이 사용되도록 하려면 SP의 로컬 서블릿을 가리키는 HTTP-리디렉션 링크를 페이지나 응용 프로그램에 포함하십시오.
    Single Sign-On
    의 경우 링크는 http://
    sp_host:port
    /affwebservices/public/saml2slo입니다.
    이 포함된 링크는
    Single Sign-On
    이 IdP의 SLO 서비스로 보내는 SAML <LogoutRequest> 메시지를 생성하도록 만듭니다. 사용자가 로그아웃하면 먼저 SP에서 로그아웃이 수행된 다음 로그아웃 요청이 IdP로 전송됩니다. 그러면 IdP는 사용자 세션에 관여한 다른 모든 SP에 대해 로그아웃 프로세스를 완료합니다.
SLO 요청 유효 기간에 대한 차이 시간 이해
로그아웃 요청의 유효 기간을 계산할 때는 두 개의 값이 관련됩니다. 이 값은 IssueInstant 값과 NotOnOrAfter 값입니다. SLO 응답에서 Single Logout 요청은 NotOnOrAfter 값에 도달할 때까지 유효합니다. Single Logout 요청이 생성될 때
Single Sign-On
의 시스템 시간이 사용됩니다. 그 결과로 얻은 시간은 요청 메시지에 설정되는 IssueInstant가 됩니다. 로그아웃 요청이 만료되는 시점을 확인하기 위해
Single Sign-On
은 현재 시간을 가져와서 여기에 "차이 시간"과 "SLO 유효 기간"을 더합니다. 그 결과로 얻은 시간은 NotOnOrAfter 값이 됩니다.
참고:
시간은 GMT를 기준으로 합니다.
예를 들어 어설션 당사자 측에서 로그아웃 요청이 1:00 GMT에 생성된다고 가정합니다. 차이 시간은 30초이고 SLO 유효 기간은 60초입니다. 따라서 요청은 1:00 GMT에서 1:01:30 GMT까지 유효합니다. IssueInstant 값은 1:00 GMT이고 Single Logout 요청 메시지는 90초 뒤에 더 이상 유효하지 않습니다.
Single Logout 구성
Single Logout을 구성하려면 정책 서버 관리 콘솔을 사용하여 세션 저장소가 사용되도록 설정해야 합니다. 세션 저장소가 사용되도록 설정되지 않은 경우에는 관리 UI에 Single Logout 설정이 표시되지 않습니다.
Single Logout을 구성할 때는 다음 정보를 참조하십시오.
  • 파트너가 HTTP-리디렉션을 사용하여 SAML <LogoutRequest> 메시지를 수신하는 경우 보내는 당사자에 대한 응답은 HTTP-리디렉션 바인딩을 사용해야 합니다.
  • 파트너가 SOAP를 사용하여 SAML <LogoutRequest> 메시지를 수신하는 경우 보내는 당사자에 대한 응답은 SOAP를 통해 전송되어야 합니다.
  • 파트너가 지원하지 않는 바인딩을 통해 SLO를 수신하는 경우에는 Single Logout이 실패합니다.
  • Single Logout 사용자 세션에 HTTP-리디렉션 및 SOAP 바인딩을 사용하는 파트너가 포함된 경우에는 두 바인딩을 모두 지원하도록
    Single Sign-On
    을 구성하십시오. IdP는 로그아웃을 진행할 때 SOAP를 사용하여 모든 SP를 로그아웃한 다음 HTTP-리디렉션 바인딩을 사용하여 모든 SP를 로그아웃합니다.
  • Single Sign-On
    SP가 Single Logout을 시작하는 경우에는 SP가 SOAP를 지원하더라도 HTTP-리디렉션 바인딩부터 사용하여 시작합니다.
    SOAP 및 HTTP-리디렉션이 지원되는 혼합 환경에서 Single Logout 관리에 대한 지침을 검토하십시오.
다음 단계를 수행하십시오.
참고:
SLO 구성 설정은 IdP와 SP에서 동일합니다.
  1. 파트너 관계 마법사의 SSO 및 SLO 단계부터 시작합니다.
  2. SLO 섹션에서 SLO 바인딩을 하나 또는 둘 다 선택합니다.
    SLO 바인딩은 Single Logout을 가능하게 하며 로컬 엔터티에서 사용 중인 바인딩을 나타냅니다. 또한 SLO 바인딩은 로컬 엔터티가 Single Logout 요청을 수신할 때 수락하는 바인딩도 나타냅니다.
    SOAP를 선택하면 SOAP 메시지에서 이름 ID를 암호화할 수 있습니다. 암호화 옵션은 파트너 관계 마법사의 "서명 및 암호화" 단계에서 설정합니다.
    SOAP를 바인딩으로 선택하면 백 채널에 대한 수신 및 송신 구성이 활성화됩니다. SLO 요청 및 응답이 백 채널을 통해 전송됩니다. 각 로컬 파트너는 원격 파트너에게 인증을 요청하여 백 채널에 보안을 적용할 수 있습니다.
    SLO에 대한 백 채널 설정에 대한 더 많은 내용을 확인할 수 있습니다.
  3. 추가 SLO 설정을 구성합니다.
    • SLO 확인 URL
    • SLO 유효 기간(초)
    • 릴레이 상태가 SLO 확인 URL 무시
       
  4. SLO 서비스 URL에 대한 테이블을 완성합니다. 최소한 하나의 항목이 있어야 합니다. 선택된 원격 엔터티에 대해 정의된 값이 이미 테이블에 입력되어 있어야 합니다.
    SLO 서비스 URL은 Single Logout을 시작한 다음 SAML <LogoutRequest> 메시지를 생성하도록 정책 서버를 트리거합니다. 또한 SLO 서비스 URL은 로그아웃 요청 메시지를 전송할 대상을 정책 서버에 알립니다.
    지원되는 각 SLO 바인딩에 대해 다음과 같이 SLO 서비스 URL을 지정합니다.
    • HTTP-Redirect 사용 - HTTP-Redirect를 바인딩으로 사용하는 하나의 URL을 선택합니다.
      이 옵션을 선택하면
      "특성 및 이름 ID 서비스에 대한 사용자 조회"
      섹션이 나타납니다.  "사용자 지정" 필드에 사용자 디렉터리 검색 사양을 지정합니다. 정책 서버는 입력한 값을 사용하여 사용자 디렉터리에서 사용자 레코드를 찾는 방법을 확인할 수 있습니다.  다음과 같이 디렉터리 유형에 적합한 검색 문자열을 입력합니다.
      LDAP: uid=%s
      ODBC: name=%s
       
    • SOAP 사용 - SOAP를 바인딩으로 사용하는 하나의 URL을 선택합니다.
    • 리디렉션 및 SOAP 사용 - 두 개의 URL(HTTP-리디렉션으로 설정된 URL 한 개와 SOAP로 설정된 URL 한 개)을 선택합니다.
    참고:
    "응답 위치 URL" 필드는 선택 사항입니다.
Single Logout 구성이 완료되었습니다.
Single Logout에 대한 백 채널 구성
SOAP 바인딩을 사용한 Single Logout은 로그아웃 요청 및 응답을 백 채널을 통해 전송합니다. 엔터티가 백 채널에 액세스하려면 인증이 필요하도록 설정할 수 있습니다. SSL은 필수가 아니지만 SSL을 사용하여 백 채널에 보안을 적용할 수도 있습니다.
SSL을 사용하여 백 채널에 보안을 적용하는 절차는 다음과 같습니다.
  • SSL이 사용되도록 설정합니다.
    기본 인증에는 SSL이 필요하지 않지만 SSL을 통한 기본 인증을 사용할 수 있습니다. 클라이언트 인증서 인증에는 SSL이 필요합니다.
  • Single Logout 교환에 대해 들어오는 백 채널과 나가는 백 채널을 구성합니다. 로컬 엔터티는 나가는 채널을 통해 메시지를 보내고 들어오는 채널을 통해 메시지를 받을 수 있어야 합니다.
    참고
    들어오고 나가는 백 채널을 구성할 수 있지만 한 채널은 하나의 구성만 가질 수 있습니다. 동일한 채널을 사용하는 두 서비스는 동일한 백 채널 구성을 사용합니다. 예를 들어 로컬 어설션 당사자의 수신 채널이 HTTP-아티팩트 SSO와 SOAP 기반 SLO를 지원할 경우 이 두 서비스는 동일한 백 채널 구성을 사용해야 합니다.
  • 원격 엔터티가 보호된 백 채널을 통해 액세스를 얻기 위한 인증 유형을 선택합니다. 인증 방법은 채널별로(나가는 채널 또는 들어오는 채널) 적용됩니다.
    백 채널 인증에 대한 옵션은 다음과 같습니다.
    • 기본
      기본 인증 체계로 백 채널을 보호합니다.
      참고:
      백 채널 연결에 대해 SSL이 사용되도록 설정하는 경우에도 기본 인증을 선택할 수 있습니다.
    • 클라이언트 인증서
      X.509 클라이언트 인증서를 사용한 SSL이 어설션 당사자 백 채널을 보호합니다.
      "클라이언트 인증서"를 인증 방법으로 선택하는 경우 모든 끝점 URL이 SSL 통신을 사용해야 합니다. 즉, URL이
      https://
      로 시작해야 합니다. 끝점 URL은 Single Sign-On, Single Logout 및 어설션 소비자 서비스와 같은 다양한 SAML 서비스를 서버에서 찾습니다.
    • 인증 없음
      신뢰 당사자가 자격 증명을 제공할 필요가 없습니다. 백 채널에 보안이 적용되지 않습니다. 이 옵션을 사용할 때도 SSL을 활성화할 수 있습니다. 백 채널 트래픽은 암호화되지만 당사자 간에 자격 증명이 교환되지 않습니다.
      "인증 없음" 옵션은 테스트 용도로만 사용하고 프로덕션에는 사용하지 마십시오.
      Single Sign-On
      이 SSL 지원 장애 조치를 구현하는 프록시 서버 뒤에 있는 경우는 예외입니다. 백 채널을 보호하기 위해 클라이언트 인증서 인증이 사용되는 경우에는 프록시 서버가 인증을 처리합니다. 모든 IdP->SP 파트너 관계가 "인증 없음"을 인증 유형으로 사용할 수 있습니다.
    중요!
    들어오는 백 채널에 대한 인증 방법은 파트너 관계에서 다른 측의 나가는 백 채널과 일치해야 합니다. 인증 방법의 선택에 대한 동의는 대역 외 통신에서 처리됩니다.
Single Logout에 대한 백 채널에 보안을 적용하려면
  1. 파트너 관계 마법사의 SSO 및 SLO 단계에 있는 "백 채널" 섹션부터 시작합니다.
  2. SLO 섹션에서 SOAP를 선택합니다. "인증 방법" 필드가 활성화됩니다.
  3. 들어오는 백 채널 및 나가는 백 채널에 대한 인증 방법의 유형을 선택합니다. "기본" 및 "클라이언트 인증서" 방법에 대해 구성할 추가 필드가 표시됩니다.
    "인증 없음"을 인증 방법으로 선택하는 경우에는 추가적인 단계가 필요 없습니다.
  4. 선택하는 인증 방법에 따라 구성해야 할 몇 개의 추가적인 필드가 표시됩니다.
모든 필수 필드에 값을 입력하면 백 채널 구성이 완료됩니다.