この記事の結論
AI導入時のセキュリティ設計を解説。LLMへのデータ送信範囲、プロンプトインジェクション対策、権限最小化、監査ログ設計の実践ガイド。
AI導入におけるセキュリティリスクの全体像
AIシステムの導入は、従来のソフトウェア導入にはなかった新しいセキュリティリスクをもたらします。特にLLM(大規模言語モデル)を活用するシステムでは、「プロンプトインジェクション」「データ漏洩」「過剰な権限付与」という3つのリスクに注意が必要です。本記事では実装レベルのセキュリティ設計を解説します。
ステップ1:データ分類と取り扱いポリシー
AIに渡すデータを事前に分類し、どのデータをどのAIサービスに送信できるかを明確化します。
| 分類 | 例 | 外部AI送信 |
|---|---|---|
| 公開情報 | カタログ・FAQ・一般知識 | 可 |
| 社内情報 | 業務手順書・議事録 | 条件付き可 |
| 機密情報 | 個人情報・財務データ・契約書 | 原則不可 |
| 規制対象 | 医療情報・金融情報 | 不可 |
「条件付き可」の社内情報については、API Data Processing Agreementの締結と、送信データの匿名化・マスキング処理を前提条件とします。
ステップ2:権限制御の設計
AIシステムへのアクセスは最小権限の原則(Principle of Least Privilege)で設計します。
ロールベースアクセス制御(RBAC)
ユーザーの役割ごとに使用できる機能・アクセスできるデータを制限します。例えば「AIチャットボット」を全社員が使う場合でも、一般社員は公開情報のみ、管理職は部門データまで、システム管理者は全データとして権限を段階的に設定します。
APIキーの安全な管理
OpenAI・Anthropic・Google等のAPIキーは以下のルールで管理します。
- 環境変数での管理:ソースコードにAPIキーをハードコードしない(.envファイルや秘密管理サービスを使用)
- ローテーション:APIキーを定期的(3〜6ヶ月ごと)に更新
- 最小スコープ:必要なAPIのみアクセス可能なキーを発行
- 監査ログ:APIキーの使用履歴を記録・監視