外部API連携
APIキーの安全な管理、環境変数による認証情報分離、OAuth統合、エラーハンドリング——安全なAPI連携スキルの構築。
プレミアムコースコンテンツ
このレッスンはプレミアムコースの一部です。Proにアップグレードすると、すべてのプレミアムコースとコンテンツを利用できます。
- すべてのプレミアムコースを利用
- 1,000以上のAIスキルテンプレート付き
- 毎週新しいコンテンツを追加
🔄 前回のおさらい: レッスン3で$ARGUMENTSとシェル展開によるスキルのパラメータ化を学びました。ここではスキルを外部サービスに接続する——APIキーの安全な管理が最重要テーマです。
認証情報管理の鉄則
ClawHubの調査で283のスキルがAPIキーを漏洩していました。これは最も一般的かつ危険なセキュリティミスです。
3つの認証パターン
| パターン | 安全性 | 用途 |
|---|---|---|
| 環境変数参照 | 高 | シンプルなAPIキー |
| スクリプト経由API呼び出し | 高 | 複雑な認証フロー |
| MCPサーバー統合 | 最高 | 企業レベルの統合 |
認証の鉄則(Cardinal Rules)
- 認証情報をハードコードしない — SKILL.mdに直接記載しない
- 環境変数を使用 —
$API_KEYのように参照 - 短命トークンを優先 — OAuthトークン > 静的APIキー
- エラー時に生レスポンスを露出しない — APIエラーにも認証情報が含まれる場合がある
シェル展開の落とし穴
# 危険:APIキーがシェル履歴に残る
!curl https://api.example.com?key=$API_KEY
# 安全:スクリプトファイル経由
!./scripts/fetch_data.sh
エラーハンドリング
- API障害時のグレースフルなフォールバック
- レート制限の検出とリトライロジック
- ユーザーへの分かりやすいエラーメッセージ
✅ 確認クイズ: MCPサーバー統合が最も安全な認証パターンである理由は?→MCPサーバーはスキルとAPI間の仲介として機能し、認証情報はサーバー側で管理されます。スキル自体は認証情報を一切知らず、MCP経由でリクエストを送るだけです。
まとめ
- APIキーは環境変数またはシークレットマネージャーに保存——SKILL.mdには絶対に含めない
- OAuthトークンは静的APIキーより安全——盗まれても約1時間で失効
- シェル展開でのAPI呼び出しはキーがシェル履歴に残る——スクリプトファイル経由が安全
- エラーハンドリングで生のAPIレスポンスをユーザーに露出しない
次のレッスン: テストとデバッグ——PromptfooとCisco Skill Scannerでスキルの品質と安全性を検証する方法を学びます。
理解度チェック
まず上のクイズを完了してください
レッスン完了!