.. _workflow: .. role:: raw-html(raw) :format: html Workflow ========================= - Workflow란 특정 순서에 따라 발생하는 반복적인 프로세스와 작업을 관리하는 시스템입니다. - 관리콘솔에서 지원하는 Workflow의 기능에 대해 안내합니다. 권장버전 ---------- .. csv-table:: :header: 제품명(구성요소),버전,비고 :class: longtable :widths: 30 30 40 Genian ZTNA(정책서버),V6.0 이상,해당없음 지원되는 기능 -------------------- Genian ZTNA Workflow에서는 다음과 같은 기능을 지원합니다: - :ref:`workflow-httprequest` - :ref:`workflow-ifelse` - :ref:`workflow-crypto` - :ref:`workflow-loop` - :ref:`workflow-date` - :ref:`workflow-base64` - :ref:`workflow-sendmail` 설정 공통 내용 -------------------- * 템플릿 변수 (${ }) - ${ }와 같이 매크로처럼 입력란에 표시되는 값은 서버에서 값이 실행될 때 해당 값이 치환되어 실행됩니다. * this 키워드 - Response Body Template 에서 ${this} 와 같이 설정하면 Response로 넘어오는 결과 데이터를 필터하지 않고 그대로 Response로 출력한다는 의미입니다. - Response 데이터가 {"result" : "true", "message" : "success"} 일 때 Response Body Template을 {"res" : "${this.result}"} 와 같이 설정한다면 Response는 필터링되어 { "res" : "true" } 가 출력될 것입니다. * request 키워드 - ${request.userId} 처럼 해당 Workflow를 호출(POST)할 때 파라미터를 전달할 경우 해당 파라미터를 request 변수를 통해 사용할 수 있습니다. * 복사 아이콘 - Response Body에는 Response값을 Response Body Template에서 정의한 대로 필터링하여 표시하게 됩니다. - Response Body Template을 정의하지 않으면 실행결과가 그대로 출력됩니다. - Response Body에 표시되는 데이터에는 다음 프로세스에서 사용할 수 있도록 복사 아이콘이 각각 표시됩니다. - 다음 Action을 정의하고 해당 프로세스에서 필요한 값을 이전 프로세스의 Response Body에서 복사해서 사용하면 됩니다. - 붙여넣기 하면 ${dgdgadgasdgadg.ni_ipstr} 형태로 복사됩니다. ${이전프로세스ID.결과 컬럼값} 입니다. * RAW DATA 아이콘 - Response Body에는 프로세스가 실행되면 RAW DATA가 아이콘이 출력됩니다. - Response Body에는 Response Body Template 에 의해 가공된 데이터가 표시되기 때문에 RAW DATA가 필요한 경우 해당 아이콘을 클릭하면 Response 원본 데이터가 클립보드에 복사가 됩니다. 설정 방법 -------------------- 1. **Workflow** 페이지로 이동합니다. 2. **작업 선택** 에서 "생성" 버튼을 클릭하여 생성 페이지로 이동합니다. 3. **플로우명** 을 입력합니다. ( **필수 입력 항목** ) 4. 왼쪽 영역의 **>>** 토글 아이콘을 클릭하여 **연동 정보** 를 설정합니다. (각 프로세스에서 공통적으로 사용할 값) - 설정한 값은 입력 필드 오른쪽의 **복사 아이콘** 을 클릭하여 복사한 후 사용할 수 있습니다. 5. 가운데 영역의 **+** 추가 아이콘을 클릭하여 프로세스 항목을 추가합니다. - 프로세스 항목 선택 패널이 나타나며, 원하는 항목을 선택할 수 있습니다. - 수정 화면이 표시되며, 추가된 프로세스의 세부사항을 수정할 수 있습니다. - 하단의 Test 테스트 버튼을 클릭하여 설정이 정상 동작하는지 확인할 수 있습니다. - 이전 단계의 결과는 왼쪽에, 현재 단계의 결과는 오른쪽에 표시됩니다. - 좌우에 위치한 화살표로 이전, 이후 단계의 수정화면으로 이동할 수 있습니다. - 수정이 끝난 후, 오른쪽 상단의 **X** 닫기 버튼을 클릭하면 수정 화면이 닫힙니다. - 프로세스별로 각기 다른 요청 처리를 위해 설정값을 지정할 수 있습니다. 6. **추가적인 프로세스가 필요하다면**, 다시 **+** 추가 아이콘을 클릭하여 항목을 추가할 수 있습니다. 7. **화살표로 프로세스 간의 실행 순서 지정할 수 있습니다.** - 각 프로세스 항목의 좌우에는 **화살표 연결점(포인트)** 이 있습니다. - 한 프로세스의 출력 연결점에서 다음 프로세스의 입력 연결점으로 **드래그하여 연결** 하면 실행 순서를 지정할 수 있습니다. - 이렇게 연결된 흐름에 따라, Workflow가 순차적으로 실행됩니다. - 필요에 따라 기존 연결을 제거하거나 새롭게 수정할 수도 있습니다. 연동정보 설정 -------------------- - 연동정보 설정은 각 프로세스에서 공통적으로 사용할 값을 설정할 수 있습니다. - 연동정보 설정은 프로세스 설정 화면에서 설정할 수 있습니다. UI의 왼쪽 영역에 위치합니다. - 설정한 값은 입력 필드 오른쪽의 **복사 아이콘** 을 클릭하여 복사한 후 사용할 수 있습니다. - 설정하는 값은 Plaintext와 Secret 두 가지 타입으로 설정할 수 있습니다. - Secret 타입은 입력 후 수정이 불가능하며, 삭제 후 추가해서 사용해야 합니다. 프로세스 항목 종류 -------------------- 실행 방법 -------------------- - Workflow 목록화면에 생성된 **URL 정보를 POST 방식으로 호출** 하여 실행할 수 있습니다. .. code-block:: bash // 정책서버 CLI에서 실행시 예제, 포트번호는 구성에 따라 다를 수 있음. // 외부에서는 localhost가 아닌 정책서버 URL과 URL 뒤에 ?apiKey=API키 를 추가해야 함. curl -X POST "http://localhost:8080//mc2/rest/nac/extsvc/생성된Workflow번호/execute" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"param1":"abc", "param2":123}' 관련 문서 -------------------- .. toctree:: :maxdepth: 1 :hidden: workflow-crypto workflow-date workflow-httprequest workflow-sendmail workflow-ifelse workflow-base64 workflow-loop