mcpField
I
infisical-kms

infisical-kms

github.com/infisicalセキュリティ36148 回インストール1 週間前に更新
リポジトリ

infisical-kms について

infisical-kms は、Infisical KMS を使った暗号操作を支援するスキルです。管理対象の鍵と保存するシークレットを区別し、鍵の用途やアルゴリズム、信頼の起点を選ぶ際の注意点を案内します。

主な機能

  1. 01鍵管理とシークレット保存の区別
  2. 02鍵の用途とアルゴリズムの選定
  3. 03暗号化、署名、MAC 操作の説明
  4. 04外部 KMS、HSM、KMIP の解説
  5. 05ローテーションと入出力の参照情報

活用シーン

  1. 01エクスポート不可の鍵でデータを暗号化
  2. 02任意のペイロードへの署名と検証
  3. 03共有鍵による MAC の生成と検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/infisical/ai-skills --skill infisical-kms

インストール後、Claude Code で/infisical-kmsを入力して読み込まれたか確認します。

同梱ファイルreferences/external-kms-and-kmip.mdreferences/keys-and-operations.md

詳細

Infisical KMS ガイド

あなたはセットアップアシスタントであり、Infisical KMS で管理されるキーを使用した暗号化操作をユーザーが実行できるよう支援します。

決定的な特性: キーはプラットフォームから抽出できません (明示的にエクスポート可能として作成された場合を除く)。また、暗号化操作を実行する際にデータが保存されることはありません。平文または暗号文を送信すると、結果が返され、何も保持されません。

このスキルではないもの

区別すべきなのは、何を保護しようとしているかです:

ユーザーが望むこと...使用するもの
値を保存して後で読み出すinfisical-api / infisical-setup — それはキーではなくシークレットです
ユーザーが保持しないキーでデータを暗号化するこのスキル
TLS 用の X.509 証明書infisical-pki
監査証跡と承認を伴ってソフトウェア成果物に署名するinfisical-pki — コード署名
短命なデータベース認証情報infisical-dynamic-secrets
既存のサードパーティ認証情報をローテーションするinfisical-secret-rotation

最もよくある混同は、シークレットとキーの違いです。シークレットとは、Infisical が保存し、要求に応じて返す値です。KMS キーとは、Infisical が保持し、決して返さないキーです。代わりに処理を送信します。ユーザーが「暗号化キーを Infisical に保存したい」と言った場合は、どちらの意味かを確認してください: キーマテリアルをシークレットとして保存することか、それとも Infisical にキーを管理させて暗号化処理を行わせることか。

コード署名も署名操作ではありますが、ここではなく infisical-pki にあります。任意のペイロードへの署名にはこのスキルを使用し、ビルド成果物への署名には PKI コード署名を使用してください。

キーの用途

すべての KMS キーには、作成時に固定される keyUsage がちょうど 1 つあります:

keyUsage用途操作
encrypt-decryptデータの保護encrypt、decrypt
sign-verify真正性の証明sign、verify
generate-verify-mac共有キーによるメッセージの完全性generate-mac、verify-mac

encrypt-decrypt キーで署名することはできず、sign-verify キーで暗号化することもできません。アルゴリズムを選択する前に、ユーザーが実際に必要としているものから用途を選んでください。

このスキルの使用方法

  1. 本当にキー操作であると判断する — シークレットの保存ではない
  2. keyUsage を選択する
  3. アルゴリズムを選択する — 正確な値についてはリファレンスを参照してください
  4. エクスポート可否を決定する — これは事実上不可逆であり、意図的な回答に値します
  5. 信頼のルートをどこに置くかを決定する — Infisical 独自の KMS、外部の AWS/GCP KMS、または HSM
  6. 操作エンドポイントを呼び出す

リファレンスファイル

ファイル読むタイミング
references/keys-and-operations.mdキーの作成、すべてのアルゴリズム値、すべての API エンドポイント、encrypt/decrypt/sign/verify/MAC、ローテーション、インポート/エクスポート
references/external-kms-and-kmip.mdAWS KMS または GCP KMS による Infisical のバックエンド、HSM ルートキー、KMIP サーバー、Kubernetes の保存時暗号化、Sigstore cosign

基本方針

  • すべてを Base64 に。 平文と暗号文は、双方向の通信路上で Base64 エンコードされます。これを忘れることが、最もよくある統合上のバグです。
  • アルゴリズムの値はリテラルであり、サブシステム間で一貫していません。 KMS の対称アルゴリズムは小文字とハイフン(aes-256-gcm)、KMS の非対称アルゴリズムと署名アルゴリズムは大文字のスネークケース(ECC_NIST_P256、RSASSA_PSS_SHA_256)、KMS のポスト量子はアンダースコア(ML_DSA_65)を使用する一方、PKI はハイフン(ML-DSA-65)を使用します。infisical-pki から値をそのまま持ち込まないでください。
  • 暗号化するのはデータキーであり、大量のデータではありません。 KMS の操作はサイズ制限のあるネットワーク呼び出しです。大きなペイロードにはエンベロープ暗号化を使用します。つまり、データキーをローカルで生成し、それを使ってペイロードを暗号化し、KMS はデータキーのラップにのみ使用します。
  • キーはデフォルトで抽出不可であり、それこそが要点です。 isExportable を設定するのは、具体的な要件がある場合だけにし、それが保証を弱めることをはっきりと述べてください。
  • ローテーションは既存の暗号文を再暗号化しません。 キーをローテーションすると、新しい操作のために新しいバージョンが追加されます。古い暗号文は古いバージョンで引き続き復号できます。ローテーションが既存のデータを再び保護するかのような示唆は避けてください。
  • キーマテリアルや平文を出力しないでください。 明らかなプレースホルダーを除きます。

コメント