CC逆引きリファレンス

秘密鍵を保護したい

13. セキュリティリスク回避

コマンド / 機能

"deny": ["Read(*.key)", "Read(~/.ssh/*)"]

概要

SSH 秘密鍵、SSL 証明書の秘密鍵、暗号化キーなどの重要なファイルへのアクセスを制限します。

設定例

// settings.json
{
  "permissions": {
    "deny": [
      // SSH 関連
      "Read(~/.ssh/*)",
      "Read(**/*_rsa)",
      "Read(**/*_ed25519)",
      "Read(**/*_ecdsa)",
      "Read(**/*.pem)",

      // SSL/TLS 証明書
      "Read(**/*.key)",
      "Read(**/*.p12)",
      "Read(**/*.pfx)",

      // GPG 鍵
      "Read(~/.gnupg/*)",

      // 編集・書き込みも禁止
      "Edit(~/.ssh/*)",
      "Write(~/.ssh/*)",
      "Edit(**/*.key)",
      "Write(**/*.key)"
    ]
  }
}

こんな時に使う

  • SSH 鍵や証明書を保護したい時
  • 暗号化キーへのアクセスを制限したい時

使い方

  1. 1settings.json の permissions.deny に秘密鍵のパターンを追加
  2. 2SSH 鍵は ~/.ssh/* で一括保護
  3. 3プロジェクト内の鍵ファイルも **/*.key などで保護
  4. 4読み取り(Read)だけでなく編集(Edit/Write)も禁止

Tips

  • 公開鍵(*.pub)は許可しても問題ない
  • 鍵ファイルは 600 (rw-------) のパーミッションを設定
  • AWS や GCP の認証情報ファイル(~/.aws/*, ~/.config/gcloud/*)も保護推奨
  • ハードウェアセキュリティキー(YubiKey など)の使用も検討