Sensitive Data Scanner Processor

이 페이지는 아직 한국어로 제공되지 않으며 번역 작업 중입니다. 번역에 관한 질문이나 의견이 있으시면 언제든지 저희에게 연락해 주십시오.

민감 데이터 프로세서는 로그를 스캔해 PII, PCI, 커스텀 민감 데이터와 같은 민감 정보를 감지, 수정, 또는 해시합니다. 사전 정의된 규칙 라이브러리에서 고르거나 커스텀 Regex 규칙을 입력해 민감 데이터를 스캔할 수 있습니다.

민감 데이터 스캐너 프로세서를 설정하려면 다음을 따르세요.

  1. 필터 쿼리를 정의합니다. 특정 필터 쿼리와 일치하는 로그만 스캔 및 처리됩니다. 필터 쿼리와 일치하는지 여부와 관계 없이 모든 로그는 파이프라인 다음 단계로 전송됩니다.
  2. Add Scanning Rule을 클릭합니다.
  3. 스캐닝 규칙 이름을 지정합니다.
  4. Select scanning rule type 필드에서 라이브러리에서 규칙을 생성할지, 혹은 커스텀 규칙을 생성할지 선택합니다.
    • 라이브러리에서 규칙을 생성할 경우 사용하고 싶은 라이브러리 패턴을 선택합니다.
    • 커스텀 규칙을 생성할 경우 데이터에 대비해 확인할 regex 패턴을 입력합니다.
  5. Scan entire part of event 섹션의 드롭다운에서 Entire Event, *Specific Attributes, 또는 Exclude Attributes 중 스캔하고자 하는 방법을 선택합니다.
    • Specific Attributes를 선택하면 Add Field를 클릭하고 스캔하고자 하는 특정 속성을 입력합니다. 최대 3개 필드까지 추가할 수 있습니다. 경로 표기법(outer_key.inner_key)을 사용해 중첩된 키에 접근할 수 있습니다. 중첩된 데이터로 지정된 속성의 경우 모든 중첩된 데이터가 스캔됩니다.
    • Exclude Attributes를 선택하면 Add Field를 클릭하고 스캔에서 제외하고자 하는 특정 속성을 입력합니다. 최대 3개 필드까지 추가할 수 있습니다. 경로 표기법(outer_key.inner_key)을 사용해 중첩된 키에 접근할 수 있습니다. 중첩된 데이터로 지정된 속성의 경우, 모든 중첩된 데이터가 예외가 됩니다.
  6. Define action on match 섹션에서 일치하는 정보에 실행하려는 작업을 선택합니다. 삭제, 부분 삭제, 해싱은 모두 되돌릴 수 없는 작업입니다.
    • 정보를 수정하는 경우, 일치하는 데이터를 대체할 텍스트를 지정하세요.
    • 정보를 일부만 수정하는 경우, 수정하려는 문자 수를 지정하고 일치하는 데이터의 첫 부분 또는 마지막 부분을 수정할 것인지 지정합니다.
    • 참고: 해싱을 선택하는 경우, 일치하는 UTF-8 바이트는 FarmHash의 64비트 지문으로 해시됩니다.
  7. 또는 regex와 일치하는 모든 이벤트에 태그를 추가하여 이벤트를 필터, 분석, 알림 설정할 수 있습니다.

Filter query syntax

Each processor has a corresponding filter query in their fields. Processors only process logs that match their filter query. And for all processors except the filter processor, logs that do not match the query are sent to the next step of the pipeline. For the filter processor, logs that do not match the query are dropped.

For any attribute, tag, or key:value pair that is not a reserved attribute, your query must start with @. Conversely, to filter reserved attributes, you do not need to append @ in front of your filter query.

For example, to filter out and drop status:info logs, your filter can be set as NOT (status:info). To filter out and drop system-status:info, your filter must be set as NOT (@system-status:info).

Filter query examples:

  • NOT (status:debug): This filters for only logs that do not have the status DEBUG.
  • status:ok service:flask-web-app: This filters for all logs with the status OK from your flask-web-app service.
    • This query can also be written as: status:ok AND service:flask-web-app.
  • host:COMP-A9JNGYK OR host:COMP-J58KAS: This filter query only matches logs from the labeled hosts.
  • @user.status:inactive: This filters for logs with the status inactive nested under the user attribute.

Learn more about writing filter queries in Datadog’s Log Search Syntax.