Atlassian Confluence Server와 Google SecOps 통합
이 문서에서는 Atlassian Confluence Server를 Google Security Operations (Google SecOps)와 통합하는 방법을 설명합니다.
통합 버전: 3.0
기본 요건
Confluence Server에 인증하려면 다음 옵션 중 하나를 선택하세요.
- 전용 계정의 사용자 이름과 비밀번호입니다.
- 개인 액세스 토큰 (PAT)입니다.
통합에 두 인증 옵션이 모두 제공되는 경우 PAT가 사용자 이름과 비밀번호보다 우선합니다.
사용자 이름과 비밀번호를 기반으로 하는 인증에는 통합에 사용될 전용 계정을 만들어야 합니다.
액세스 토큰을 기반으로 한 인증에는 계정 권한을 구성해야 합니다. 새 PAT가 생성되면 계정의 현재 권한 수준에 해당합니다.
토큰을 만들려면 다음 단계를 따르세요.
- Confluence에서 계정 > 계정 설정 > 개인 액세스 토큰으로 이동합니다.
- 토큰 만들기를 선택합니다.
- 만들려는 토큰의 이름을 지정합니다.
- (선택사항) 보안을 강화하기 위해 설정된 일수가 지나면 토큰이 자동으로 만료되도록 구성할 수 있습니다.
- 만들기를 클릭합니다.
통합 매개변수
통합에는 다음 매개변수가 필요합니다.
매개변수 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
API 루트 | 문자열 | https://ip_address | 참 | 연결할 Confluence Server API 루트를 지정합니다. |
사용자 이름 | 문자열 | 해당 사항 없음 | 거짓 | 연결에 사용할 사용자 이름을 지정합니다. 통합은 사용자 이름 + 비밀번호 또는 개인 액세스 토큰을 통한 인증을 지원합니다. |
비밀번호 | 비밀번호 | 해당 사항 없음 | 거짓 | 연결에 사용할 비밀번호를 지정합니다. 통합은 사용자 이름 + 비밀번호 또는 개인 액세스 토큰을 통한 인증을 지원합니다. |
개인 액세스 토큰 | 비밀번호 | 해당 사항 없음 | 거짓 | 연결에 사용할 토큰을 지정합니다. 통합은 사용자 이름 + 비밀번호 또는 개인 액세스 토큰을 통한 인증을 지원합니다. |
SSL 확인 | 체크박스 | 체크박스 선택됨 | 거짓 | 사용 설정되면 API 루트에 대해 구성된 인증서가 검증됩니다. |
Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참고하세요.
필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 여러 인스턴스 지원을 참고하세요.
작업
작업에 대한 자세한 내용은 내 Workdesk에서 대기 중인 작업에 응답 및 수동 작업 실행을 참고하세요.
핑
연결을 테스트합니다.
매개변수
해당 사항 없음
실행
작업이 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 | 예 |
---|---|---|
is_success | True/False | is_success:False |
작업이 성공하면 (응답에 json이 있고 서버 응답이 200임) is_success
가 True
로 설정되어야 합니다. 그 외의 경우에는 False
입니다.
케이스 월
결과 유형 | 값/설명 | 유형 (항목/일반) |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
페이지 나열
제공된 기준에 따라 Atlassian Confluence Server 인스턴스에서 사용할 수 있는 페이지를 나열합니다.
매개변수
매개변수 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
필터 키 | DDL | 하나 선택 DDL 가능한 값:
|
거짓 | 페이지를 필터링하는 데 사용해야 하는 키를 지정합니다. |
필터 로직 | DDL | 지정되지 않음 DDL 가능한 값:
|
거짓 | 적용할 필터 로직을 지정합니다. 필터링 로직은 Filter Key 매개변수에 제공된 값을 기반으로 작동합니다. |
필터 값 | 문자열 | 해당 사항 없음 | 거짓 | 필터에 사용할 값을 지정합니다. Equal 을 선택하면 작업에서 결과 중 정확히 일치하는 항목을 찾으려고 시도합니다. Contains 이 선택되면 작업은 해당 하위 문자열을 포함하는 결과를 찾으려고 시도합니다. 이 매개변수에 아무것도 제공되지 않으면 필터가 적용되지 않습니다. 필터링 로직은 Filter Key 매개변수에 제공된 값을 기반으로 작동합니다. |
반환할 최대 레코드 수 | 정수 | 50 | 거짓 | 반환할 레코드 수를 지정합니다. 아무것도 제공되지 않으면 작업에서 50개의 레코드를 반환합니다. |
실행
작업이 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 | 예 |
---|---|---|
is_success | True/False | is_success:False |
작업이 성공적으로 실행되면 (오류가 반환되지 않고 서버 응답이 200 OK임) is_success
이 True
로 설정되어야 합니다.
JSON 결과
{
"results": [
{
"id": "PAGE_ID",
"type": "page",
"status": "current",
"title": "Tell people what you think in a comment (step 8 of 9)",
"space": {
"id": 131073,
"key": "ds",
"name": "Demonstration Space",
"type": "global",
"_links": {
"webui": "/display/ds",
"self": "http://192.0.2.45:8090/rest/api/space/ds"
},
"_expandable": {
"metadata": "",
"icon": "",
"description": "",
"retentionPolicy": "",
"homepage": "/rest/api/content/PAGE_ID"
}
},
"extensions": {
"position": 7
},
"_links": {
"webui": "/pages/viewpage.action?pageId=PAGE_ID",
"edit": "/pages/resumedraft.action?draftId=DRAFT_ID",
"tinyui": "/x/AYAB",
"self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
},
"_expandable": {
"container": "/rest/api/space/ds",
"metadata": "",
"operations": "",
"children": "/rest/api/content/PAGE_ID/child",
"restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
"history": "/rest/api/content/PAGE_ID/history",
"ancestors": "",
"body": "",
"version": "",
"descendants": "/rest/api/content/PAGE_ID/descendant"
}
},
...
],
"start": 0,
"limit": 5,
"size": 5,
"_links": {
"self": "http://192.0.2.45:8090/rest/api/content?expand=space",
"next": "/rest/api/content?expand=space&limit=5&start=5",
"base": "http://192.0.2.45:8090",
"context": ""
}
}
케이스 월
결과 유형 | 값/설명 | 유형 (항목/일반) |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지해야 합니다.
Filter Key 매개변수에서 필드를 선택해야 합니다.
|
일반 |
케이스 월 테이블 | 이름: 사용 가능한 Confluence 페이지 열:
|
일반 |
ID로 페이지 가져오기
ID로 Atlassian Confluence Server 페이지를 가져옵니다.
매개변수
매개변수 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
페이지 ID | 문자열 | 해당 사항 없음 | 참 | 반환할 페이지 ID를 지정합니다. |
펼치기 | CSV | body.storage |
거짓 | 페이지에 관한 추가 정보를 반환하려면 expand 매개변수를 지정하세요. 매개변수는 여러 값을 쉼표로 구분된 목록으로 허용합니다. 기본적으로 페이지의 콘텐츠는 body.storage 로 가져옵니다. |
실행
작업이 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 | 예 |
---|---|---|
is_success | True/False | is_success:False |
작업이 성공적으로 실행되면 (페이지가 반환되고 서버 응답이 200 OK임) is_success
가 True
로 설정되어야 합니다.
JSON 결과
{
"id": "PAGE_ID",
"type": "page",
"status": "current",
"title": "title",
"body": {
"storage": {
"value": "<p>test page</p><p>11</p><p>aa</p><p>aa</p><p>aa</p><p><br /></p><p><br /></p>",
"representation": "storage",
"_expandable": {
"content": "/rest/api/content/PAGE_ID"
}
},
"_expandable": {
"editor": "",
"view": "",
"export_view": "",
"styled_view": "",
"anonymous_export_view": ""
}
},
"extensions": {
"position": "none"
},
"_links": {
"webui": "/display/SIEM/111",
"edit": "/pages/resumedraft.action?draftId=PAGE_ID&draftShareId=cf8b3a21-8e36-4a83-a696-51fcb4428d1c",
"tinyui": "/x/TIAB",
"collection": "/rest/api/content",
"base": "http://192.0.2.45:8090",
"context": "",
"self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
},
"_expandable": {
"container": "/rest/api/space/SIEM",
"metadata": "",
"operations": "",
"children": "/rest/api/content/PAGE_ID/child",
"restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
"history": "/rest/api/content/PAGE_ID/history",
"ancestors": "",
"version": "",
"descendants": "/rest/api/content/PAGE_ID/descendant",
"space": "/rest/api/space/SIEM"
}
}
케이스 월
결과 유형 | 값/설명 | 유형 (항목/일반) |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행이 중지되어야 합니다.
|
일반 |
하위 페이지 가져오기
Atlassian Confluence Server 페이지의 하위 페이지를 가져옵니다.
매개변수
매개변수 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
페이지 ID | 문자열 | 해당 사항 없음 | 참 | 반환할 페이지 ID를 지정합니다. |
반환할 최대 레코드 수 | 정수 | 10 | 참 | 반환할 하위 페이지의 한도를 지정합니다. |
실행
작업이 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 | 예 |
---|---|---|
is_success | True/False | is_success:False |
작업이 성공적으로 실행되면 (페이지가 반환되고 서버 응답이 200 OK임) is_success
가 True
로 설정되어야 합니다.
JSON 결과
{
"results": [
{
"id": "PAGE_ID",
"type": "page",
"status": "current",
"title": "test child page!",
"extensions": {
"position": "none"
},
"_links": {
"webui": "/pages/viewpage.action?pageId=PAGE_ID",
"edit": "/pages/resumedraft.action?draftId=PAGE_ID&draftShareId=799fd068-5053-4889-9120-c1a3c970fdbd",
"tinyui": "/x/T4AB",
"self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
},
"_expandable": {
"container": "/rest/api/space/SIEM",
"metadata": "",
"operations": "",
"children": "/rest/api/content/PAGE_ID/child",
"restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
"history": "/rest/api/content/PAGE_ID/history",
"ancestors": "",
"body": "",
"version": "",
"descendants": "/rest/api/content/PAGE_ID/descendant",
"space": "/rest/api/space/SIEM"
}
}
],
"start": 0,
"limit": 1,
"size": 1,
"_links": {
"self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID/child/page",
"base": "http://192.0.2.45:8090",
"context": ""
}
}
케이스 월
결과 유형 | 값/설명 | 유형 (항목/일반) |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않아야 합니다. 데이터를 사용할 수 있는 경우 (is_success = true): print '제공된 Atlassian Confluence Server 페이지 ID <page_id>의 하위 페이지를 찾았습니다.' 데이터를 사용할 수 없는 경우 (is_success=false) print '제공된 Atlassian Confluence Server 페이지 ID <page_id>의 하위 페이지를 찾을 수 없습니다.' 작업이 실패하고 플레이북 실행이 중지되어야 합니다.
|
일반 |
페이지 댓글 가져오기
Atlassian Confluence Server 페이지의 댓글을 가져옵니다.
매개변수
매개변수 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
페이지 ID | 문자열 | 해당 사항 없음 | 참 | 반환할 페이지 ID를 지정합니다. |
펼치기 | CSV | body.storage |
거짓 | 페이지에 관한 추가 정보를 반환하려면 expand 매개변수를 지정하세요. 매개변수는 여러 값을 쉼표로 구분된 목록으로 허용합니다. 기본적으로 페이지의 콘텐츠는 body.storage 로 가져옵니다. |
반환할 최대 레코드 수 | 정수 | 10 | 참 | 반환할 하위 페이지의 한도를 지정합니다. |
실행
작업이 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 | 예 |
---|---|---|
is_success | True/False | is_success:False |
작업이 성공적으로 실행되면 (댓글이 반환되고 서버 응답이 200 OK임) is_success
이 True
로 설정되어야 합니다.
JSON 결과
{
"results": [
{
"id": "ID",
"type": "comment",
"status": "current",
"title": "Re: 111",
"body": {
"storage": {
"value": "<p>comment1</p>",
"representation": "storage",
"_expandable": {
"content": "/rest/api/content/ID"
}
},
"_expandable": {
"editor": "",
"view": "",
"export_view": "",
"styled_view": "",
"anonymous_export_view": ""
}
},
"extensions": {
"location": "footer",
"_expandable": {
"resolution": ""
}
},
"_links": {
"webui": "/display/SIEM/111?focusedCommentId=98387#comment-ID",
"self": "http://203.0.113.1:8090/rest/api/content/ID"
},
"_expandable": {
"container": "/rest/api/content/ID",
"metadata": "",
"operations": "",
"children": "/rest/api/content/ID/child",
"restrictions": "/rest/api/content/ID/restriction/byOperation",
"history": "/rest/api/content/ID/history",
"ancestors": "",
"version": "",
"descendants": "/rest/api/content/ID/descendant",
"space": "/rest/api/space/SIEM"
}
},
...
],
"start": 0,
"limit": 10,
"size": 2,
"_links": {
"self": "http://203.0.113.1:8090/rest/api/content/ID/child/comment?expand=body.storage",
"base": "http://203.0.113.1:8090",
"context": ""
}
}
케이스 월
결과 유형 | 값/설명 | 유형 (항목/일반) |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.