変更要約: 生成 AI セキュリティ節 s4 に図 aws-genai-security(OWASP LLM リスク→AWS 緩和策)を追加。クローン基底章は SCS-C02 の図を継承済みで、図欠落は本 s4 のみだったため補完。
3.4生成 AI アプリケーションのセキュリティ
SCS-C03 で新たに加わった生成 AI のセキュリティを学びます。OWASP Top 10 for LLM Applications(プロンプトインジェクション・機微情報の漏えい・安全でない出力処理など)への対策、Amazon Bedrock Guardrails(コンテンツフィルタ・禁止トピック・PII マスキング・根拠付け)、Bedrock へのアクセス制御(IAM)、プロンプト/出力のデータ保護、モデル呼び出しの監査・ログを押さえます。
SCS-C03(2025-12 改訂)では、生成 AI アプリケーションのセキュリティがインフラセキュリティの一部として加わりました。LLM を使うアプリには従来と異なる攻撃面があり、AWS のサービスで「不正な入力・不適切な出力・データ漏えい・過剰な権限」を抑えることが求められます。指針として OWASP Top 10 for LLM Applications が参照されます。
3.4.1OWASP Top 10 for LLM の代表的リスク
- プロンプトインジェクション:悪意ある入力でモデルの指示を乗っ取る。入力検証・システムプロンプト保護・ガードレールで緩和。
- 機微情報の漏えい:プロンプトや学習データ経由で機微データが出力される。PII マスキング・データ最小化で緩和。
- 安全でない出力処理:モデル出力を検証せず下流で実行し XSS/インジェクションを招く。出力のサニタイズで緩和。
- 過剰なエージェンシー:エージェントに過大な権限/ツールを与え実害を招く。最小権限・人の承認で緩和。
3.4.2Amazon Bedrock Guardrails
Amazon Bedrock Guardrails は、生成 AI アプリに安全策を一元適用する仕組みです。コンテンツフィルタ(暴力・憎悪・性的・不正行為などを強度設定でブロック)、禁止トピック(特定の話題を拒否)、機微情報フィルタ(PII マスキング)(個人情報を検出して伏字化/ブロック)、コンテキストの根拠付け(grounding/関連性チェック)(取得した根拠に基づかない応答=ハルシネーションを抑制)、プロンプト攻撃フィルタ(プロンプトインジェクションの検出)を提供します。入力と出力の両方に適用できます。
3.4.3アクセス制御・データ保護・監査
モデルへのアクセスは IAM(bedrock:InvokeModel 等を最小権限で付与・特定モデルに限定)で制御します。データ保護では、Bedrock への通信を VPC エンドポイント(PrivateLink)で private 化し、保存データを KMS で暗号化、機微なプロンプト/出力を Guardrails で保護します。Bedrock は顧客のプロンプト/出力を基盤モデルの再学習に使用しません。監査は CloudTrail(Bedrock API 呼び出しの記録)と モデル呼び出しログ(model invocation logging)(入出力を S3/CloudWatch Logs に記録)で行い、誰がどのモデルをどう使ったかを追跡します。
| 守りたいこと | AWS の対策 | 要点 |
|---|---|---|
| 不適切な入出力のブロック | Bedrock Guardrails(コンテンツフィルタ/禁止トピック) | 入力・出力の両方に適用 |
| PII の漏えい防止 | Guardrails の機微情報フィルタ(PII マスキング) | 検出して伏字化/ブロック |
| ハルシネーション抑制 | Guardrails のコンテキスト根拠付け | 根拠に基づかない応答を抑制 |
| プロンプトインジェクション対策 | プロンプト攻撃フィルタ+入力検証 | 指示の乗っ取りを検出 |
| モデルアクセスの最小化 | IAM(InvokeModel を限定) | 特定モデルに限定 |
| プライベート通信と監査 | VPC エンドポイント/KMS+CloudTrail/呼び出しログ | private 化+誰が何をしたか追跡 |
混同に注意:
①Bedrock Guardrails(生成 AI 出力/入力の安全策)とIAM(モデルへのアクセス権)は別レイヤー——両方必要。
②コンテンツフィルタ(有害カテゴリのブロック)・機微情報フィルタ(PII マスキング)・コンテキスト根拠付け(ハルシネーション抑制)は Guardrails の別機能。
③Bedrock は顧客データを基盤モデルの再学習に使わない(誤解されやすい)。
④監査は CloudTrail(API 呼び出し)+モデル呼び出しログ(入出力内容)。
「要件 → 対策」:例「LLM の応答から PII を伏字化」=Guardrails の機微情報フィルタ、「特定の話題を拒否」=禁止トピック、「根拠のない作り話を減らす」=コンテキスト根拠付け、「プロンプトインジェクションを検出」=プロンプト攻撃フィルタ+入力検証、「特定モデルだけ呼び出し可に」=IAM の InvokeModel 制限、「Bedrock 通信を private に」=VPC エンドポイント、「誰がどのモデルを呼んだか記録」=CloudTrail/モデル呼び出しログ。
3.4.4この節のまとめ
- OWASP LLM Top 10(プロンプトインジェクション/機微情報漏えい/安全でない出力処理/過剰なエージェンシー等)が指針
- Bedrock Guardrails=コンテンツフィルタ/禁止トピック/PII マスキング/コンテキスト根拠付け/プロンプト攻撃フィルタ(入出力に適用)
- アクセスは IAM で最小化、通信は VPC エンドポイント、暗号化は KMS、監査は CloudTrail+モデル呼び出しログ。Bedrock は顧客データを再学習に不使用
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 生成 AI アプリに、有害コンテンツのブロック・禁止トピック・PII マスキング・コンテキスト根拠付けなどの安全策を一元適用する Amazon Bedrock の機能はどれですか?
Q2. 悪意ある入力でモデルのシステム指示を乗っ取ろうとする OWASP LLM の代表的リスクはどれですか?
Q3. LLM の応答に含まれる個人情報(PII)を検出して伏字化・ブロックするには、Bedrock Guardrails のどの機能を使いますか?
Q4. 特定の基盤モデルのみを呼び出せるように、最小権限でアクセスを制御するにはどうしますか?
Q5. Bedrock のモデル呼び出しについて、誰がどのモデルをどのように使ったかを記録して監査するために使うものはどれですか?
Q6. Amazon Bedrock における顧客データの扱いとして正しいものはどれですか?

