CLIの認証情報を表示せずに渡す
dosyaのAPIキーを標準入力またはシークレットの環境変数から渡し、ファイルを非公開に保ちながら、認証情報をログに記録せずに失効させます。
最終確認日
スクリーンショットは英語版の画面です。
dosyaのAPIキーはdos_で始まります。シークレットをリテラルの引数として渡すと、プロセス一覧やシェルの履歴に公開されるおそれがあるため避けてください。キーをコマンドラインで直接渡すと、CLIに警告が表示されます。

始める前に
- 実行時に承認済みのシークレットマネージャーからキーを取得してください。
- 保存時は非公開の
XDG_CONFIG_HOMEを使ってください。設定フォルダーは0700、ファイルは0600に保ちます。 config getはキーを伏せ字にします。キーを読み戻そうとするワークフローを作成しないでください。
手順
- シークレットを表示せずに一時的な環境変数に読み込んでください。取得時とCLIの呼び出し時はコマンドのトレースを無効にしてください。
- 1つのコマンドで使う場合は、そのプロセスにだけ
DOSYA_API_KEYをエクスポートしてください。認証情報を保存する場合は、--key -を使い、サポートされている標準入力からキーを受け取る形式にシークレットをパイプしてください。 dosya whoami --jsonを実行し、目的の識別情報であることを確認してください。環境を表示せずに標準出力と標準エラー出力を取得してください。- プロセスの終了直後にシェル変数を解除してください。ジョブログ、クラッシュレポート、デバッグ用ラッパーが環境を出力しないことを確認してください。
- そのマシンに保存された認証情報だけを削除する場合はローカルのサインアウトを使ってください。サーバーのキーも無効にする場合は
logout --revokeを使ってください。 - 失効の結果を確認してください。サーバーでの失効ができなかった場合は再試行できるようローカルのキーが残ります。一方、401の場合は既に使えないローカルの認証情報が消去されます。設定の出力でキーが伏せ字のままであることを確認してください。

実行後の状態
キーをargvやログに残さずにCLIが認証され、保存されたファイルは非公開のままです。サインアウトの動作は、ローカルのみの削除かサーバーでの失効かという選択に一致します。
トラブルシューティング
CLIにリテラルのキーについて警告が表示される場合 公開された認証情報をローテーションし、標準入力または環境変数へのシークレットの注入に切り替えてください。
ネットワークエラーで失効できない場合 サーバーでの操作を再試行できるようローカルのキーは残ります。それまで設定ファイルを保護してください。
CIログに環境が出力されている場合 環境を出力する手順を削除し、キーをローテーションしてください。config getの伏せ字処理では、他のログツールの出力を無害化できません。
関連ガイド
この記事は役に立ちましたか?
評価の結果を読み込んでいます…
投票すると、回答を変更できるように、必要な投票用Cookieが最長180日間保存されます。
質問と回答
このガイドの手順について質問できます。質問は確認後に公開されます。
公開の質問には、アカウントの詳細、認証情報、非公開ファイルを含めないでください。これらについては 非公開サポート をご利用ください。
質問を読み込んでいます…
dosyaアカウントにサインインすると、質問を投稿できます。