AWSにおけるAIサービスデータのオプトアウト設定完全ガイド~コンソール設定とCLI利用時の落とし穴~
この記事は「BEMA Lab Advent Calendar 2025」の12日目の記事です。
※本アドベントカレンダーの12日目の投稿となります。
はじめに
AWSを利用する際、セキュリティやコンプライアンスの観点から「自社のデータをAWSのAI学習に使われたくない」と考えるエンジニアやプロジェクトマネージャーは多いでしょう。AWSには、AIサービスの改善を目的としたデータ利用から除外(オプトアウト)する設定が用意されています。
しかし、この設定には「Amazon Bedrock」と「それ以外のサービス」での扱いの違いや、設定が適用される範囲(コンソール操作のみか、CLIも含むか)など、いくつか誤解しやすいポイントがあります。
本記事では、AWSにおけるオプトアウト設定の基本から、AWS OrganizationsおよびAWS CLIを用いた具体的な設定手順までを、IaC(Infrastructure as Code)の観点も含めて解説します。
※注記
本記事は2025年12月18日時点の情報を基に執筆しています。クラウドサービスのポリシーやデフォルト設定、AWS Service Terms(サービス条件)は変更される可能性があります。実装の際は必ず最新の公式ドキュメントをご確認ください。
オプトアウト設定とは?
AWSの一部のAIサービスでは、サービス品質向上のために、ユーザーが入力したデータをAWS側が学習データとして利用する場合があります。「オプトアウト設定」とは、この学習利用を拒否し、自社のデータがAWSのAIモデルのトレーニングに使用されないようにする設定のことです。
機密情報を扱う企業やプロジェクトでは、意図しないデータ流出や学習を防ぐために、この設定を適切に行うことが非常に重要です。
参考:AWS Organizations の AI サービスのオプトアウトポリシー(AWS公式)
知っておくべきサービスごとの違い
オプトアウトを検討する際、まず理解すべきなのが「サービスごとのデフォルト動作」の違いです。
特に生成AIであるBedrockと、従来のAIサービスではポリシーが異なります。
Amazon Bedrockの場合
生成AIサービスであるAmazon Bedrockに関しては、デフォルトでオプトアウト状態となっています。AWSの公式FAQやデータ保護規定にも明記されている通り、AWSが顧客のデータをモデルのトレーニングに使用することはありません。
Amazon Bedrock のデータ保護
Amazon Bedrock は、お客様のデータを基本モデルの改善に使用することはなく、また、第三者のモデルプロバイダーと共有することもありません。
出典:Amazon Bedrock のデータ保護(AWS公式)
ただし、BedrockはAmazon製のモデルだけでなく、サードパーティ製(Anthropic社やCohere社など)のモデルも提供しています。これらを利用する場合も基本的にはAWSのセキュリティ基準が適用されますが、特定のサードパーティモデルを利用する際は、念のためAWS Service Termsや各モデルのライセンス条項を確認することを強く推奨します。
その他のAIサービスの場合
一方、Amazon Polly、Amazon Rekognition、Amazon Transcribe、Amazon Comprehendなど、Bedrock以外の多くのAIサービスに関しては、明示的なオプトアウト設定が必要となる場合があります。
これらのサービスでは、デフォルトでコンテンツがサービス改善のために保存・利用される可能性があるため、学習利用を望まない場合は次項以降の手順で設定を行う必要があります。
【方法1】AWSマネジメントコンソールでの設定手順
GUI(管理画面)を使って設定を行う方法です。AWS Organizations(組織)の機能を利用します。
前提条件:
- AWS Organizationsを利用していること。
- 組織の管理アカウント(Management Account)でサインインしていること(IAMユーザー、IAMロール、またはルートユーザー)。
手順:
- 「AWS Organizations」コンソールにアクセスします。
- 左側のメニューから「ポリシー」を選択し、その中にある「AI サービスのオプトアウトポリシー」をクリックします。

- 「すべてのサービスからオプトアウト」を選択します。
- 確認画面が表示されるので、再度「すべてのサービスからオプトアウトする」を選択します。
- 作成されたポリシーを、適用したい組織単位(OU)またはアカウントにアタッチします。
これで、コンソール上での設定は完了です。
【重要】AWS CLI/SDK利用時の注意点と設定手順
ここが最も誤解されやすいポイントです。
「コンソールで設定したからCLIは別」ではない
AWS Organizationsで適用した「AIサービスのオプトアウトポリシー」は、そのアカウントで行われるすべてのアクションに適用されます。つまり、Organizationsで正しくポリシーがアタッチされていれば、マネジメントコンソール経由であろうと、AWS CLI/SDK経由であろうと、等しくオプトアウトが有効になります。逆に言えば、「CLIコマンド自体にオプトアウト用のフラグ(オプション)があるわけではない」ため、CLIメインで開発する場合も、Organizationsでのポリシー適用が必須となります。
AWS CLIを使用したポリシー設定手順(IaC)
開発・運用をコードで管理(IaC)したい場合や、自動化プロセスに組み込みたい場合は、AWS CLIを使ってポリシーを作成・適用するのが推奨されます。
例:Amazon Pollyのみを対象としたオプトアウト設定手順
ここでは例として、「他のサービスのデータ利用設定は変更せず、Amazon Pollyを利用する場合のみ、データを学習利用させない(オプトアウトする)」というポリシーを作成・適用する手順を紹介します。
ステップ1:オプトアウトポリシーファイルの作成
まず、以下の内容でJSONファイル(例: polly-opt-out.json)をローカルに作成します。 "services" の指定で "default" ではなく "polly" を指定することで、Pollyのみを対象としています。
{
"services": {
"polly": {
"opt_out_policy": {
"@@assign": "optOut"
}
}
}
}ステップ2:ポリシーの作成(AWS CLI)
作成したJSONファイルを読み込み、組織内にポリシーを作成します。
aws organizations create-policy \
--content file://polly-opt-out.json \
--name "PollyOptOutPolicy" \
--type AISERVICES_OPT_OUT_POLICY \
--description "Opt-out specifically for Amazon Polly data usage"ステップ3:ポリシーの適用(アタッチ)
作成したポリシーIDを確認し、それをルート(組織全体)または特定のアカウントにアタッチします。
※ <PolicyId> と <TargetId>(ルートIDまたはアカウントID)はご自身の環境に合わせて書き換えてください。
aws organizations attach-policy \
--policy-id <PolicyId> \
--target-id <TargetId>ステップ4:確認
ポリシーが正しく適用されているか確認します。
aws organizations list-policies-for-target \
--target-id <TargetId> \
--filter AISERVICES_OPT_OUT_POLICYこの設定を行うことで、該当アカウントからAWS CLI経由(例:aws polly synthesize-speech ...)でPollyを利用した際、その音声データやテキストデータが学習利用から除外されるようになります。
まとめ
- Bedrockはデフォルトで安心:基本設定で学習には利用されません。
- その他のサービスは設定必須:Pollyなどは明示的なオプトアウトが必要です。
- CLI利用時もポリシー適用が鍵:コンソール、CLI、SDK問わず、Organizationsのポリシーがアカウントに適用されているかが全てです。
外部公開システムや社内ツールでAWSのAIサービスを組み込む際は、必ずこの「Organizationsによるポリシー適用」が完了しているか、開発着手前に確認しましょう。
この記事を書いた人

関連記事
Azure Functionsへの手動デプロイ:Azure ...生成AI基盤チーム
【Dockerセキュリティ入門】.envファイルの危険性と安...Tsai Yalin


What is BEMA!?
Be Engineer, More Agile


