監査ログ

keygrant は、シークレットの使用を 1 回ごとにローカルに記録します。keygrant list では各シークレットの使用回数が表示され、エージェントの list_secrets では最終使用日時も表示されます。クラウドアカウントがある場合は、これらのイベントが次回の同期時にアップロードされ、コンソールで複数のマシンにまたがるアクティビティを確認できます。

記録される内容

イベントは、exec、拒否、許可(グラント)、set、rm、revoke について記録されます。アップロードされる内容は、監査レベルによって異なります。

レベルアップロードされる内容
offなし
metadata(デフォルト)シークレット名、操作の種類、リクエスト元のセッション、コマンドのハッシュ
fullmetadata のすべてに加えて、コマンドの全文

どのレベルでも、値が記録されることは決してありません。

レベルを変更する

keygrant cloud audit              # 現在のレベルを表示
keygrant cloud audit off
keygrant cloud audit full

レベルはデバイスごとに設定します。

レベルの選び方

metadata を使えば、コマンドの中身をアップロードすることなく、普段と異なる使用(たとえば、見覚えのないセッションからシークレットが使われたこと)に気づくことができます。コマンドには、どこにも保存したくない URL、ファイルパス、ホスト名が含まれている可能性があります。そのため、全文の記録はオプトイン方式になっています。