JIRA Assets 연동 가이드
가이드 개요
이 문서는 IT 자산관리(ITAM) 목적으로 활용되는 JIRA Assets과 네트워크 접근제어 시스템인 Genian ZTNA의 연동을 위한 설정 방법에 대한 가이드입니다.
JIRA Assets은 Genian ZTNA에서 탐지된 네트워크 노드 정보를 자동으로 수집하여 자산 데이터베이스(CMDB)에 등록합니다. 이를 통해 IT 자산의 실시간 현황 파악 및 통합 관리가 가능합니다.
Genian ZTNA의 Workflow 기능을 이용하여 노드 탐지 시 자동으로 JIRA Assets에 자산을 등록하거나 업데이트할 수 있도록 합니다.
권장 버전
제품명
버전
참고
JIRA Service Management
Premium 이상
Assets 기능 포함
Genian ZTNA
v6.0.41 이상
Workflow 기능 지원
연동의 목적
Genian ZTNA와 JIRA Assets 연동은 다음의 효과를 제공합니다.
실시간 자산 현황 파악
네트워크에 연결된 모든 장비를 자동으로 탐지하여 JIRA Assets에 등록함으로써, 수동 입력 없이 실시간으로 IT 자산 현황을 파악할 수 있습니다.
자산 관리 업무 효율화
Genian ZTNA의 노드 정보(IP, MAC, OS, 사용자 등)를 JIRA Assets와 연계하여 자산 관리 담당자가 통합된 관점에서 자산을 관리할 수 있으며, 자산 변경 이력을 자동으로 추적할 수 있습니다.
IT 서비스 관리 향상
JIRA Service Management와 통합하여 장애 티켓 발행 시 해당 자산 정보를 즉시 확인할 수 있어 신속한 문제 해결이 가능합니다.
사전준비 사항
JIRA Assets 사전준비
OAuth 2.0 앱 생성 및 권한 설정
본 항목은 Genian ZTNA가 JIRA Assets API 호출 시 사용되는 OAuth 2.0 인증 정보를 생성하는 부분에 대한 설명입니다.
Atlassian Developer Console(https://developer.atlassian.com/console/myapps/)에 접속합니다.
'Create' > 'OAuth 2.0 integration'을 선택하여 새로운 앱을 생성합니다.
'Permissions' 탭에서 다음 권한을 추가합니다:
read:cmdb-object:jira
write:cmdb-object:jira
read:cmdb-schema:jira
delete:cmdb-object:jira
'Authorization' 탭에서 'Callback URL'을 설정합니다: https://oauth.pstmn.io/v1/callback
'Settings' 탭에서 'Client ID'와 'Secret'을 복사하여 안전하게 보관합니다.
Access Token 발급하기
OAuth 2.0 인증을 통해 Access Token을 발급받습니다. Postman 등의 도구를 사용할 수 있습니다.
설정 항목
설정 값
참고
Token URL
Grant Type
Authorization Code
Client ID
앱 생성 시 발급받은 값
Client Secret
앱 생성 시 발급받은 값
Scope
read:cmdb-object:jira write:cmdb-object:jira
필요한 모든 scope 추가
발급받은 Access Token은 1시간 동안 유효하며, Refresh Token을 사용하여 갱신할 수 있습니다.
Cloud ID 확인하기
JIRA Cloud 인스턴스의 고유 ID를 확인합니다.
GET https://api.atlassian.com/oauth/token/accessible-resources API를 호출하여 'id' 필드 값을 확인합니다.
예시: 12345678-1234-1234-1234-123456789abc
Workspace ID 및 Schema ID 확인하기
JIRA Assets 관리 페이지에서 사용할 Workspace와 Schema의 ID를 확인합니다.
항목
예시 값
확인 방법
Workspace ID
41497d77-f29d-4a13-a8c9-89b35dfb18e2
Assets 설정 페이지 URL 참조
Schema ID
2
ITAM 스키마 설정 페이지 참조
Object Type ID (Windows PC)
51
Object Type 목록에서 확인
Object Type ID (Mac)
50
Object Type 목록에서 확인
Object Type ID (Red Hat Linux)
13
Object Type 목록에서 확인
Object Type ID (Windows Server)
14
Object Type 목록에서 확인
Genian ZTNA 노드 타입 코드
Genian ZTNA에서 사용하는 NodeType 코드는 다음과 같습니다:
NodeType 코드
설명
참고
20
PC (데스크톱/노트북)
일반 사용자 PC
40
서버
Windows Server, Linux Server 등
30
네트워크 장비
스위치, 라우터 등
10
프린터
네트워크 프린터
Attribute ID 확인하기
자산 등록 시 사용할 속성의 ID를 확인합니다.
GET /objecttype/{objectTypeId}/attributes API를 호출하여 다음 속성의 ID를 확인합니다:
속성명
Attribute ID
필수 여부
Name
100
필수
IP Address
157
권장
OS 버전
115
권장
도메인 이름
122
서버 전용
Networking 사전 준비사항
Genian ZTNA Policy Center와 JIRA Cloud 간의 통신을 확인합니다. HTTPS(TCP/443)를 사용하며, 다음 도메인에 대한 접근이 필요합니다:
auth.atlassian.com (OAuth 인증)
api.atlassian.com (API 호출)
*.atlassian.net (JIRA 인스턴스)
방화벽 정책에서 상기 도메인에 대한 HTTPS 통신을 허용해야 합니다.
연동을 위한 Genian ZTNA 설정
Workflow용 연동 정보 설정하기
Workflow에서 사용할 JIRA Assets 연동 정보를 설정합니다.
Workflow 편집 화면 좌측 상단의 '>>' 버튼을 클릭하여 연동 정보 영역을 열고 다음 변수를 추가합니다:
변수명
설정 값
참고
request.cloudId
your-cloud-id-here
JIRA Cloud 인스턴스 ID
request.workspaceId
your-workspace-id-here
Assets Workspace ID
주석
연동 정보는 ${connInfo.request.cloudId} 형식으로 Workflow 내에서 참조됩니다.
OAuth Token은 HTTP Request 노드의 Authorization 헤더에 직접 입력합니다.
경고
보안 주의사항:
Access Token은 1시간마다 만료됩니다. 프로덕션 환경에서는 Refresh Token을 사용한 자동 갱신 로직 구현을 권장합니다.
API Key, Cloud ID, Workspace ID는 민감한 정보입니다. 문서나 스크린샷 공유 시 반드시 마스킹하세요.
Authorization 헤더의 토큰 값은 절대 공개하지 마세요.
ZTNA 서버 IP 주소는 내부 네트워크 정보이므로 외부 공개를 피하세요.
실제 환경에서는 위 예시의 your-cloud-id-here, your-workspace-id-here, your-api-key-here, your-ztna-server 값을 실제 값으로 대체하세요.
Workflow 전체 구조
다음은 JIRA Assets 자동 등록 Workflow의 전체 흐름도입니다.
![]()
JIRA Assets 자동 등록 Workflow 전체 흐름도
참고
Workflow 구성 요소:
상단 경로 (Windows PC): ZTNA IP정보 조회 → 조건검사 PC and Windows → JIRA CMDB IP주소 조회 → CMDB 등록 결과 조건 → ZTNA IP정보 조회 → JIRA CMDB 자산 등록
하단 경로 (서버): ZTNA IP정보 조회 → 조건검사 서버 and Red Hat → JIRA CMDB IP주소 등록 조회 → 조회결과 조건 → ZTNA IP정보 조회 → JIRA CMDB 자산 등록
주요 분기점:
조건검사 PC and Windows: NodeType=20 확인 (True → Windows PC 경로, False → 서버 경로)
조건검사 서버 and Red Hat: NodeType=40 AND NL_PLATFORM="Red Hat Linux" 확인
등록 결과 조건: total=0 확인 (미등록 자산만 등록)
자산 등록 Workflow 생성하기
상단 메뉴에서 'Workflow' 를 클릭하여 Workflow Console로 이동한 후 '작업선택'을 누르고 '생성'을 선택하여 다음과 같이 입력합니다.
설정 항목
설정 값
참고
Workflow 이름
JIRA CMDB 연동
설명
네트워크 노드를 JIRA Assets에 자동 등록
트리거
Event Hooks
외부 이벤트 수신 시 실행
주석
본 문서의 예제는 Event Hooks를 트리거로 사용합니다.
Event Hooks는 Genian ZTNA의 로그 필터 기능을 통해 특정 이벤트(노드 탐지, IP 변경 등) 발생 시 Workflow를 호출합니다.
트리거 유형은 "노드 탐지됨", "스케줄", "수동 실행" 등 다양하게 설정할 수 있습니다.
Windows PC 등록 프로세스
Windows PC를 JIRA Assets에 등록하는 프로세스는 다음 6단계로 구성됩니다.
Step 1: ZTNA IP정보 조회 (첫 번째)
Genian ZTNA에서 탐지된 노드의 상세 정보를 조회합니다.
설정 항목
설정 값
참고
액션 타입
HTTP Request
이름
ZTNA IP정보 조회
메소드
GET
Request URL
https://your-ztna-server:8443/mc2/rest/nodes?page=1&pageSize=30&view=node&nid=All&ip=Equal=false&ip=${request._IP}
헤더 - accept
application/json
헤더 - Authorization
Basic [인증정보]
ZTNA API 인증 토큰
Body
${request._IP}
트리거에서 전달받은 IP 주소
Response Type
JSON
Response Body Template
(빈칸)
전체 응답을 저장
주석
`${request._IP}`는 Event Hooks 트리거에서 전달되는 노드의 IP 주소입니다.
Body 필드에 ${request._IP} 값을 입력하여 조회할 IP를 지정합니다.
이 API 호출로 노드의 NodeType, NL_OSTYPE, NL_NODEID, NL_IPSTR 등의 상세 정보를 조회합니다.
Step 2: 조건검사 PC and Windows
조회한 노드가 Windows PC인지 판단합니다.
설정 항목
설정 값
참고
액션 타입
IfElse (조건 분기)
이름
조건검사 PC and Windows
조건 로직
AND
두 조건 모두 만족해야 함
조건 - 변수
${[p092.result[0].NodeType]}
Step 1의 응답에서 노드 타입 추출
조건 - 연산자
같은값
조건 - 비교값
20
NodeType 20 = PC
True 시
Step 3 (JIRA CMDB IP주소 조회)
NodeType이 20(PC)인 경우
False 시
서버 분류 프로세스로 이동
PC가 아닌 경우
주석
`p4d0`는 Step 1 (ZTNA IP정보 조회) 프로세스의 고유 ID입니다.
Windows PC 프로세스에서 사용됩니다.
스크린샷에서는 NodeType만 체크하고 있습니다 (값 20).
AND 조건으로 설정되어 있지만 실제로는 조건이 하나만 있습니다.
Step 3: JIRA CMDB IP주소 조회
해당 IP 주소가 이미 JIRA Assets에 등록되어 있는지 확인합니다.
설정 항목
설정 값
참고
액션 타입
HTTP Request
이름
JIRA CMDB IP주소 조회
메소드
POST
Request URL
https://api.atlassian.com/ex/jira/${connInfo.request.cloudId}/jsm/assets/workspace/${connInfo.request.workspaceId}/v1/object/aql
헤더 - Content-Type
application/json
헤더 - Authorization
Basic [OAuth Token]
JIRA OAuth 2.0 토큰
Body
아래 JSON 참조
Response Type
JSON
Response Body Template
(빈칸)
전체 응답 저장
Body 내용:
{ "qlQuery": "\"IP Address\" = \"${[p4d0.result[0].NL_IPSTR]}\"", "page": 1, "resultPerPage": 10 }주석
`${[p4d0.result[0].NL_IPSTR]}`는 Step 1에서 조회한 노드의 IP 주소입니다.
AQL(Assets Query Language)을 사용하여 IP 주소로 자산을 검색합니다.
응답의 totalFilterCount 필드로 등록 여부를 확인할 수 있습니다.
Step 4: CMDB 등록 결과 조건
검색 결과를 바탕으로 신규 등록이 필요한지 판단합니다.
설정 항목
설정 값
참고
액션 타입
IfElse (조건 분기)
이름
CMDB 등록 결과 조건
조건 로직
AND
조건 - 변수
${[p10b.total]}
Step 3의 검색 결과 개수
조건 - 연산자
같으면
조건 - 비교값
0
True 시
Step 5 (ZTNA IP정보 조회)
미등록 자산, 등록 진행
False 시
워크플로우 종료
이미 등록된 자산
주석
Step 5: ZTNA IP정보 조회 (두 번째)
자산 등록을 위해 노드 정보를 다시 조회합니다.
설정 항목
설정 값
참고
액션 타입
HTTP Request
이름
ZTNA IP정보 조회
메소드
GET
Request URL
https://your-ztna-server:8443/mc2/rest/nodes?page=1&pageSize=30&view=node&nid=All&ip=Equal=false&ip=${request._IP}
헤더 - accept
application/json
헤더 - Authorization
Basic [인증정보]
ZTNA API 인증 토큰
Body
${request._IP}
트리거에서 전달받은 IP 주소
Response Type
JSON
Response Body Template
(빈칸)
전체 응답을 저장
주석
Step 1과 동일한 API를 다시 호출합니다.
최신 노드 정보를 가져와서 JIRA Assets에 등록합니다.
Step 6: JIRA CMDB 자산 등록 (Windows PC)
Windows PC를 JIRA Assets에 등록합니다.
설정 항목
설정 값
참고
액션 타입
HTTP Request
이름
JIRA CMDB 자산 등록
메소드
POST
Request URL
https://api.atlassian.com/ex/jira/${connInfo.request.cloudId}/jsm/assets/workspace/${connInfo.request.workspaceId}/v1/object/create
헤더 - Content-Type
application/json
헤더 - Authorization
Basic [OAuth Token]
JIRA OAuth 2.0 토큰
Body
아래 JSON 참조
Response Type
JSON
Response Body Template
(빈칸)
등록 결과 저장
Body 내용:
{ "objectTypeId": "51", "attributes": [ { "objectTypeAttributeId": "100", "objectAttributeValues": [{"value": "${[pe65.result[0].NL_FQDN]}"}] }, { "objectTypeAttributeId": "157", "objectAttributeValues": [{"value": "${[pe65.result[0].NL_IPSTR]}"}] }, { "objectTypeAttributeId": "115", "objectAttributeValues": [{"value": "${[pe65.result[0].NL_PLATFORM]}"}] } ] }주석
objectTypeId "51"은 JIRA Assets의 Windows PC Object Type입니다.
Attribute ID 100: Name (FQDN/호스트명)
Attribute ID 157: IP Address
Attribute ID 115: Platform (플랫폼 정보)
Step 5에서 조회한 노드 정보(pe65)를 사용하여 자산을 생성합니다.
서버 등록 프로세스
서버(Red Hat Linux 등)를 JIRA Assets에 등록하는 프로세스입니다.
Step 1: ZTNA IP정보 조회 (첫 번째)
Genian ZTNA에서 탐지된 노드의 상세 정보를 조회합니다.
설정 항목
설정 값
참고
액션 타입
HTTP Request
이름
ZTNA IP정보 조회
메소드
GET
Request URL
https://your-ztna-server:8443/mc2/rest/nodes?page=1&pageSize=30&view=node&nid=All&ip=Equal=false&ip=${request._IP}
헤더 - accept
application/json
헤더 - Authorization
Basic [인증정보]
ZTNA API 인증 토큰
Body
${request._IP}
트리거에서 전달받은 IP 주소
Response Type
JSON
Response Body Template
(빈칸)
전체 응답을 저장
주석
`${request._IP}`는 Event Hooks 트리거에서 전달되는 노드의 IP 주소입니다.
Body 필드에 ${request._IP} 값을 입력하여 조회할 IP를 지정합니다.
Step 2: 조건검사 PC and Windows
먼저 Windows PC인지 확인합니다.
설정 항목
설정 값
참고
액션 타입
IfElse (조건 분기)
이름
조건검사 PC and Windows
조건 로직
AND
조건 설정
조건 - 변수
${[p4d0.result[0].NodeType]}
Step 1의 응답에서 노드 타입 추출
조건 - 연산자
같은값
조건 - 비교값
20
NodeType 20 = PC
True 시
Windows PC 등록 프로세스
NodeType이 20(PC)인 경우
False 시
Step 3 (조건검사 서버 and Red Hat)
PC가 아닌 경우
Step 3: 조건검사 서버 and Red Hat
서버이면서 Red Hat Linux인지 판단합니다.
설정 항목
설정 값
참고
액션 타입
IfElse (조건 분기)
이름
조건검사 서버 and Red Hat
조건 로직
AND
두 조건 모두 만족해야 함
조건 1 - 변수
${[p4d0.result[0].NL_PLATFORM]}
Step 1의 응답에서 플랫폼 정보 추출
조건 1 - 연산자
같으면
조건 1 - 비교값
Red Hat Linux
Red Hat Linux 플랫폼
조건 2 - 변수
${[p4d0.result[0].NodeType]}
Step 1의 응답에서 노드 타입 추출
조건 2 - 연산자
같으면
조건 2 - 비교값
40
NodeType 40 = 서버
True 시
Step 4 (CMDB 등록 결과 조건)
Red Hat 서버인 경우
False 시
워크플로우 종료
다른 OS 타입
주석
NodeType 40은 Genian ZTNA에서 서버를 나타냅니다.
NL_PLATFORM에서 "Red Hat Linux"와 정확히 일치하는지 확인합니다.
p4d0는 Step 1 (ZTNA IP정보 조회)의 프로세스 ID입니다.
Step 3-1: JIRA CMDB IP주소 등록 조회
해당 IP 주소가 이미 JIRA Assets에 등록되어 있는지 확인합니다.
설정 항목
설정 값
참고
액션 타입
HTTP Request
이름
JIRA CMDB IP주소 등록 조회
메소드
POST
Request URL
https://api.atlassian.com/ex/jira/${connInfo.request.cloudId}/jsm/assets/workspace/${connInfo.request.workspaceId}/v1/object/aql
헤더 - Content-Type
application/json
헤더 - Authorization
Basic [OAuth Token]
JIRA OAuth 2.0 토큰
Body
아래 JSON 참조
Response Type
JSON
Response Body Template
(빈칸)
전체 응답 저장
Body 내용:
{ "qlQuery": "\"IP Address\" = \"${[p4d0.result[0].NL_IPSTR]}\"", "page": 1, "resultPerPage": 10 }주석
`${[p4d0.result[0].NL_IPSTR]}`는 Step 1에서 조회한 노드의 IP 주소입니다.
p4d0는 Step 1 (ZTNA IP정보 조회)의 프로세스 ID입니다.
AQL(Assets Query Language)을 사용하여 IP 주소로 자산을 검색합니다.
Step 4: 조회결과 조건
JIRA Assets에서 해당 IP 주소로 등록된 자산이 있는지 확인합니다.
설정 항목
설정 값
참고
액션 타입
IfElse (조건 분기)
이름
조회결과 조건
조건 로직
AND
조건 - 변수
${[pe9a.total]}
JIRA CMDB 조회 결과 개수
조건 - 연산자
같으면
조건 - 비교값
0
True 시
Step 5 (ZTNA IP정보 조회)
미등록 자산
False 시
워크플로우 종료
이미 등록된 자산
주석
pe9a는 Step 3-1 (JIRA CMDB IP주소 등록 조회)의 프로세스 ID입니다.
total 필드로 검색된 자산의 개수를 확인합니다.
Step 5: ZTNA IP정보 조회 (두 번째)
자산 등록을 위해 노드 정보를 다시 조회합니다.
설정 항목
설정 값
참고
액션 타입
HTTP Request
이름
ZTNA IP정보 조회
메소드
GET
Request URL
https://your-ztna-server:8443/mc2/rest/nodes?page=1&pageSize=30&view=node&nid=All&ip=Equal=false&ip=${request._IP}
헤더 - accept
application/json
헤더 - Authorization
Basic [인증정보]
ZTNA API 인증 토큰
Body
${request._IP}
트리거에서 전달받은 IP 주소
Response Type
JSON
Response Body Template
(빈칸)
전체 응답을 저장
주석
Step 1과 동일한 API를 다시 호출합니다.
최신 노드 정보를 가져와서 JIRA Assets에 등록합니다.
Step 6: JIRA CMDB 자산 등록 (Red Hat 서버)
Red Hat Linux 서버를 JIRA Assets에 등록합니다.
설정 항목
설정 값
참고
액션 타입
HTTP Request
이름
JIRA CMDB 자산 등록
메소드
POST
Request URL
https://api.atlassian.com/ex/jira/${connInfo.request.cloudId}/jsm/assets/workspace/${connInfo.request.workspaceId}/v1/object/create
헤더 - Content-Type
application/json
헤더 - Authorization
Basic [OAuth Token]
JIRA OAuth 2.0 토큰
Body
아래 JSON 참조
Response Type
JSON
Response Body Template
(빈칸)
등록 결과 저장
Body 내용:
{ "objectTypeId": "13", "attributes": [ { "objectTypeAttributeId": "100", "objectAttributeValues": [{"value": "${[p4c5.result[0].NL_SERVICE]}"}] }, { "objectTypeAttributeId": "157", "objectAttributeValues": [{"value": "${[p4c5.result[0].NL_IPSTR]}"}] }, { "objectTypeAttributeId": "115", "objectAttributeValues": [{"value": "${[p4c5.result[0].NL_PLATFORM]}"}] } ] }주석
objectTypeId "13"은 JIRA Assets의 서버 Object Type입니다.
Attribute ID 100: Name (서비스명)
Attribute ID 157: IP Address
Attribute ID 115: Platform (플랫폼 정보)
p4c5는 Step 5 (ZTNA IP정보 조회)의 프로세스 ID입니다.
Step 5에서 조회한 노드 정보를 사용하여 자산을 생성합니다.
Workflow 플로우 요약
Windows PC 등록 플로우:
ZTNA IP정보 조회 (p4d0): Genian ZTNA API를 호출하여 탐지된 노드의 상세 정보 조회 (Body에 ${request._IP} 포함, accept 헤더 사용)
조건검사 PC and Windows: NodeType=20(PC) 확인 → True일 경우 진행
JIRA CMDB IP주소 조회 (p10b): JIRA Assets에서 해당 IP 주소로 등록된 자산이 있는지 AQL로 검색
CMDB 등록 결과 조건: total=0 확인 → True(미등록)일 경우 진행
ZTNA IP정보 조회 (pe65): 최신 노드 정보를 다시 조회 (Body에 ${request._IP} 포함, accept 헤더 사용)
JIRA CMDB 자산 등록: Object Type 51(Windows PC)로 자산 등록 (NL_FQDN, NL_IPSTR, NL_PLATFORM)
서버 등록 플로우:
ZTNA IP정보 조회 (p4d0): Genian ZTNA API를 호출하여 탐지된 노드의 상세 정보 조회 (Body에 ${request._IP} 포함, accept 헤더 사용)
조건검사 PC and Windows: NodeType=20(PC) 확인 → False일 경우 다음 단계로
조건검사 서버 and Red Hat (p7cb): NL_PLATFORM="Red Hat Linux" AND NodeType=40(서버) 확인 → True일 경우 진행
JIRA CMDB IP주소 등록 조회 (pe9a): JIRA Assets에서 해당 IP 주소로 등록된 자산이 있는지 AQL로 검색
조회결과 조건: total=0 확인 → True(미등록)일 경우 진행
ZTNA IP정보 조회 (p4c5): 최신 노드 정보를 다시 조회 (Body에 ${request._IP} 포함, accept 헤더 사용)
JIRA CMDB 자산 등록: Object Type 13(서버)로 자산 등록 (NL_SERVICE, NL_IPSTR, NL_PLATFORM)
참고
실제 운영 환경에서는 Mac OS, Windows Server 등 다양한 OS 타입에 대한 조건 분기를 추가할 수 있습니다.
각 OS 타입마다 별도의 IfElse 노드와 HTTP Request 노드를 추가하여 확장 가능합니다.
Windows PC 프로세스와 서버 프로세스는 동일한 방식으로 `${request._IP}`를 사용하고 accept 헤더로 인증합니다.
프로세스 ID는 괄호 안에 표시된 실제 값을 참조하세요.
템플릿 변수 참조 방법
Workflow에서 사용되는 주요 템플릿 변수:
Windows PC 등록 프로세스:
${request._IP}: Event Hooks 트리거에서 전달된 IP 주소
${[p4d0.result[0].NodeType]}: Step 1 ZTNA IP정보 조회 - 노드 타입 코드
${[p4d0.result[0].NL_IPSTR]}: Step 1 ZTNA IP정보 조회 - IP 주소
${[p10b.total]}: Step 3 JIRA CMDB IP주소 조회 - 검색된 자산 개수
${[pe65.result[0].NL_FQDN]}: Step 5 ZTNA IP정보 조회 - FQDN/호스트명
${[pe65.result[0].NL_IPSTR]}: Step 5 ZTNA IP정보 조회 - IP 주소
${[pe65.result[0].NL_PLATFORM]}: Step 5 ZTNA IP정보 조회 - 플랫폼 정보
서버 등록 프로세스:
${request._IP}: Event Hooks 트리거에서 전달된 IP 주소
${[p4d0.result[0].NodeType]}: Step 1 ZTNA IP정보 조회 - 노드 타입 코드
${[p4d0.result[0].NL_PLATFORM]}: Step 1 ZTNA IP정보 조회 - 플랫폼 정보
${[p4d0.result[0].NL_IPSTR]}: Step 1 ZTNA IP정보 조회 - IP 주소
${[pe9a.total]}: Step 3-1 JIRA CMDB IP주소 등록 조회 - 검색된 자산 개수
${[p4c5.result[0].NL_SERVICE]}: Step 5 ZTNA IP정보 조회 - 서비스명
${[p4c5.result[0].NL_IPSTR]}: Step 5 ZTNA IP정보 조회 - IP 주소
${[p4c5.result[0].NL_PLATFORM]}: Step 5 ZTNA IP정보 조회 - 플랫폼 정보
공통 변수:
${connInfo.request.cloudId}: 연동 정보에 저장된 JIRA Cloud ID
${connInfo.request.workspaceId}: 연동 정보에 저장된 JIRA Workspace ID
주석
프로세스 ID (p4d0, p10b, pe65, p7cb, pe9a, p4c5 등)는 실제 Workflow마다 다를 수 있습니다.
Response Body Template을 비워두면 전체 응답이 저장되며, 이후 단계에서 JSON 경로로 참조할 수 있습니다.
Windows PC 프로세스와 서버 프로세스 모두 ${request._IP} (언더스코어 포함)를 사용합니다.
모든 프로세스에서 accept 헤더와 Authorization 헤더를 사용하여 ZTNA API 인증을 수행합니다.
Step 7: 성공 로그 기록 (선택 사항)
자산 등록이 성공하면 로그를 기록합니다.
설정 항목
설정 값
참고
액션 타입
Log
이름
log_success
레벨
Info
메시지
아래 메시지 참조
메시지 내용:
✅ JIRA Assets 등록 완료 FQDN: ${[pe65.result[0].NL_FQDN]} IP 주소: ${[pe65.result[0].NL_IPSTR]} 플랫폼: ${[pe65.result[0].NL_PLATFORM]} 등록 시간: ${_CURRENT_TIME}주석
로그 메시지에는 Step 5 또는 Step 6에서 조회한 최신 노드 정보를 사용합니다.
Windows PC는 pe65, 서버는 p4c5 프로세스 ID를 참조합니다.
에러 핸들러 설정
API 호출 실패 시 처리할 에러 핸들러를 설정합니다.
에러 코드
처리 방법
참고
401 Unauthorized
토큰 갱신 후 재시도
Access Token 만료
403 Forbidden
관리자에게 알림
권한 부족
400 Bad Request
요청 파라미터 검증 및 로그
잘못된 요청
429 Too Many Requests
30초 대기 후 재시도
Rate Limit 초과
5xx Server Error
5분 후 재시도
JIRA 서버 오류
JIRA Assets에서 자산 확인하기
자산 목록 확인
JIRA Service Management에 로그인하여 'Assets' 메뉴로 이동합니다.
'ITAM' 스키마를 선택하고 다음 Object Type에서 등록된 자산을 확인할 수 있습니다:
PC > Windows
PC > Mac OS
서버 > Red Hat Linux
서버 > Windows Server
자산 상세 정보 확인
등록된 자산을 클릭하면 다음 정보를 확인할 수 있습니다:
속성
설명
예시
Name
노드 식별자
WIN-PC-001
IP Address
IP 주소
192.168.1.100
OS 버전
운영체제 정보
Windows 11 Pro
도메인 이름
FQDN
pc001.genians.local
Created
등록 일시
2024-01-22 16:30:15
Updated
최종 수정 일시
2024-01-22 16:30:15
참고
JIRA Assets에서 제공하는 변경 이력(History) 기능을 활용하면 각 자산의 모든 변경 사항을 추적할 수 있습니다.
활용 시나리오
시나리오 1: 신규 장비 자동 등록
네트워크에 새로운 Windows PC가 연결되면 Genian ZTNA가 자동으로 탐지하고, Workflow를 통해 JIRA Assets의 'Windows' Object Type에 자동으로 등록됩니다. IT 관리자는 별도의 수동 입력 없이 자산 현황을 실시간으로 파악할 수 있습니다.
시나리오 2: 자산 정보 업데이트
기존 PC의 OS가 업그레이드되면(예: Windows 10 → Windows 11), Genian ZTNA가 변경을 탐지하고 JIRA Assets의 'OS 버전' 속성을 자동으로 업데이트합니다.
시나리오 3: 장애 티켓 발행 시 자산 정보 활용
사용자가 JIRA Service Management를 통해 PC 장애 티켓을 발행하면, 해당 PC의 IP 주소를 기반으로 JIRA Assets에서 자산 정보(OS 버전, 설치 소프트웨어 등)를 즉시 확인하여 신속한 문제 해결이 가능합니다.
시나리오 4: 자산 변경 이력 추적
JIRA Assets의 변경 이력 기능을 통해 특정 자산의 IP 주소 변경, OS 업그레이드 등의 모든 변경 사항을 시간순으로 추적할 수 있습니다.
API 참조
주요 API 엔드포인트
API
메소드
용도
/object/aql
POST
AQL 쿼리로 자산 검색
/object/create
POST
새로운 자산 등록
/object/{id}
PUT
자산 정보 업데이트
/object/{id}
DELETE
자산 삭제
/objectschema/{id}
GET
스키마 정보 조회
/objecttype/{id}/attributes
GET
Object Type의 속성 목록 조회
인증 헤더 형식
모든 API 호출 시 다음 헤더를 포함해야 합니다:
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1... Accept: application/json Content-Type: application/jsonAQL(Assets Query Language) 쿼리 예시
IP 주소로 검색:
"IP Address" = "192.168.1.100"여러 조건 검색:
"IP Address" = "192.168.1.100" AND "OS 버전" LIKE "Windows%"Object Type으로 필터링:
objectType = Windows
문제 해결
401 Unauthorized 오류
원인: Access Token 만료 또는 권한 부족
해결: Refresh Token으로 새로운 Access Token 발급
확인: Developer Console에서 필요한 모든 scope가 추가되었는지 확인
403 Forbidden 오류
원인: JIRA Assets 접근 권한 부족
해결: JIRA Assets → ITAM Schema → Settings → Roles에서 사용자 또는 그룹에 '개체 스키마 사용자' 역할 부여
400 Bad Request 오류
원인: 잘못된 Attribute ID 또는 Object Type ID
해결: GET /objecttype/{id}/attributes API로 올바른 ID 확인
확인: Object Type ID가 스키마 내에 존재하는지 확인
429 Too Many Requests 오류
원인: API Rate Limit 초과
해결: 응답 헤더의 'Retry-After' 값만큼 대기 후 재시도
권장: Workflow에서 요청 속도 제한 설정 (초당 2회 이하)
자산이 중복 등록되는 경우
원인: IP 주소 검색 조건이 정확하지 않음
해결: AQL 쿼리에서 IP 주소 완전 일치 검색 사용
확인: Step 2의 조건 분기가 올바르게 동작하는지 로그 확인
참고 자료
Atlassian 공식 문서
Genian ZTNA Workflow 가이드
Workflow (Workflow 개요 및 공통 설정)
HTTP Request 프로세스(노드) (HTTP Request 프로세스)
IfElse 프로세스(노드) (조건 분기 프로세스)
Loop 프로세스(노드) (반복 프로세스)
