본문 바로가기
WIKI 기술 지식 베이스

Dynamic Instrumentation 민감 데이터 스크러빙 (Sensitive Data Scrubbing)

원문 보기 위키 갱신

Datadog Dynamic Instrumentation은 프로덕션 환경의 임의 코드 위치에서 변수 데이터를 캡처해 애플리케이션의 관측성과 디버깅 기능을 강화해요. 또한 실시간으로 표현식을 만들고 평가해 그 결과를 스팬 태그로 통합할 수도 있어요.

출처: 문서

본문

지원되지 않는 사이트 안내: 이 제품은 다음 Datadog 사이트(app.ddog-gov.com, us2.ddog-gov.com)에서는 지원되지 않아요. 선택한 Datadog 사이트와는 호환되지 않아요.

개요 (Overview)

Datadog Dynamic Instrumentation은 프로덕션 환경의 임의 코드 위치에서 변수 데이터를 캡처해 애플리케이션의 관측성과 디버깅 기능을 강화해요. 또한 실시간으로 표현식을 만들고 평가해 그 결과를 스팬 태그로 통합할 수 있어요.

이 기능은 강력하지만, 의도적이든 아니든 민감 데이터 유출 가능성도 함께 제기해요. 이 제품의 강력한 데이터 캡처 기능과 함께 민감 정보를 보호하는 포괄적인 조치도 제공해요.

이러한 편집(redaction) 메커니즘을 이해하고 적절히 구성하면 Dynamic Instrumentation을 자신 있게, 그리고 안전하게 사용할 수 있어요.

식별자 기반 편집 (Redact based on identifiers)

기본 동작 (Default behavior)

Dynamic Instrumentation은 password, accessToken과 같이 민감하다고 판단되는 특정 식별자와 연결된 값을 자동으로 편집해요. 편집되는 식별자 전체 목록을 참고하세요.

사용자 지정 식별자 편집 (Custom identifier redaction)

추가 식별자를 지정해 편집을 더 세밀하게 조정할 수 있어요. 애플리케이션 환경(datadog-agent가 아닌)에서 DD_DYNAMIC_INSTRUMENTATION_REDACTED_IDENTIFIERS 환경 변수를 firstName,lastName,phoneNumber처럼 쉼표로 구분된 식별자 목록으로 설정하세요.

기본 편집 목록에서 특정 식별자를 제외하려면 DD_DYNAMIC_INSTRUMENTATION_REDACTION_EXCLUDED_IDENTIFIERS 환경 변수를 cookie,sessionid처럼 편집하지 않을 식별자들의 쉼표 구분 목록으로 설정하세요.

편집은 코드에서 식별자가 어떻게 사용되는지(메서드 인자, 지역 변수, 클래스 속성, 사전 키 등)와 무관하게 전반적으로 적용돼요. 관련 값은 인프라에서 편집되며 Datadog로 업로드되지 않아요.

특정 클래스 또는 타입 기반 편집 (Redact based on specific classes or types)

일부 클래스는 본질적으로 민감한 정보를 포함할 수 있어요(예: UserCredentials 클래스). 역시 애플리케이션 환경(datadog-agent가 아닌)에서 DD_DYNAMIC_INSTRUMENTATION_REDACTED_TYPES 환경 변수를 MyCompany.Authentication.UserCredential,MyCompany.BillingAddress처럼 민감 타입들의 쉼표 구분 목록으로 설정하세요.

클래스 기반 편집:

  • 나열된 타입의 변수를 편집해요. 그 내용은 Datadog로 업로드되지 않아요.
  • 편집된 클래스 내 어떤 코드 위치에도 프로브가 설정되는 것을 중지해요.

Sensitive Data Scanner로 변수 값 기반 편집 (Redact based on variable values with Sensitive Data Scanner)

Sensitive Data Scanner는 특정 정규식을 기준으로 민감 정보를 식별·편집해요.

초기 설정 (Initial setup)

Dynamic Instrumentation Setup에 처음 접근하면 Dynamic Instrumentation용 기본 Sensitive Data Scanner 규칙을 선택적으로 설정할 수 있어요. 이 규칙은 이메일 주소나 JWT 토큰처럼 민감할 가능성이 높은 데이터를 위한 공통 정규식을 다뤄요.

Sensitive Data Scanner 사용자 지정 (Customizing Sensitive Data Scanner)

Sensitive Data Scanner를 통해 기본 규칙을 비활성화하거나 다른 규칙을 만들 수 있어요. Dynamic Instrumentation용 새 Sensitive Data Scanner 규칙을 만들려면 source:dd_debugger로 필터링하도록 설정하세요.

참고: Datadog Sensitive Data Scanner의 편집은 정보가 Datadog로 업로드된 후에 수행돼요.

더 알아보기 (Learn more)