IdP 또는 SP에서 싱글 사인온 초기화
목차
casso126kkr
목차
2
사용자는 아이덴티티 공급자나 서비스 공급자에서 시작하여 싱글 사인온을 시작할 수 있습니다. 각 사이트에서 링크를 구성하거나 싱글 사인온 작업을 트리거하는 응용 프로그램의 일부로 링크를 구성하십시오.
아이덴티티 공급자에서 시작되는 SSO(POST 또는 아티팩트 바인딩)
사용자가 서비스 공급자로 이동하기 전에 아이덴티티 공급자를 방문하는 경우 아이덴티티 공급자는 원치 않는 응답을 생성해야 합니다. 원치 않는 응답을 시작하려면 서비스 공급자 ID와 함께 쿼리 매개 변수가 포함된 HTTP Get 요청을 생성하는 하드 코드된 링크를 생성하십시오. 그러면 아이덴티티 공급자가 이 ID에 대한 어설션 응답을 생성합니다. 페더레이션 웹 서비스 응용 프로그램과 어설션 생성기가 GET 요청을 수락해야 합니다.
사용자가 설정된 링크를 클릭하면 원치 않는 응답이 시작됩니다.
원치 않는 응답에서 아티팩트 또는 POST 프로필이 사용되도록 지정하려는 경우 원치 않는 응답 링크의 구문은 다음과 같습니다.
http://idp_server:port/affwebservices/public/saml2sso?SPID=SP_ID& ProtocolBinding=URI_for_binding
- casso126kkridp_server:port웹 에이전트 옵션 팩이나CA Access Gateway를 호스트하는 웹 서버와 포트를 식별합니다.
- casso126kkrSP_ID서비스 공급자 ID 값입니다. 엔터티 ID는 대/소문자를 구분합니다. "관리 UI"에 표시되는 그대로 입력하십시오.
- casso126kkrURI_for_bindingProtocolBinding 요소에 대한 POST 또는 아티팩트 바인딩의 URI를 식별합니다. 이 URI는 SAML 2.0 사양에 의해 정의됩니다.
또한 SAML 서비스 공급자 속성에서 바인딩을 지정해야 원치 않는 응답이 올바로 작동합니다.
다음 정보에 주의하십시오.
- 링크에 ProtocolBinding 매개 변수가 없고 서비스 공급자 속성에 바인딩이 하나만 있는 경우 서비스 공급자는 바인딩 하나를 사용합니다.
- 아티팩트 바인딩과 POST 바인딩이 서비스 공급자 속성에서 사용되도록 설정된 경우에는 POST가 기본값입니다. 따라서 아티팩트 바인딩만사용하려면 링크에 ProtocolBinding 쿼리 매개 변수를 포함하십시오.
- 어설션 소비자 서비스에 대해 인덱싱된 끝점을 구성하면 ProtocolBinding 쿼리 매개 변수가 어설션 소비자 서비스에 대한 바인딩을 재정의합니다.
IdP가 사용하는 원치 않는 응답 쿼리 매개 변수
정책 서버 IdP에서 싱글 사인온을 시작하는 원치 않는 응답에는 다음 쿼리 매개 변수가 포함될 수 있습니다.
SPID
(필수) 아이덴티티 공급자가 원치 않는 응답을 보내는 서비스 공급자의 ID를 지정합니다. 엔터티 ID는 대/소문자를 구분합니다. "관리 UI"에 표시되는 그대로 입력하십시오.
ProtocolBinding
원치 않는 응답의 ProtocolBinding 요소를 지정합니다. 이 요소는 서비스 공급자에게 어설션 응답을 보낼 때 사용되는 프로토콜을 지정합니다. 서비스 공급자가 지정된 프로토콜 바인딩을 지원하도록 구성되어 있지 않으면 요청이 실패합니다.
ProtocolBinding 쿼리 매개 변수의 필수 사용
서비스 공급자 속성에서 아티팩트 및 POST 바인딩이 사용되도록 설정한 경우
에만
ProtocolBinding 매개 변수를 사용해야 합니다. 두 프로필이 모두 사용되도록 설정된 경우에는 쿼리 매개 변수를 사용하여 아티팩트 바인딩만 사용하십시오.- SAML 2.0 사양의 아티팩트 바인딩 URI는 다음과 같습니다.urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact
- SAML 2.0 사양의 POST 바인딩 URI는 다음과 같습니다.urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POSTHTTP-POST 싱글 사인온에 대해서는 이 매개 변수를 설정할 필요가 없습니다.
참고:
쿼리 매개 변수를 HTTP-인코딩하지 마십시오.예: ProtocolBinding이 있는 원치 않는 응답
이 링크는 사용자를 싱글 사인온 서비스로 리디렉션합니다. 이 링크에는 서비스 공급자 아이덴티티가 있습니다. SPID 쿼리 매개 변수는 아이덴티티를 지정합니다. 또한 bindings 쿼리 매개 변수는 아티팩트 바인딩이 사용되고 있음을 나타냅니다. 사용자가 이 하드 코드된 링크를 클릭하면 로컬 싱글 사인온 서비스로 리디렉션됩니다.
http://idp-ca:82/affwebservices/public/saml2sso?SPID=http%3A%2F%2Ffedsrv.acme.com %2Fsmidp2for90&ProtocolBinding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact
ProtocolBinding 쿼리 매개 변수의 선택적 사용
ProtocolBinding 쿼리 매개 변수를 사용하지
않는
경우 다음 조건이 적용됩니다.- ProtocolBinding이 원치 않는 응답에 지정되지 않은 경우 서비스 공급자에 대한 프로필이 사용됩니다.
- 서비스 공급자에 대해 두 프로필이 모두 사용되도록 설정할 수 있습니다. ProtocolBinding이 원치 않는 응답에 없는 경우 서비스 공급자는 기본적으로 POST 프로필을 사용합니다.예: ProtocolBinding이 없는 원치 않는 응답이 링크는 사용자를 싱글 사인온 서비스로 리디렉션합니다. 이 링크에는 서비스 공급자 아이덴티티가 포함되어 있습니다. SPID 쿼리 매개 변수는 아이덴티티를 지정합니다. ProtocolBinding 쿼리 매개 변수가 없습니다. 사용자가 이 하드 코드된 링크를 클릭하면 로컬 싱글 사인온 서비스로 리디렉션됩니다.http://fedsrv.fedsite.com:82/affwebservices/public/saml2sso?SPID= http%3A%2F%2Ffedsrv.acme.com%2Fsmidp2for90
RelayState
서비스 공급자에서 대상 리소스의 URL을 나타냅니다. RelayState 값은 URL로 인코딩되어야 합니다. 이 쿼리 매개 변수를 포함하면 IdP에 사용자를 서비스 공급자의 적절한 리소스로 리디렉션하도록 지시하는 것입니다. 이 쿼리 매개 변수는 Single Sign-On을 구성할 때 대상 URL을 지정하는 대신 사용할 수 있습니다. RelayState 쿼리 매개 변수 이름은 대/소문자를 구분하며 값은 URL로 인코딩되어 있어야 합니다.
예:
http://ca.sp.com:90/affwebservices/public/saml2authnrequest?ProviderID= http%3A%2F%2Ffedsrv.acme.com%2Fsmidp2for90& RelayState=http%3A%2F%2Fwww.spdemo.com%2Fapps%2Fapp.jsp
서비스 공급자에서 시작되는 SSO(POST 또는 아티팩트 바인딩)
사용자가 먼저 서비스 공급자를 방문한 다음 아이덴티티 공급자로 이동할 수 있습니다. 따라서 해당 AuthnRequest 서비스에 대한 하드 코드된 링크가 포함된 HTML 페이지를 서비스 공급자에 생성하십시오. HTML 페이지에 있는 링크는 인증을 위해 사용자를 아이덴티티 공급자로 리디렉션합니다. 링크는 AuthnRequest에 포함된 사항도 나타냅니다.
사용자가 선택하는 하드 코드된 링크에는 특정 쿼리 매개 변수가 포함되어 있어야 합니다. 이러한 매개 변수는 서비스 공급자의 AuthnRequest 서비스에 대한 HTTP GET 요청의 일부입니다.
참고:
이러한 하드 코드된 링크가 포함된 페이지는 보호되지 않은 영역에 있어야 합니다.트랜잭션에 대해 아티팩트 또는 프로필 바인딩이 사용되도록 지정하기 위한 링크 구문은 다음과 같습니다.
http://SP_server:port/affwebservices/public/saml2authnrequest? ProviderID=IdP_ID&ProtocolBinding=URI_of_binding
sp_server:port
웹 에이전트 옵션 팩이나
CA Access Gateway
를 호스트하는 서비스 공급자의 서버 및 포트 번호를 지정합니다.IdP_ID
아이덴티티 공급자에게 할당된 아이덴티티를 지정합니다. 엔터티 ID는 대/소문자를 구분합니다. "관리 UI"에 표시되는 그대로 입력하십시오.
URI_of_binding
ProtocolBinding 요소에 대한 POST 또는 아티팩트 바인딩의 URI를 식별합니다. 이 URI는 SAML 2.0 사양에 의해 정의됩니다.
요청이 올바로 작동하도록 하려면 SAML 인증 체계에 대해 바인딩이 사용되도록 설정하십시오.
다음 정보에 주의하십시오.
- AuthnRequest에 ProtocolBinding 쿼리 매개 변수를 포함하지 않는 경우 기본 바인딩은 인증 체계에 대해 정의된 바인딩입니다. 두 바인딩이 모두 인증 체계에 정의되어 있는 경우에는 AuthnRequest에서 바인딩이 전달되지 않습니다. 따라서 아이덴티티 공급자의 기본 바인딩이 사용됩니다.
- SAML 인증 체계에 대해 아티팩트와 POST가 사용되도록 설정할 수 있습니다. 아티팩트 바인딩을 사용하려면 링크에 ProtocolBinding 쿼리 매개 변수를 포함하십시오.
CA Single Sign-on
SP에서 사용하는 AuthnRequest 쿼리 매개 변수서비스 공급자는 AuthnRequest 서비스에 대한 링크에서 쿼리 매개 변수를 사용할 수 있습니다. 허용되는 쿼리 매개 변수는 다음과 같습니다.
ProviderID(필수)
AuthnRequest 서비스가 AuthnRequest 메시지를 보내는 아이덴티티 공급자의 ID입니다. 엔터티 ID는 대/소문자를 구분합니다. "관리 UI"에 표시되는 그대로 입력하십시오.
ProtocolBinding
AuthnRequest 메시지의 ProtocolBinding 요소를 지정합니다. 이 요소는 아이덴티티 공급자가 SAML 응답을 반환하는 데 사용하는 프로토콜을 지정합니다. 지정된 아이덴티티 공급자가 지정된 프로토콜 바인딩을 지원하도록 구성되어 있지 않으면 요청이 실패합니다.
AuthnRequest에서 이 매개 변수를 사용하는 경우에는 AssertionConsumerServiceIndex 매개 변수를 포함할 수 없습니다. 두 매개 변수는 동시에 사용할 수 없습니다.
ProtocolBinding 쿼리 매개 변수의 필수 사용
인증 체계에 대해 아티팩트 및 POST 바인딩이 사용되도록 설정할 수 있습니다. 아티팩트 바인딩만 사용하려면 ProtocolBinding 매개 변수가 필요합니다.
- SAML 2.0 사양의 아티팩트 바인딩 URI는 다음과 같습니다.urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact
- SAML 2.0 사양의 POST 바인딩 URI는 다음과 같습니다.urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POSTHTTP-POST 싱글 사인온에 대해서는 이 매개 변수를 설정할 필요가 없습니다.예: ProtocolBinding이 있는 AuthnRequest 링크http://ca.sp.com:90/affwebservices/public/saml2authnrequest?ProviderID= http%3A%2F%2Ffedsrv.acme.com%2Fsmidp2for90&ProtocolBinding=urn:oasis: names:tc:SAML:2.0:bindings:HTTP-Artifact사용자가 서비스 공급자의 링크를 클릭합니다. 그러면 페더레이션 웹 서비스 응용 프로그램이 로컬 정책 서버에서 AuthnRequest 메시지를 요청합니다.
ProtocolBinding의 선택적 사용
ProtocolBinding 쿼리 매개 변수를 사용하지
않는
경우 다음 조건이 적용됩니다.- 하나의 바인딩만 인증 체계에 대해 사용되도록 설정된 경우 ProtocolBinding 쿼리 매개 변수를 지정하지 않으면 인증 체계가 사용되도록 설정된 바인딩을 사용합니다.
- 두 바인딩이 모두 사용되도록 설정된 경우 ProtocolBinding 쿼리 매개 변수를 지정하지 않으면 POST 바인딩이 기본값으로 사용됩니다.
참고:
쿼리 매개 변수를 HTTP-인코딩하지 마십시오.예: ProtocolBinding이 없는 AuthnRequest 링크
이 샘플 링크는 AuthnRequest 서비스로 이동합니다. 이 링크는 ProviderID 쿼리 매개 변수에 있는 아이덴티티 공급자를 지정합니다.
http://ca.sp.com:90/affwebservices/public/saml2authnrequest?ProviderID= http%3A%2F%2Ffedsrv.acme.com%2Fsmidp2for90
사용자가 서비스 공급자의 링크를 클릭합니다. 그러면 페더레이션 웹 서비스 응용 프로그램이 로컬 정책 서버에서 AuthnRequest 메시지를 요청합니다.
ForceAuthn
SP가 해당 사용자에 대한 기존 보안 컨텍스트가 있는 경우에도 사용자를 인증하도록 아이덴티티 공급자를 강제하는지 여부를 나타냅니다.
- ForceAuthn=True가 AuthnRequest 메시지에 설정된 경우 특정 사용자에 대한Single Sign-On세션이 있으면 IdP가 사용자에게 자격 증명에 대한 챌린지를 다시 표시합니다. 사용자가 성공적으로 인증되면 IdP가 기존 세션의 ID 정보를 어설션에 포함합니다. IdP가 재인증용으로 생성한 세션은 무시됩니다.사용자가 기존 세션에서 사용된 것과 다른 자격 증명으로 재인증을 시도할 수 있습니다. 그러면 IdP가 현재 세션과 기존 세션의 userDN 및 사용자 디렉터리 OID를 비교합니다. 동일한 사용자에 대한 세션이 아니면 IdP가 SAML 2.0 응답을 반환합니다. 응답은 인증이 실패했음을 나타냅니다.
- SP가 AuthnRequest 메시지에 ForceAuthn=True를 설정한 경우Single Sign-On세션이 없으면 IdP가 사용자에게 인증을 요청합니다. 사용자가 성공적으로 인증되면 세션이 설정됩니다.
예:
http://www.sp.demo:81/affwebservices/public/saml2authnrequest?ProviderID=idp.demo&ForceAuthn=yes
웹 에이전트가 인증 URL을 보호하는 IIS 서버에 있는 경우 ForceAuthn 기능이 작동하도록 하려면 IIS 응용 프로그램 풀을 클래식 모드 IIS 응용 프로그램 풀에서는 ForceAuthn 기능이 작동하지 않습니다.
통합
으로 설정하십시오.RelayState
서비스 공급자에 있는 대상을 지정합니다. RelayState 쿼리 매개 변수를 사용하여 대상을 나타낼 수 있습니다. 하지만 이 방법은 선택 사항입니다. 대신 SAML 2.0 인증 체계에 구성된 대상을 지정할 수 있습니다. 인증 체계에는 RelayState 쿼리 매개 변수로 대상을 재정의하는 옵션도 있습니다.
RelayState 값을 URL-인코딩하십시오.
예:
http://www.spdemo.com:81/affwebservices/public/saml2authnrequest? ProviderID=idp.demo&RelayState=http%3A%2F%2Fwww.spdemo.com%2Fapps%2Fapp.jsp
IsPassive
아이덴티티 공급자가 사용자와 상호 작용할 수 있는지 여부를 결정합니다. 이 쿼리 매개 변수를 true로 설정한 경우 아이덴티티 공급자가 사용자와 상호 작용하면 안 됩니다. 또한 IsPassive 매개 변수가 아이덴티티 공급자에게 전송되는 AuthnRequest에 포함됩니다. 이 쿼리 매개 변수를 false로 설정한 경우에는 아이덴티티 공급자가 사용자와 상호 작용할 수 있습니다.
예:
http://www.spdemo.com:81/affwebservices/public/saml2authnrequest? ProviderID=idp.demo&RelayState=http%3A%2F%2Fwww.spdemo.com% 2Fapps%2Fapp.jsp&IsPassive=true
AssertionConsumerServiceIndex
어설션 소비자로 작동하고 있는 끝점의 인덱스를 지정합니다. 인덱스는 아이덴티티 공급자에게 어설션 응답을 보낼 위치를 알려 줍니다.
AuthnRequest에서 이 매개 변수를 사용하는 경우에는 ProtocolBinding 매개 변수를 포함할 수 없습니다. 두 매개 변수는 동시에 사용할 수 없습니다.
CA Single Sign-on
IdP를 사용한 쿼리 매개 변수 처리서비스 공급자가 싱글 사인온을 시작하는 경우 해당 서비스 공급자는 ForceAuthn 또는 IsPassive 쿼리 매개 변수를 AuthnRequest 메시지에 포함할 수 있습니다. 서비스 공급자가 이러한 쿼리 매개 변수 두 개를 AuthnRequest 메시지에 포함하면 아이덴티티 공급자가 다음과 같이 해당 쿼리 매개 변수를 처리합니다.
ForceAuthn 처리
서비스 공급자가 ForceAuthn=True를 AuthnRequest에 포함하면 아이덴티티 공급자가 다음 작업을 수행합니다.
- ForceAuthn=True가 AuthnRequest 메시지에 포함되어 있고 특정 사용자에 대한 세션이 있는 경우. IdP가 사용자에게 자격 증명을 다시 요청합니다. 사용자가 성공적으로 인증되면 IdP가 기존 세션의 아이덴티티 정보를 어설션에 넣어 보냅니다. IdP가 재인증용으로 생성한 세션은 무시됩니다.사용자가 원래 세션과 다른 자격 증명으로 재인증을 시도할 수 있습니다. 그러면 IdP가 현재 세션과 기존 세션의 userDN 및 사용자 디렉터리 OID를 비교합니다. 동일한 사용자에 대한 세션이 아니면 IdP가 SAML 2.0 응답을 반환합니다. 응답은 인증이 실패했음을 나타냅니다.
- ForceAuthn=True가 AuthnRequest 메시지에 포함되어 있고 세션이 없는 경우. IdP가 사용자에게 자격 증명을 요청합니다. 사용자가 성공적으로 인증되면 세션이 설정됩니다.
IsPassive 처리
서비스 공급자가 IsPassive를 AuthnRequest에 포함하는 경우 IdP가 이를 준수할 수 없으면 다음 SAML 응답 중 하나가 서비스 공급자에게 다시 전송됩니다.
- IsPassive=True가 AuthnRequest 메시지에 포함되어 있고 세션이 없는 경우. 아이덴티티 공급자가 SAML 응답을 반환합니다.Single Sign-On에 세션이 필요하므로 이 응답에 오류 메시지가 포함됩니다.
- IsPassive=True가 AuthnRequest 메시지에 포함되어 있고 세션이 있는 경우. 아이덴티티 공급자가 어설션을 반환합니다.
- IsPassive와 ForceAuthn이 AuthnRequest 메시지에 포함되어 있고 둘 다 True로 설정되어 있는 경우. 요청이 잘못되었으므로 아이덴티티 공급자가 오류를 반환합니다. IsPassive와 ForceAuthn은 동시에 사용할 수 없습니다.