プロンプト
顧客は何年もの間APIキーを有効なまま放置しています。対象ユーザー、MVPのスコープ、デュアルキー移行、監査可能性、および成功指標を含め、クレデンシャルローテーションコンソールを評価してください。
シナリオと制約
プラットフォームには個人用キー、チームキー、サービストークンが存在します。顧客はCI、Functions、ローカル環境に認証情報を配置します。一部のシステムは2つのキーを保持できず、一部の管理者はシークレットの値を読み取ることができません。ローテーションは一時停止やロールバックが可能でなければならず、シークレットの全体を決して表示してはなりません。
ここで試されること
このテストでは、セキュリティ機能を導入しやすいワークフローへと転換できるかを評価します。Stripeはキーの作成、有効期限、ローテーションをライフサイクル機能として扱っています。Cloudflareはサービストークンのローテーションアクションを公開しています。GitHubのプッシュ保護は、防止とバイパス処理に明確な責任境界が必要であることを示しています。
リファレンスアプローチ
クレデンシャルのタイプとデプロイモデルごとにセグメント化します。MVPでは、有効期限のリマインダー、所有者とスコープ、ローテーションのプレビュー、新しいキーの作成、短いオーバーラップ期間、新しいキーの検証、古いキーの失効、監査イベントを提供します。デフォルトではプレフィックス、作成日時、最終使用日時のみを表示します。単一キーしか持てないシステムに対しては、自動無効化の代わりに失効の一時停止、移行チェックリスト、および人間による確認を提供します。
重要な詳細
冪等な操作と状態(プレビュー、作成、検証、アクティブ化、失効)を使用します。最小オーバーラップ期間、未使用の古いキーのリマインダー、および障害時のロールバックを定義します。所有者、管理者、セキュリティチームに通知します。完了率、期限切れのクレデンシャル、ローテーションに起因する障害、移行時間、および失効後の残存使用を測定します。
よくある落とし穴
すべてのキーを特定の期日に一括でローテーションさせること、シークレットの全体を表示すること、最終使用日時を完全なものとして扱うこと、移行手段なしにリマインダーのみを提供すること、委託された権限、サービスアカウント、またはリージョンキャッシュを無視することです。
評価ルーブリック
優れた回答では、リスク階層、MVPの境界、デュアルキーおよびシングルキーのパス、権限と監査の設計、ならびに障害率と完了率を用いた価値指標を定義します。「ローテーションボタンを追加する」だけでは不十分です。
フォローアップの質問
顧客のCIシークレットを自動的に置き換えることを約束しますか?
統合のスコープと権限付与を確認します。短いデュアルキーのオーバーラップ、検証、およびロールバックを優先します。書き込みの成功を確認できない場合は、古いキーを失効させず、人間による確認を明示的な状態として提示します。
漏洩が疑われるキーはどのように処理しますか?
緊急失効と計画的なローテーションを切り離します。影響範囲、最終使用日時、代替キーの作成を表示します。失効前に不可逆的な影響について警告し、その決定を監査ログと通知に記録します。
コンソール自体がシークレットの漏洩リスク面(リークサーフェス)になるのを防ぐにはどうすればよいですか?
最小権限の原則、1回限りの表示、短寿命の操作トークン、マスキング処理、および完全なアクセス監査ログを使用します。シークレットの値は制御されたストレージに保持し、UIは識別子と状態のみを扱います。