infisical-kms について
infisical-kms は、Infisical KMS を使った暗号操作を支援するスキルです。管理対象の鍵と保存するシークレットを区別し、鍵の用途やアルゴリズム、信頼の起点を選ぶ際の注意点を案内します。
主な機能
- 01鍵管理とシークレット保存の区別
- 02鍵の用途とアルゴリズムの選定
- 03暗号化、署名、MAC 操作の説明
- 04外部 KMS、HSM、KMIP の解説
- 05ローテーションと入出力の参照情報
活用シーン
- 01エクスポート不可の鍵でデータを暗号化
- 02任意のペイロードへの署名と検証
- 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 キーで暗号化することもできません。アルゴリズムを選択する前に、ユーザーが実際に必要としているものから用途を選んでください。
このスキルの使用方法
- 本当にキー操作であると判断する — シークレットの保存ではない
keyUsageを選択する- アルゴリズムを選択する — 正確な値についてはリファレンスを参照してください
- エクスポート可否を決定する — これは事実上不可逆であり、意図的な回答に値します
- 信頼のルートをどこに置くかを決定する — Infisical 独自の KMS、外部の AWS/GCP KMS、または HSM
- 操作エンドポイントを呼び出す
リファレンスファイル
| ファイル | 読むタイミング |
|---|---|
references/keys-and-operations.md | キーの作成、すべてのアルゴリズム値、すべての API エンドポイント、encrypt/decrypt/sign/verify/MAC、ローテーション、インポート/エクスポート |
references/external-kms-and-kmip.md | AWS 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を設定するのは、具体的な要件がある場合だけにし、それが保証を弱めることをはっきりと述べてください。 - ローテーションは既存の暗号文を再暗号化しません。 キーをローテーションすると、新しい操作のために新しいバージョンが追加されます。古い暗号文は古いバージョンで引き続き復号できます。ローテーションが既存のデータを再び保護するかのような示唆は避けてください。
- キーマテリアルや平文を出力しないでください。 明らかなプレースホルダーを除きます。