Security, Identity, and Compliance

Amazon Macie

S3に保管された機械学習用データセットやRAGのソースドキュメントに機密情報が紛れていないかを棚卸しする側。流れるプロンプト・応答を見るGuardrails/Comprehendとは対象が違います。

  • B|実装まわり
  • D3 安全性・セキュリティ・ガバナンス

ひとことで言うと

Amazon S3に保管されたデータの棚卸し係です。機械学習・パターンマッチングで、S3バケット内のオブジェクトに機密データ(PII・金融情報・認証情報等)が含まれていないかを検出します。

要するに、倉庫の抜き打ち検品です。Macieが見るのは、これから流れていくデータ(プロンプトや応答)ではなく、すでに棚に並んでいる在庫(S3に置かれたファインチューニング用データセットやKnowledge Baseのソースドキュメント)です。倉庫に入れる前の検査ではなく、入った後に定期的に棚を回って中身を確認する係だと考えると位置づけが分かりやすくなります。

なぜ生まれたか

Macieが無いと受け皿
S3バケットに何が入っているか、機密性を含めて全体像が見えないS3インベントリとダッシュボードで自動的に可視化
大量のドキュメントを人手でPIIチェックするのは非現実的**機械学習+パターンマッチング(管理データ識別子)**で自動検出
自社固有の機密情報(知的財産・社内独自の形式)は既製の検出ルールでは拾えないカスタムデータ識別子(正規表現+近接ルール)を自分で定義
公開設定になっているバケットに気づかないバケットの公開アクセス・暗号化設定も継続的に評価

何に使うか

用途使い方関連ドメイン
RAGのソースドキュメントの機密情報棚卸し自動化された機密データ検出(サンプリングで継続評価)D3
ファインチューニング用データセットの事前チェックジョブ実行型の機密データ発見ジョブで対象範囲を指定して精査D1・D3
公開設定になったバケットの検出ポリシー検出(公開アクセス・暗号化設定の評価)D3
検出結果の自動処理EventBridge経由でLambda・SNSに連携し是正を自動化D3

試験でどう問われるか

問われ方正解に寄る条件引っかけの選択肢
S3に置いたファインチューニング用データセットにPIIが混入していないか確認したいMacieの機密データ発見ジョブComprehendでプロンプトを検査する(対象が流れるテキストで、S3の在庫チェックではない)
チャットの会話ログからPIIをリアルタイムでマスクしたい流れているテキストが対象 → Bedrock GuardrailsやComprehendが該当。Macieの主戦場ではないMacieでリアルタイムマスキングを設定しようとする
自社独自のプロジェクトコード名や社内IDを機密情報として検出したいカスタムデータ識別子(正規表現+近接ルール)を定義管理データ識別子(既製リスト)だけで足りると考える
Knowledge Baseのデータソースバケットが誤って公開設定になっていないか継続的に確認したいMacieのポリシー検出が対象。あるいはIAM Access Analyzerの外部アクセス分析でも代替できるS3のバケットポリシーを都度手動で読み返す

Macieの検出対象はAmazon S3の汎用バケットです。DynamoDB・RDS・アプリケーションログなど、S3以外に保管されたデータは対象外です。RAGのデータソースがS3以外にある場合、Macieだけでは棚卸しできません。

実務でどう使うか

  • 自動化された機密データ検出はサンプリングです。 バケット全体を毎回全件スキャンするのではなく、代表的なオブジェクトを継続的に選んで分析するため、広い可視性は得られますが「1件も見逃さない」保証はしません。悉皆性が要る場合は個別のジョブを設計します
  • 許可リスト(allow list)で既知の誤検知を除外できます。 自社の代表電話番号や、テスト用のサンプルデータのような「意図的に機密データっぽい文字列」を除外しておかないと、誤検知が積み上がります
  • 有効化初回は30日間の無料トライアルが付きますが、機密データ発見ジョブ(オンデマンドの精査)はトライアル対象外です。 コスト試算はトライアル中の使用実績から見積もれます

Macieの検出対象はS3の汎用バケットのみです。DynamoDBやRDSに保管したRAGソースデータ、アプリケーションログの中身は対象外なので、S3以外の保管先を含む棚卸しには別の手段が要ります。

取り違えやすいもの

迷う相手切り分けの一言
Amazon Comprehend / Bedrock GuardrailsMacieは**保管データ(S3の在庫)を見る。ComprehendとGuardrailsは流れるデータ(プロンプト・応答)**を見る。時制で分けると迷わない
IAM Access AnalyzerMacieはデータの中身(PII等)を検出する。Access Analyzerはアクセス権限の設定(誰が触れるか)を検出する。同じS3バケットでも見ている軸が違う
AWS Glue Data QualityMacieは機密性の観点でデータを見る。Glue Data Qualityはデータの品質(欠損・整合性等)を見る

想起チェック

Q1. Macieが検出対象とするのはどんなデータか?

**Amazon S3に保管されたオブジェクト(保管データ)**です。プロンプトや応答のようにその場で流れるテキストは対象外で、そちらはComprehendやBedrock Guardrailsの領域です。

Q2. 自社固有のプロジェクトコード名を機密情報として検出したい場合は?

カスタムデータ識別子を定義します。正規表現に加え、近接する文字列のルールを組み合わせて、既製の管理データ識別子では拾えない自社固有のパターンを検出できます。

出典(AWS公式)