본문으로 건너뛰기

4. 사용자 그룹 권한관리

이 장에서 하는 일​

사용자 그룹과 권한을 API 로 관리합니다. 조회뿐 아니라 등록·변경·삭제까지 할 수 있습니다.

언제 쓰나 — 사내 인사 시스템이나 계정 관리 도구와 연동해 입·퇴사나 부서 이동을 APM 계정에 자동으로 반영할 때 씁니다. 사용자가 몇 명뿐이라면 콘솔 화면에서 직접 관리하는 편이 간단합니다.

변경 API 는 되돌리기 어렵습니다

등록·변경·삭제는 즉시 반영되며 이력이 남지 않습니다. 연동 프로그램을 만들 때는 시험 환경에서 먼저 확인하십시오.

사용자 그룹 관리​

조회​

등록된 사용자 그룹 목록을 받아 옵니다. 그룹 이름은 뒤의 권한 관리 API 에서 대상을 가리키는 데 씁니다.

항목설명
URL/monitoring/api/userGroups
URL 요청 예시/monitoring/api/userGroups
HTTP METHODGET
Content-Typeapplication/json; charset=UTF-8
Body
Response응답내용은 아래에
* type
· APP - Built-in Group Name
· APP_USER - User Defined Group Name
· WEB – Web Server Ip Address
· SYS – System IP Address
· SVC_CHK - Service Health Check

응답내용

{
"status": 200,
"result": [
{
"groupId": "admin",
"description": "관리자 그룹",
"delete": false,
"registered": 1502182126875,
"updated": 1534510452364,
"metricPatterns": null,
"metricPatternsList": []
},
{
"groupId": "users",
"description": "사용자 그룹",
"delete": false,
"registered": 1502182126871,
"updated": 1534510452375,
"metricPatterns": [ <-- 권한 정보
{
"uuid": "26A1578B-F5EE-4475-8946-03994D37BB46",
"type": "APP", <-- Build-in Group Name
"name": "All Group",
"pattern": ".*"
},
{
"uuid": "A967B8D9-AD1D-4E49-91E9-BF3AAD49EA31",
"type": "WEB", <-- Web Server IP Address
"name": "WebServer All",
"pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
},
{
"uuid": "CEC2FC94-FBE8-4A84-8920-972D4E3B693C",
"type": "SYS", <-- System IP Address
"name": "System All",
"pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"
}
],
}
]
}

등록​

새 사용자 그룹을 만듭니다. 그룹만 만들면 권한이 없으므로, 이어서 그룹 권한 관리로 볼 수 있는 대상을 지정합니다.

항목설명
URL/monitoring/api/userGroup
URL 요청 예시/monitoring/api/userGroup
HTTP METHODPOST
Content-Typeapplication/json; charset=UTF-8
Body[{"groupId": "testGroups", "description": "테스트 그룹"}]
Response{ "status": 200 }

수정​

그룹 이름과 설명을 바꿉니다. 소속 사용자와 권한은 그대로 남습니다.

항목설명
URL/monitoring/api/userGroup
URL 요청 예시/monitoring/api/userGroup
HTTP METHODPUT
Content-Typeapplication/json; charset=UTF-8
Body{"groupId": "testGroups", "description": " 테스트 그룹 33"}
Response{ "status": 200 }

삭제​

그룹을 지웁니다. 그 그룹에만 속한 사용자는 아무것도 볼 수 없게 됩니다 — 지우기 전에 사용자를 다른 그룹으로 옮기십시오.

항목설명
URL/monitoring/api/userGroup/{그룹 아이디}
URL 요청 예시/monitoring/api/userGroup/testGroups
HTTP METHODDELETE
Content-Typeapplication/json; charset=UTF-8
Body
Response{ "status": 200 }

그룹 권한 관리​

등록​

그룹이 볼 수 있는 대상을 더합니다. 애플리케이션 그룹·웹 서버·시스템을 종류(type)로 구분해 지정합니다.

항목설명
URL/monitoring/api/userGroup/metricPattern/{그룹 아이디}
URL 요청 예시/monitoring/api/userGroup/metricPattern/testGroups
HTTP METHODPOST
Content-Typeapplication/json; charset=UTF-8
Body{type: "APP", name: "eap64 app", pattern: "^eap64.*"}
* type
· APP - Built-in Group Name
· APP_USER - User Defined Group Name
· WEB – Web Server Ip Address
· SYS – System IP Address
· SVC_CHK - Service Health Check
Response{ "status": 200 }

수정​

이미 준 권한의 대상 목록을 통째로 바꿉니다. 더하는 것이 아니라 덮어쓰기라, 남길 대상도 함께 보내야 합니다.

항목설명
URL/monitoring/api/userGroup/metricPattern/{그룹 아이디}
URL 요청 예시/monitoring/api/userGroup/metricPattern/testGroups
HTTP METHODPUT
Content-Typeapplication/json; charset=UTF-8
Body{type: "APP", name: "eap64 app 11", pattern: "^eap64-11.*"}
* type
· APP - Built-in Group Name
· APP_USER - User Defined Group Name
· WEB – Web Server Ip Address
· SYS – System IP Address
· SVC_CHK - Service Health Check
Response{ "status": 200 }

삭제​

권한을 거둡니다. 그룹 자체는 남습니다.

항목설명
URL/monitoring/api/userGroup/metricPattern/{그룹 아이디}
URL 요청 예시/monitoring/api/userGroup/metricPattern/testGroups
HTTP METHODDELETE
Content-Typeapplication/json; charset=UTF-8
Body["6EFA1F39-6675-4F24-9C22-D19CDEC055AD"]
Response{ "status": 200 }