AWS認定資格 WEB問題集&徹底解説

生成AIデベロッパー-プロフェッショナル

正解 D問題
分野3:AI の安全性、セキュリティ、ガバナンス 分野1:基盤モデルの統合、データ管理、コンプライアンス タスクステートメント3.2:データセキュリティとプライバシー制御の実装 タスクステートメント1.3:FM 消費向けのデータ検証・処理パイプラインの実装
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある人材紹介会社では、応募者から PDF や Word 形式で届く履歴書・職務経歴書を毎日大量に受け付けており、社内リクルーティング支援チャットボット用の Amazon Bedrock ナレッジベースへ取り込む前に、コンプライアンス部門が個人情報(氏名、個人番号、電話番号、住所などの PII)を含む書類を特定する必要がある。

PII を含む書類はコンプライアンス用データベースにフラグを立て、検出された個人情報の種別と該当箇所を監査用に記録し、ナレッジベースへの取り込み前に該当箇所をマスキング(redact)しなければならない。処理は夜間バッチで実行し、書類ごとに検出された PII の種別と位置を示す詳細なコンプライアンスレポートを生成する必要がある。

どのソリューションを実装すべきか。
  • Amazon Bedrock Guardrails に機微情報フィルタを設定し、介入アクションを「なし」にした検出専用モードで動作させる。Lambda 関数が書類本文と該当ガードレールを添えて Bedrock を呼び出す処理を書類ごとに実行し、ガードレールの応答から PII の有無を判定してコンプライアンスデータベースへ記録した上で、取り込み前にマスキングする
  • Bedrock Agent にカスタムアクショングループを追加し、Amazon Macie を呼び出して書類を機微データスキャンする構成にする。エージェントに書類をバッチ処理させてコンプライアンスレポートを生成させ、Macie の検出結果をもとにエージェントの推論でマスキング要否を判断させる
  • Amazon Textract の AnalyzeID API を使って書類から本人確認情報を抽出し、抽出結果をナレッジベースのメタデータフィールドとして保存する。取り込み後、ナレッジベースのメタデータフィルタリング機能を使って PII を含む書類を本番クエリの対象から除外する
  • Amazon Comprehend の PII 検出バッチジョブを、夜間に S3 へ集約された書類に対して実行する。1回はオフセットモードでエンティティの種別・テキスト・文字位置を取得して DynamoDB のコンプライアンステーブルへ記録し、もう1回はリダクションモードで該当箇所を自動マスキングした書類を出力させ、サニタイズ済み文書を別の S3 プレフィックスへ配置してナレッジベースへの取り込みに用いる
解説 頻出度★★★★★
この問題は、「毎日大量の書類 × 夜間バッチ × PII の種別と該当箇所を監査記録 × 取り込み前にマスキング済み文書を出力」という要件で、Amazon Comprehend の PII 検出ジョブをオフセットモードとリダクションモードで使い分ける定石を選べるかがポイント

A. Amazon Bedrock Guardrails に機微情報フィルタを設定し、介入アクションを「なし」にした検出専用モードで動作させる。Lambda 関数が書類本文と該当ガードレールを添えて Bedrock を呼び出す処理を書類ごとに実行し、ガードレールの応答から PII の有無を判定してコンプライアンスデータベースへ記録した上で、取り込み前にマスキングする

Amazon Bedrock Guardrails の機微情報フィルタは、モデルの入出力に含まれる PII を遮断・マスクする仕組みであり、文書資産の棚卸しやサニタイズを目的とした機能ではありません。
検出結果として PII の種別は得られても、原本テキスト中の開始/終了オフセット(該当箇所)は返らないため、「種別と位置を示す詳細なコンプライアンスレポート」という要件を満たせません。
さらに書類 1 件ごとにモデルを呼び出す設計は、毎日大量の履歴書を処理する夜間バッチとしてはコストも処理時間も不利です。

B. Bedrock Agent にカスタムアクショングループを追加し、Amazon Macie を呼び出して書類を機微データスキャンする構成にする。エージェントに書類をバッチ処理させてコンプライアンスレポートを生成させ、Macie の検出結果をもとにエージェントの推論でマスキング要否を判断させる

Amazon Macie は S3 上の機微データを検出・分類して結果(Findings)を出すサービスで、マスキング(リダクション)機能は持ちません
Bedrock Agent のカスタムアクショングループから呼び出したとしても、サニタイズ済み文書を生成する工程が欠落したままです。
加えて「エージェントの推論でマスキング要否を判断させる」構成は結果が実行のたびに揺れるため、監査に耐えるコンプライアンス処理としては採用できません。

C. Amazon Textract の AnalyzeID API を使って書類から本人確認情報を抽出し、抽出結果をナレッジベースのメタデータフィールドとして保存する。取り込み後、ナレッジベースのメタデータフィルタリング機能を使って PII を含む書類を本番クエリの対象から除外する

Amazon Textract の AnalyzeID API は、パスポートや運転免許証といった本人確認書類から所定のフィールドを抽出する専用 API です。履歴書・職務経歴書のような自由記述の文書から、氏名・電話番号・住所などの PII を網羅的に検出する用途には使えません。
また、取り込んだにメタデータフィルタで検索対象から外す方式では、PII を含む原本がナレッジベースに残ったままです。「取り込み前にマスキングする」という要件に真っ向から反します。

正解

D. Amazon Comprehend の PII 検出バッチジョブを、夜間に S3 へ集約された書類に対して実行する。1回はオフセットモードでエンティティの種別・テキスト・文字位置を取得して DynamoDB のコンプライアンステーブルへ記録し、もう1回はリダクションモードで該当箇所を自動マスキングした書類を出力させ、サニタイズ済み文書を別の S3 プレフィックスへ配置してナレッジベースへの取り込みに用いる

Amazon Comprehend の PII 検出は非同期バッチジョブ(StartPiiEntitiesDetectionJob)に対応し、S3 上の文書群をまとめて処理できるため、夜間バッチという要件に合致します。
オフセットモード(ONLY_OFFSETS)では、エンティティの種別・信頼度スコア・開始/終了オフセットが JSON で得られるので、そのまま DynamoDB のコンプライアンステーブルへ記録して「種別と位置」の監査レポートを作れます。
リダクションモード(ONLY_REDACTION)では該当箇所を伏字に置換した文書そのものが出力されるので、これを別プレフィックスへ配置してナレッジベースの取り込み元にすれば、サニタイズ済みデータだけが RAG に載ります。要件を過不足なく満たす唯一の構成です。

これだけ覚える(記憶フック)
PII の一括棚卸しは Comprehend。位置の記録=オフセット、伏字の出力=リダクション。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
PII の種別と該当箇所(位置)を監査用に記録する Comprehend のオフセットモードは種別・スコア・開始/終了オフセットを返すため、そのまま監査レコードにできる
→選択肢(D)が正解
ナレッジベースへの取り込み「前」に該当箇所をマスキングする リダクションモードは伏字済みの文書自体を出力する。検出止まりの仕組みではサニタイズ工程が欠ける
→選択肢(B)を消す
毎日大量の書類を夜間バッチで処理する 非同期ジョブは S3 上の文書群を一括処理できる。書類 1 件ごとにモデルを呼ぶ設計はコスト・時間の両面で不利
→選択肢(A)を消す
対象は履歴書・職務経歴書(自由記述の文書) 本人確認書類専用の抽出 API では、自由記述に散在する氏名・住所・電話番号を網羅できない
→選択肢(C)を消す
監査レポートには「検出された PII の種別と位置」が必要 種別しか返らない仕組み・検出結果を人手や推論で解釈する仕組みでは、レポートの粒度に届かない
→選択肢(A・B)を消す
ひっかけポイント
  • Bedrock Guardrails の機微情報フィルタはモデルの入出力を守るための仕組み。検出専用で動かしても原本中の文字オフセットは返らないため、「該当箇所の記録」という要件を満たせない
  • 「Bedrock Agent に Macie を呼ばせる」は自動化に見えるが、Macie は検出・分類まででマスキングは行わない。さらにエージェントの推論でマスキング要否を判断させる設計は結果が毎回ぶれ、コンプライアンス処理には使えない
  • Textract の AnalyzeID は本人確認書類(パスポート・運転免許証)専用。「書類から情報を抽出する」という語感につられて選ばせる罠
  • 「取り込んだ後にメタデータフィルタで除外」は安全に見えるが、PII を含む原本はベクトルストアに残ったまま。設問は一貫して「取り込み前のサニタイズ」を求めている
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
リアルタイムのチャット応答に PII が混ざらないようにしたい」 Bedrock Guardrails の機微情報フィルタ(マスク)が正解軸に。
「S3 バケット全体に機微データがどれだけ眠っているか棚卸し・可視化したい」 Amazon Macie の自動検出ジョブが正解に。
「運転免許証やパスポートの画像から氏名・番号を構造化して取り出したい Amazon Textract の AnalyzeID が正解に。
「短いテキスト 1 件を即座に判定したい」 Comprehend の同期 API(DetectPiiEntities)。バッチジョブは過剰。
「PDF や Word のレイアウトからまずテキスト化する必要がある」 Textract でテキスト抽出 → Comprehend で PII 検出の 2 段構成が定番。
関連サービスの解説 Amazon Bedrock
Amazon Comprehend
Amazon DynamoDB
Amazon Simple Storage Service (Amazon S3)
リファレンス この問題を解くために必要な知識を扱う公式ドキュメントです。
知識項目 公式ドキュメント
Comprehend の PII 検出(オフセット/リダクションの 2 モード) 個人を特定できる情報 (PII) の検出
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 60%
No.1 解説
ある人材紹介会社では、応募者から PDF や Word 形式で届く履歴書・職務経歴書を毎日大量に受け付けており、社内リクルーティング支援チャットボット用の Amazon Bedrock ナレッジベースへ取り込む前に、コンプライアンス部門が個人情報(氏名、個人番号、電話番号、住所などの PII)を含む書類を特定する必要がある。

PII を含む書類はコンプライアンス用データベースにフラグを立て、検出された個人情報の種別と該当箇所を監査用に記録し、ナレッジベースへの取り込み前に該当箇所をマスキング(redact)しなければならない。処理は夜間バッチで実行し、書類ごとに検出された PII の種別と位置を示す詳細なコンプライアンスレポートを生成する必要がある。

どのソリューションを実装すべきか。
  • Amazon Bedrock Guardrails に機微情報フィルタを設定し、介入アクションを「なし」にした検出専用モードで動作させる。Lambda 関数が書類本文と該当ガードレールを添えて Bedrock を呼び出す処理を書類ごとに実行し、ガードレールの応答から PII の有無を判定してコンプライアンスデータベースへ記録した上で、取り込み前にマスキングする
  • Bedrock Agent にカスタムアクショングループを追加し、Amazon Macie を呼び出して書類を機微データスキャンする構成にする。エージェントに書類をバッチ処理させてコンプライアンスレポートを生成させ、Macie の検出結果をもとにエージェントの推論でマスキング要否を判断させる
  • Amazon Textract の AnalyzeID API を使って書類から本人確認情報を抽出し、抽出結果をナレッジベースのメタデータフィールドとして保存する。取り込み後、ナレッジベースのメタデータフィルタリング機能を使って PII を含む書類を本番クエリの対象から除外する
  • Amazon Comprehend の PII 検出バッチジョブを、夜間に S3 へ集約された書類に対して実行する。1回はオフセットモードでエンティティの種別・テキスト・文字位置を取得して DynamoDB のコンプライアンステーブルへ記録し、もう1回はリダクションモードで該当箇所を自動マスキングした書類を出力させ、サニタイズ済み文書を別の S3 プレフィックスへ配置してナレッジベースへの取り込みに用いる

(会員限定)当問題の評価をお願いします。改善に活用します。