client-pyPythonライブラリは以下を提供します:
- Falco gRPCサーバーでgRPCセキュアチャネルを初期化するために使用される
Client
クラス。 - 同じ名前のprotobufオブジェクトを表す
Request
およびResponse
クラス。
例を参照して、PythonクライアントがFalco gRPC出力APIに接続し、イベントをJSONで表示する方法を確認します 。
現在、Pythonクライアントには2つの出力形式があります。Responseクラスはデフォルトであり、次の場合に推奨されます。データはPythonまたはJSONでさらに処理する必要があります。JSON出力を有効にするには、 Client
をインスタンス化するときにoutput_format="json"
パラメーターを渡すだけで十分です。
例のパスの
/tmp/{client.crt,client.key,ca.crt}
に証明書があることを確認します。必須の依存関係を使用してPython環境を作成し、アクティベイトします。
client-pyルートディレクトリから、次のコマンドを実行します:
$ python -m examples.get_events -o json
Falcoインスタンスが持っている一連のルールに応じて、出力イベントが流れ始めます。
{ "time":"2020-03-03T17:50:03.391768+00:00", "priority":"warning", "source":"syscall", "rule":"Delete or rename shell history", "output":"18:50:03.391767411: Warning Shell history had been deleted or renamed (user=matt type=unlink command=zsh fd.name=<NA> name=<NA> path=/home/matt/.zsh_history.LOCK oldpath=<NA> host (id=host))", "output_fields":{ "container.name":"host", "user.name":"matt", "container.id":"host", "fd.name":"<NA>", "proc.cmdline":"zsh", "evt.arg.path":"/home/matt/.zsh_history.LOCK", "evt.arg.name":"<NA>", "evt.arg.oldpath":"<NA>", "evt.type":"unlink", "evt.time":"18:50:03.391767411" }, "hostname":"localhost.localdomain" }
Table of contents