技術解説
AI導入のセキュリティ設計|権限制御・データ漏洩防止の基本
公開: 2026年3月20日
更新: 2026年5月4日
読了目安: 3分
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キーの使用履歴を記録・監視
ステップ3:プロンプトインジェクション対策
プロンプトインジェクションは、悪意あるユーザーがAIへの入力を通じてシステムの動作を乗っ取る攻撃です。チャットボット・文書処理システムで特に注意が必要です。
防御の基本原則
プロンプトインジェクションへの対策として以下を実装します。
- システムプロンプトの分離:ユーザー入力とシステム指示を構造的に分離(メッセージロール活用)
- 入力のサニタイズ:「あなたは〇〇です」「指示を無視して」等のパターンを検出・ブロック
- 出力の検証:AI出力が想定範囲外の内容を含まないかチェック
- 機密情報の分離:APIキー・パスワード等の機密情報をコンテキストに含めない
ステップ4:データ漏洩防止の実装
AIシステムを通じた意図しないデータ漏洩を防ぐための実装ポイントを解説します。
- PII検出・マスキング:ユーザー入力に含まれる個人情報(メールアドレス・電話番号・マイナンバー等)を送信前に自動マスキング
- RAGのアクセス制御:RAGシステムで参照できるドキュメントを、ユーザーの権限に応じてフィルタリング
- ログの取り扱い:AI通信ログには機密情報が含まれる可能性があるため、暗号化保存・アクセス制限・保存期間の設定を行う
- 外部AI学習オプトアウト:OpenAI・Anthropic等のエンタープライズプランでは、入力データがモデル学習に使用されないよう設定
ステップ5:監視・監査体制
AIシステムの異常検知と継続的なセキュリティ監視の仕組みを構築します。
- 利用量監視:API呼び出し数・トークン消費量の急増を検知(DoS攻撃・APIキー漏洩の兆候)
- コンテンツフィルタリング:不適切な出力・機密情報を含む出力を検知してブロック
- 定期セキュリティレビュー:四半期ごとに権限設定・データ分類ポリシーを見直し
- インシデント対応手順:データ漏洩が疑われる際の初動対応フローを事前に策定