CHAPTER 08 / C03 追加範囲
AIを使う開発と安全な連携
C03で明示されたAI支援・テスト・データ保護を学ぶ。
01 / AI支援を開発フローへ組み込む
Amazon Q Developerなどの開発支援ツールは、コード生成、レビュー、リファクタリング、セキュリティスキャン、エラー調査などを支援します。生成結果をそのまま正解とせず、仕様との一致、権限、入力検証、例外処理、依存関係を確認します。
| 使い方 | 検証のポイント |
|---|---|
| テストケース生成 | 仕様から期待値を作る。生成コードと同じ誤解を含むテストだけで済ませない |
| コードレビュー支援 | 指摘の根拠、影響、誤検知、修正後の動作を人が確認 |
| ログから原因候補を出す | 提案を仮説として、時刻・変更差分・トレースと照合 |
| CI/CDの自動化を支援 | 権限、テスト、承認条件を明示。実行権限を必要最小限に |
公式資料:DVA-C03:開発ドメイン
02 / マネージドAIをアプリから呼ぶ
AIサービスの連携でも、基本はAWS SDKです。利用可能なモデル・リージョン、IAM権限、入力形式、タイムアウト、スロットリング、エラー処理を確認します。生成AIの結果は毎回同一とは限らないため、構造の検証や業務上の制約も必要です。
import os
import boto3
runtime = boto3.client("bedrock-runtime")
def summarize(text):
# MODEL_IDには、対象リージョンで利用可能なConverse対応モデル等を指定
result = runtime.converse(
modelId=os.environ["MODEL_ID"],
messages=[{"role": "user", "content": [{"text": text}]}],
inferenceConfig={"maxTokens": 200, "temperature": 0.2}
)
blocks = result["output"]["message"]["content"]
return "".join(block.get("text", "") for block in blocks)これはAPIの呼び方を示す抜粋で、実行には対応SDK、認証情報、モデル利用条件等が必要です。実際の呼び出しでは利用料金が発生し得ます。アプリではstopReason、エラー、タイムアウト、出力形式も検証し、業務処理を実行する前に承認・認可を行います。
公式資料:Bedrock Converse API
03 / 入力・出力・権限・ログを守る
| 守る場所 | 具体的な対策 | 誤解しやすい点 |
|---|---|---|
| 入力データ | 必要最小限にし、PII等を除去・マスク | TLSを使うだけでは送る内容の適切さは判断できない |
| 接続経路 | 対応するVPCエンドポイント等でプライベート接続 | ネットワークを閉じてもIAMや利用者認可は別に必要 |
| モデルの入出力 | 既存のフィルター・機密情報検知・制約を適用 | フィルターで業務上の正しさを完全に保証することはできない |
| AIが使うツール | 最小権限、利用者ごとの認可、セッション分離 | モデルが実行したいと言っても、権限を付与する理由にならない |
| 機微な操作 | 必要な箇所で人の承認を入れる | モデル出力だけで送金や削除を確定しない |
| ログ | 本文・秘密・個人情報の記録を制限、アクセス制御 | アプリログやモデル呼び出しログへ二重に残ることも確認 |
プロンプトインジェクションは、入力や参照資料に紛れた指示で、アプリの意図と違う操作を誘導する問題です。外部資料はデータとして扱い、機密の開示やツールの実行可否は、モデルの回答とは独立して検証します。
学習利用、保存期間、オプトアウト等の条件は、利用するサービス・プラン・機能によって確認します。「AWSのAIだから、すべて同じデータ利用条件」と決めつけないようにします。
公式資料:DVA-C03:AI利用のセキュリティ
04 / C03の追加範囲を学びすぎない
公式資料:DVA-C03 の対象職務と範囲外
レビュー練習:テストが全部通った
AIが実装とテストを同時に作り、すべて通った。「注文数量が0のときは拒否する」という仕様が、コードにもテストにもなかった。何を変える?
考え方・解答例
仕様から独立して期待する振る舞いと境界値を列挙します。0、負数、上限超過、型不正などをレビューし、実装に都合のよい期待値だけになっていないか確認します。
05 / 確認問題
06 / この章の到達点
上のチェックは、このページでの振り返り用です。章単位の進捗は下のボタンで記録できます。
公式資料
内容確認日:2026年11月8日。仕様の詳細や更新情報は、各公式資料で確認できます。
理解を確認できたら、章の進捗を記録できます。