Loading...
MySQL 9.5 Reference Manual 9.5의 8.4.7 The Audit Message Component의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
audit_api_message_emit component는
애플리케이션이 감사 로그에 자체 메시지 이벤트를 추가할 수 있도록
audit_api_message_emit_udf()
함수를 사용하여 지원합니다.
audit_api_message_emit component는 모든 감사 유형 플러그인과
협력합니다. 구체적인 예에서는
Section 8.4.6, “MySQL Enterprise Audit”에 설명된
audit_log 플러그인을 사용합니다.
server에서 사용 가능하려면, component 라이브러리 파일은
MySQL 플러그인 디렉토리(plugin_dir 시스템
변수가 지정하는 디렉토리)에 위치해야 합니다. 필요한 경우,
server 시작 시 plugin_dir 값을 설정하여
플러그인 디렉토리 위치를 구성하십시오.
audit_api_message_emit component를 설치하려면
다음 statement를 사용합니다:
1INSTALL COMPONENT "file://component_audit_api_message_emit";
Component 설치는 한 번만 수행하면 되며, server 시작마다
반복할 필요는 없습니다.
INSTALL COMPONENT는 component를 로드하고,
또한 mysql.component 시스템 테이블에 등록하여
이후 server 시작 시 자동으로 로드되도록 합니다.
audit_api_message_emit component를 제거하려면
다음 statement를 사용합니다:
1UNINSTALL COMPONENT "file://component_audit_api_message_emit";
UNINSTALL COMPONENT는
component를 언로드하고
mysql.component 시스템 테이블에서 등록을 해제하여
이후 server 시작 시 로드되지 않도록 합니다.
audit_api_message_emit component를 설치 및 제거하는 작업은
이 component가 구현하는
audit_api_message_emit_udf()
함수를 설치 및 제거하는 것이므로,
이를 위해 [CREATE FUNCTION](https://dev.mysql.com/doc/refman/9.5/en/create-function.html "15.1.16 CREATE FUNCTION Statement)이나
DROP FUNCTION을 사용할 필요는 없습니다.
이 section에서는
audit_api_message_emit component가 구현하는
audit_api_message_emit_udf()
함수를 설명합니다.
Audit message 함수를 사용하기 전에, Installing or Uninstalling the Audit Message Component 에 제시된 지침에 따라 audit message component를 설치하십시오.
Audit 로그에 메시지 이벤트를 추가합니다. 메시지 이벤트에는 호출자가 선택한 component, producer, 메시지 문자열과, 선택적으로 키-값 쌍 집합이 포함됩니다.
이 함수가 게시한 이벤트는 활성화된 모든 감사 유형 플러그인으로 전송되며, 각 플러그인은 자체 규칙에 따라 이벤트를 처리합니다. 어떠한 감사 유형 플러그인도 활성화되어 있지 않으면, 이벤트를 게시해도 아무 효과가 없습니다.
Arguments:
component: component 이름을 지정하는 문자열.
producer: producer 이름을 지정하는 문자열.
message: 이벤트 메시지를 지정하는 문자열.
key,
value: 이벤트에는 0개 이상의
키-값 쌍을 포함할 수 있으며, 이는 임의의
애플리케이션 제공 데이터 맵을 지정합니다. 각
key 인자는 바로 뒤따르는
value 인자를 위한 이름을 지정하는
문자열입니다. 각 value 인자는
바로 뒤따르는 key 인자를 위한
값을 지정합니다. 각 _value_는
문자열, 숫자 값, 또는 NULL일 수 있습니다.
Return value:
성공을 나타내는 문자열 OK. 함수가 실패하면
에러가 발생합니다.
Example:
1mysql> SELECT audit_api_message_emit_udf('component_text', 2 'producer_text', 3 'message_text', 4 'key1', 'value1', 5 'key2', 123, 6 'key3', NULL) AS 'Message'; 7+---------+ 8| Message | 9+---------+ 10| OK | 11+---------+
Additional information:
audit_api_message_emit_udf()
에 의해 게시된 이벤트를 수신하는 각 감사 플러그인은
플러그인별 포맷으로 이벤트를 로그에 기록합니다. 예를 들어,
audit_log 플러그인(참조:
Section 8.4.6, “MySQL Enterprise Audit”)은
audit_log_format 시스템
변수로 구성된 로그 포맷에 따라
메시지 값을 다음과 같이 기록합니다:
JSON 포맷
(audit_log_format=JSON):
1{ 2 ... 3 "class": "message", 4 "event": "user", 5 ... 6 "message_data": { 7 "component": "component_text", 8 "producer": "producer_text", 9 "message": "message_text", 10 "map": { 11 "key1": "value1", 12 "key2": 123, 13 "key3": null 14 } 15 } 16}
New-style XML 포맷
(audit_log_format=NEW):
1<AUDIT_RECORD> 2 ... 3 <NAME>Message</NAME> 4 ... 5 <COMMAND_CLASS>user</COMMAND_CLASS> 6 <COMPONENT>component_text</COMPONENT> 7 <PRODUCER>producer_text</PRODUCER> 8 <MESSAGE>message_text</MESSAGE> 9 <MAP> 10 <ELEMENT> 11 <KEY>key1</KEY> 12 <VALUE>value1</VALUE> 13 </ELEMENT> 14 <ELEMENT> 15 <KEY>key2</KEY> 16 <VALUE>123</VALUE> 17 </ELEMENT> 18 <ELEMENT> 19 <KEY>key3</KEY> 20 <VALUE/> 21 </ELEMENT> 22 </MAP> 23</AUDIT_RECORD>
Old-style XML 포맷
(audit_log_format=OLD):
1<AUDIT_RECORD 2 ... 3 NAME="Message" 4 ... 5 COMMAND_CLASS="user" 6 COMPONENT="component_text" 7 PRODUCER="producer_text" 8 MESSAGE="message_text"/>
Note
Old-style XML 포맷으로 기록된 메시지 이벤트에는 이 포맷이 부과하는 표현상의 제약으로 인해 키-값 맵이 포함되지 않습니다.
audit_api_message_emit_udf()
에 의해 게시된 메시지는
이벤트 클래스가 MYSQL_AUDIT_MESSAGE_CLASS이고
서브클래스가 MYSQL_AUDIT_MESSAGE_USER입니다.
(내부적으로 생성된 감사 메시지도 동일한 클래스를 가지며
서브클래스는 MYSQL_AUDIT_MESSAGE_INTERNAL입니다.
이 서브클래스는 현재 사용되지 않습니다.)
audit_log 필터링 규칙에서 이러한 이벤트를 참조하려면,
name 값이 message인
class element를 사용하십시오.
예를 들면 다음과 같습니다:
1{ 2 "filter": { 3 "class": { 4 "name": "message" 5 } 6 } 7}
사용자가 생성한 메시지 이벤트와 내부적으로 생성된
메시지 이벤트를 구분해야 하는 경우,
subclass 값을 user 또는
internal에 대해 검사하십시오.
키-값 맵 내용에 기반한 필터링은 지원되지 않습니다.
필터링 규칙 작성에 대한 정보는 Section 8.4.6.7, “Audit Log Filtering” 을 참조하십시오.
8.4.6 MySQL Enterprise Audit
8.4.8 MySQL Enterprise Firewall