(オプション)コレクタを使用した機密データのフィルタ処理

注: このドキュメントには、OpenTelemetry™ ドキュメントへの参照が含まれています。Splunk AppDynamics はいかなる権利も所有しておらず、そのようなサードパーティのドキュメントの正確性または完全性について責任を負いません。™

機密データは診断やトラブルシューティングに役立ちますが、セキュリティを考慮すると、特定の情報のフィルタリングが必要になる場合があります。データのフィルタリングは、エージェントレベルまたはコレクタレベルで実行できます。このページには、コレクタレベルで機密データをフィルタリングするための推奨構成が含まれています。ID、クレジットカード情報、電子メールアドレスなどの機密データには、データ保護と業界標準への準拠を確実にする特別なデータ管理が必要です。

Splunk AppDynamics に送信された機密データは、Splunk AppDynamics Distribution for OpenTelemetry Collector または OpenTelemetry Collector を使用して削除することができます。コレクタを使用して機密データをフィルタリングするには、次の手順を実行します。

  1. 必要なプロセッサをコレクタの構成ファイルに追加します。プロセッサを使用すると、特定の属性を削除、編集、またはハッシュ化できます。
  2. 適切な service | pipelines を変更して、プロセッサ機能をアクティブにします。

機密データのフィルタリングに使用できるプロセッサは次のとおりです。

一般的なフィルタリングシナリオ

属性

属性プロセッサを使用して、クレジットカード情報、パスワード、その他の機密値などの特定のキーを削除します。属性プロセッサ一般的な ID 属性を参照してください。

クレジットカード情報

credit_card_number 属性に表示される値を編集できます。

CODE
...
processors:
attributes/update:
actions:
- key: credit_card_number
value: redacted
action: update
...
service:
pipelines:
traces:
processors: [..., attributes/update, ...]
metrics:
processors: [..., attributes/update, ...]
logs:
processors: [..., attributes/update, ...]
...
パスワード
user.password を削除できます。
CODE
...
processors:
attributes/update:
actions:
- key: user.password
action: delete
...
service:
pipelines:
traces:
processors: [..., attributes/update, ...]
metrics:
processors: [..., attributes/update, ...]
logs:
processors: [..., attributes/update, ...]
...

情報の再編集

編集プロセッサを使用して、descriptiongroupid、および name を除くすべての属性を削除します。編集プロセッサを参照してください。

CODE
...
processors:
redaction/update:
allow_all_keys: false
allowed_keys:
- description
- group
- id
- name
...
service:
pipelines:
traces:
processors: [..., redaction/update, ...]
metrics:
processors: [..., redaction/update, ...]
logs:
processors: [..., redaction/update, ...]
...
注: 編集プロセッサには、フィルタリングされた内容の詳細を示すサマリー構成が含まれています。

redaction プロセッサを使用し、Visa および Master カード形式の正規表現フィルタを使用してカード番号をブロックします。

JSON
...
processors:
redaction/update:
allow_all_keys: true
blocked_values:
- "4[0-9]{12}(?:[0-9]{3})?" ## Visa credit card number
- "(5[1-5][0-9]{14})"       ## MasterCard number
summary: debug
...
service:
pipelines:
traces:
processors: [..., redaction/update, ...]
metrics:
processors: [..., redaction/update, ...]
logs:
processors: [..., redaction/update, ...]
...

変革

変換プロセッサを使用して、特定の値をマスクします。変換プロセッサを参照してください。

特定のキーの許可リストを作成する
変換プロセッサを使用して、service.nameservice.namespacecloud.regionprocess.command_line を除くすべての属性を削除します。
CODE
...
processors:
    transform/update:
        traces:
            queries:
               - keep_keys(resource.attributes, "service.name", "service.namespace", "cloud.region", "process.command_line")
        metrics:
            queries:
               - keep_keys(resource.attributes, "service.name", "service.namespace", "cloud.region", "process.command_line")
        logs:
            queries:
               - keep_keys(resource.attributes, "service.name", "service.namespace", "cloud.region", "process.command_line")

  ...
service:
    pipelines:
        traces:
            processors: [..., transform/update, ...] 
        metrics:
            processors: [..., transform/update, ...] 
        logs:
            processors: [..., transform/update, ...]
...
特定のキーの部分値をマスクする
変換プロセッサを使用して、コマンドラインに表示されるパスワードを編集します。たとえば、$env password=mysecret username=myusername python run-my-app.py のようになります。
CODE
...
processors:
transform/update:
traces:
queries:
- replace_pattern(resource.attributes["process.command_line"], "password\\=[^\\s]*(\\s?)", "password=***")
metrics:
queries:
- replace_pattern(resource.attributes["process.command_line"], "password\\=[^\\s]*(\\s?)", "password=***")
logs:
queries:
- replace_pattern(resource.attributes["process.command_line"], "password\\=[^\\s]*(\\s?)", "password=***")
...
service:
pipelines:
traces:
processors: [..., transform/update, ...]
metrics:
processors: [..., transform/update, ...]
logs:
processors: [..., transform/update, ...]
...