웹 서비스 변수
목차
casso12kr
목차
2
웹 서비스 변수는 웹 서비스의 동적 데이터를 정책에 포함하는 방법을 제공합니다. 웹 서비스 변수는 웹 서비스를 호출하여 확인됩니다. 정책 서버는 웹 서비스 변수 정의에 지정된 대로 SOAP 요청 문서를 보내고 회신으로 SOAP 응답 문서를 받습니다. 정책 서버는 SOAP 응답 문서에서 웹 서비스 변수 값을 추출합니다.
SOAP(Simple Object Access Protocol)는 다음과 같은 세 부분으로 이루어진 XML 기반 경량 프로토콜입니다.
- 메시지 내용 및 처리 방법을 설명하는 프레임워크를 정의하는 봉투
- 응용 프로그램 정의 데이터 형식의 인스턴스를 표현하는 인코딩 규칙 집합
- 원격 프로시저 호출 및 응답을 나타내는 규칙
다음 그림에서는 인트라넷 내 웹 서비스의 웹 서비스 변수를 확인하는 방법을 보여 줍니다. 웹 서비스는 방화벽에서 정책 서버와 같은 쪽에 있습니다.

이 시나리오에서는 웹 서비스 변수가 권한 부여 요청과 연관됩니다. 해당 변수는 웹 서비스 변수 확인자를 호출하여 정책 서버에서 확인됩니다. 웹 서비스 변수 확인자는 동일한 프로세스 공간에서 정책 서버로 실행됩니다.
웹 서비스 변수를 정의할 때 웹 서비스에 보낼 SOAP 문서, 인증 자격 증명 및 기타 매개 변수를 지정합니다. 확인자는 지정된 SOAP 문서를 웹 서비스에 보내고, 응답에서 변수 값을 추출해 정책 서버로 전달하여 권한 부여 요청을 완료하도록 합니다.
정책 서버와 웹 서비스 사이에 방화벽이 있더라도 둘 간의 통신을 허용하도록 구성할 수 있습니다. 정책 서버가 요청을 발급하고 응답을 읽기 때문에 방화벽은 정책 서버에서 웹 서비스로의 아웃바운드 요청을 허용하는 데만 필요합니다.
정책 서버와 웹 서비스 간에 보안 SSL 연결을 구성하면 웹 서비스에서 정책 서버로의 인바운드 요청을 허용할 수 있습니다. SSL 연결에서는 웹 서비스에 있는 서버 측 인증서와 정책 서버에 구성된 트러스트된 인증 기관 목록을 사용합니다.
웹 서비스 변수에 대한 구성 요소 요구 사항
웹 서비스 변수에는 세션 저장소가 필요합니다.
웹 서비스 변수를 확인할 때의 보안 요구 사항
웹 서비스 변수의 보안을 위해서는 정책 서버와 웹 서비스 간에 SSL 연결이 필요합니다. 또한 WS-보안 헤더를 웹 서비스가 인식하도록 구성된 사용자 이름 토큰과 함께 포함할 수 있습니다. WS-보안은 보안 토큰 전파, 메시지 무결성 및 서명과 암호화를 통한 기밀성을 제공하는 SOAP 확장의 표준 집합입니다.
웹 서비스 변수의 보안 확인을 위해 필요한 사항:
- 정책 서버가 알려진 아이덴티티(웹 서비스 계정)를 대신하여 웹 서비스에 SOAP 요청을 수행해야 합니다. 이 모델은Single Sign-On이 사용자 디렉터리의 특성에 액세스하는 데 사용하는 모델과 비슷합니다.
- 웹 서비스 자격 증명이 포함된 WS-보안 헤더에 암호의 base-64-encoded SHA-1 다이제스트가 포함되도록 구성할 수 있습니다.
- 웹 서비스 변수에서 서버 측 인증서를 사용한 SSL 연결을 사용하도록 구성할 수 있습니다. 이를 위해서는 정책 서버가 트러스트된 CA 목록을 사용하여 구성되어야 합니다.
참고:
SSL 연결의 경우 웹 서비스에 대한 서버 측 인증서를 구성하십시오. 정책 서버에서 트러스트된 CA의 목록을 구성하십시오. 트러스트된 CA를 구성하려면 인증 기관 및 웹 서비스 변수에서 설명하는 인증서 데이터 저장소를 사용하십시오.웹 서비스 변수 확인자 구성
정책 서버가 웹 서비스 변수를 확인하기 위해서는 웹 서비스 변수 확인자가 웹 서비스에 연결되도록 구성하십시오. 웹 서비스 구성 요소에는 두 가지 범주가 있습니다.
- 정책 서버와 웹 서비스가 모두 방화벽의 같은 쪽에 있는 경우
- 정책 서버와 웹 서비스 사이에 방화벽이 있지만 이 둘 간의 단방향 통신(정책 서버에서 웹 서비스로의 아웃바운드 요청)만 허용하도록 구성된 경우
웹 서비스 변수 기능을 사용하려면 먼저 SmKeyTool 명령줄 유틸리티를 사용하여 정책 서버에 트러스트된 CA 목록을 구성해야 합니다. 부하 분산 또는 장애 조치 구성에 여러 정책 서버가 사용되는 경우 각 정책 서버에 동일한 트러스트된 CA 목록이 구성되어 있어야 합니다.
기본 구성 설정은 siteminder/Config/properties 디렉터리의 WebServiceConfig.properties 파일에 제공됩니다. 이 속성은 수정할 수 있습니다.
샘플 WebServiceConfig.properties 구성 파일
# Netegrity Web Service Variable Resolver properties configuration file: # This file must be in the classpath that is used when the policy server runs. # ResolutionTimeout is the amount of time the resolver will at most wait to resolve all Web Service variables related to a given request. # # This setting is intended to end sessions that are waiting on a web service that is not responding. The time that the Web Agent will typically wait before responding is typically 60 sec (but may be changed # in the future), which means this setting should be 60000 or greater to cancel transactions that cannot be returned. ResolutionTimeout=75000 # MaxThreadCount is the maximal number of active threads running within the Web Service variables resolver. MaxThreadCount=10
인증 기관 및 웹 서비스 변수
웹 서비스 변수를 확인할 때 SSL 연결을 사용하려면 트러스트된 CA(인증 기관)의 목록을 구성하십시오. 정책 서버는 웹 서비스에 연결할 때 CA를 사용합니다.
인증서 데이터 저장소의 목록을 구성하려면 관리 UI를 사용하십시오.
변수 만들기
정책 또는 응답에서 사용할 수 있도록 변수를 생성할 수 있습니다. 변수는 도메인 개체입니다. 특정 정책 도메인 내에 변수를 생성하거나, smobjimport 도구를 사용하여 도메인으로 변수를 가져올 수 있습니다.
정적 변수 만들기
정책 또는 응답에서 사용할 수 있도록 정적 변수를 생성할 수 있습니다.
casso12kr
참고:
확인된 변수의 값은 1K보다 작아야 합니다.casso12kr
다음 단계를 수행하십시오.
- "정책", "도메인"을 차례로 클릭합니다.
- "변수"를 클릭합니다.
- "변수 만들기"를 클릭합니다."Create a new object of type Variable"(변수 유형의 새 개체 만들기) 옵션이 선택되어 있는지 확인합니다.
- "확인"을 클릭합니다.
- 목록에서 도메인을 선택한 후 "다음"을 클릭합니다.
- "이름" 필드에 변수 이름을 입력합니다.
- "변수 유형" 목록에서 "정적"을 선택합니다."정적 변수" 설정이 열립니다.
casso12kr
참고:
"도움말"을 클릭하면 해당되는 각 요구 사항과 제한을 포함하여 설정과 컨트롤에 대한 설명을 볼 수 있습니다.- "변수 정보"에서 변수의 값과 데이터 형식을 지정합니다.
- 제출을 클릭합니다.변수가 도메인의 "변수" 탭에 표시됩니다. 이제 변수를 정책 식 또는 응답에 사용할 수 있습니다.
요청 컨텍스트 변수 만들기
정책 또는 응답에서 사용할 수 있도록 요청 컨텍스트 변수를 생성할 수 있습니다.
casso12kr
참고:
확인된 변수의 값은 1K보다 작아야 합니다.casso12kr
다음 단계를 수행하십시오.
- "정책", "도메인"을 차례로 클릭합니다.
- "변수"를 클릭합니다.
- "변수 만들기"를 클릭합니다."Create a new object of type Variable"(변수 유형의 새 개체 만들기) 옵션이 선택되어 있는지 확인합니다.
- "확인"을 클릭합니다.
- 목록에서 도메인을 선택한 후 "다음"을 클릭합니다.
- "이름" 필드에 변수 이름을 입력합니다.
참고:
"요청 컨텍스트" 변수 이름은 백분율 문자(%)로 시작해야 합니다.예:
%REQUEST_ACTION- "변수 유형" 목록에서 "요청 컨텍스트"를 선택합니다.요청 컨텍스트 설정이 열립니다.
- "속성" 목록에서 변수 값을 선택합니다.
- "확인"을 클릭합니다.변수가 도메인의 "변수" 탭에 표시됩니다. 이제 변수를 정책 식 또는 응답에 사용할 수 있습니다.
사용자 컨텍스트 변수 만들기
정책 또는 응답에서 사용할 수 있도록 사용자 컨텍스트 변수를 생성할 수 있습니다.
casso12kr
참고:
확인된 변수의 값은 1K보다 작아야 합니다.casso12kr
다음 단계를 수행하십시오.
- "정책", "도메인"을 차례로 클릭합니다.
- "변수"를 클릭합니다.
- "변수 만들기"를 클릭합니다."Create a new object of type Variable"(변수 유형의 새 개체 만들기) 옵션이 선택되어 있는지 확인합니다.
- "확인"을 클릭합니다.
- 목록에서 도메인을 선택한 후 "다음"을 클릭합니다.
- "이름" 필드에 변수 이름을 입력합니다.
참고:
사용자 컨텍스트 변수 이름은 백분율 문자(%)로 시작해야 합니다.예:
%SM_USERPATH- "변수 유형" 목록에서 "사용자 컨텍스트"를 선택합니다."사용자 컨텍스트" 설정이 열립니다.
- "항목" 목록에서 변수의 값을 제공하는 사용자 컨텍스트 부분을 선택합니다.
- (세션 변수에 필요) 변수로 나타내는 데이터의 형식(부울, 숫자, 문자열 또는 날짜)을 "반환 유형" 필드에 지정합니다.다른 "항목" 목록 선택의 경우 "반환 유형" 값은 "문자열" 또는 "부울"로 적절하게 미리 설정되어 있으며 이는 사용자가 구성할 수 없습니다.
- (사용자 속성, 디렉터리 항목 및 세션 변수에 필요) 변수 값을 제공하는 사용자 특성 또는 디렉터리의 이름을 "속성" 필드에 입력합니다.
- (사용자 속성, 디렉터리 항목 및 세션 변수에 필요) 변수를 저장하기 위한 버퍼의 크기(바이트 단위)를 "버퍼" 필드에 입력합니다.
- (디렉터리 항목에 필요) 디렉터리 항목의 고유 이름을 "DN" 필드에 입력합니다.
- 제출을 클릭합니다.변수가 도메인의 "변수" 탭에 표시됩니다. 이제 변수를 정책 식 또는 응답에 사용할 수 있습니다.
사용자 컨텍스트 변수를 처리할 때 다중 값 사용자 특성 결과를 지원하도록 구성
기본적으로, 디렉터리에서 지정된 사용자 속성의 값을 가져오도록 구성된 사용자 컨텍스트 변수는 단일 값 사용자 특성만 지원합니다.
사용자 컨텍스트 변수를 처리할 때 다중 값 사용자 특성 결과를 지원하도록 정책 서버를 구성할 수 있습니다.
다음 단계를 수행하십시오.
- 정책 서버를 중지합니다.
- 텍스트 편집기에서 다음 파일을 엽니다.ps_install_dir\config\properties\scriptActiveExpConfig.properties
- 파일에서 임의의 위치에 다음 항목을 포함하는 줄을 추가합니다.ALLOW_MULTIVALUSERATTR=1
- 파일을 저장하고 텍스트 편집기를 종료합니다.
- 정책 서버 시작
양식 Post 변수 만들기
양식 Post 변수를 생성하여 정책에서 사용할 수 있습니다.
casso12kr
참고:
확인된 변수의 값은 1K보다 작아야 합니다.casso12kr
다음 단계를 수행하십시오.
- "정책", "도메인"을 차례로 클릭합니다.
- "변수"를 클릭합니다.
- "변수 만들기"를 클릭합니다."Create a new object of type Variable"(변수 유형의 새 개체 만들기) 옵션이 선택되어 있는지 확인합니다.
- "확인"을 클릭합니다.
- 목록에서 도메인을 선택한 후 "다음"을 클릭합니다.
- "이름" 필드에 변수 이름을 입력합니다.
- "변수 유형" 목록에서 "Post"를 선택합니다.양식 Post 설정이 열립니다.
- "양식 필드 이름" 필드에 양식에 포함된 POST 변수의 이름을 입력합니다.
- "확인"을 클릭합니다.변수가 도메인의 "변수" 탭에 표시됩니다. 이제 정책 식에 변수를 사용할 수 있습니다.
웹 서비스 변수 만들기
정책 또는 응답에서 사용할 수 있도록 웹 서비스 변수를 생성할 수 있습니다.
casso12kr
참고:
확인된 변수의 값은 1K보다 작아야 합니다.casso12kr
다음 단계를 수행하십시오.
- "정책", "도메인"을 차례로 클릭합니다.
- "변수"를 클릭합니다.
- "변수 만들기"를 클릭합니다."Create a new object of type Variable"(변수 유형의 새 개체 만들기) 옵션이 선택되어 있는지 확인합니다.
- "확인"을 클릭합니다.
- 목록에서 도메인을 선택한 후 "다음"을 클릭합니다.
- "이름" 필드에 변수 이름을 입력합니다.
- "변수 유형" 목록에서 "웹 서비스"를 선택합니다.웹 서비스 설정이 표시됩니다.
- "반환 유형" 목록에서 데이터 형식을 선택합니다.
- URL 필드에 웹 서비스 URL을 입력합니다.
- "XPath" 필드에 XPath 쿼리를 입력합니다.참고:정책 서버는 이 쿼리를 사용하여 웹 서비스가 반환하는 SOAP 문서에서 웹 서비스 변수의 값을 추출합니다.
- (선택 사항) "웹 서비스 자격 증명"에서 "자격 증명 필요" 옵션을 선택하고 정책 서버가 웹 서비스에 연결할 때 사용할 사용자 이름과 암호를 지정합니다.
- (선택 사항) "SOAP 문서" 섹션에서 다음 단추를 클릭하여 기존 변수를 SOAP 메시지에 추가합니다.변수
- (선택 사항) "HTTP 헤더"에서 "추가"를 클릭하여 HTTP 헤더를 웹 서비스 변수와 연결합니다.
- "마침"을 클릭합니다.변수가 도메인의 "변수" 탭에 나타나므로 이제 정책 식이나 응답에 사용할 수 있습니다.