AWS Organizations 組織内のすべてのアカウントを対象に AI サービスのオプトアウトポリシーを適用してみた

2023.10.15

AWS Organizations のポリシー設定には、SCP やタグポリシーの他に AI サービスのオプトアウトポリシーがあります。AI サービスの改善のためにコンテンツが保存または使用されることをオプトアウトするためのポリシーです。

2024.4.26 追記
追記時点においてドキュメントの記載内容が下記の引用文から変更されています。そのため、引用元の URL から最新の内容をご確認ください

AWS 人工知能 (AI) サービスは、これらのサービスによって処理された顧客コンテンツを保存して使用することがあり、他の AWS サービスの開発および継続的な改善のために使用されることがあります。AWS のお客様は、サービスの改善のためにコンテンツが保存または使用されることをオプトアウトできます

(引用元)AI サービスのオプトアウトポリシー - AWS Organizations


本ブログでは AWS Organizations 組織内のすべてのアカウントに対して、オプトアウトできる対象となるすべてのサービスに対して、オプトアウトする設定を試してみます。

組織内のすべてのアカウントを対象にオプトアウトする設定

すべての対象となる AI サービスをオプトアウトするポリシー例です。defaultが対象となるすべてのサービスを示します。

{
    "services": {
        "@@operators_allowed_for_child_policies": ["@@none"],
        "default": {
            "@@operators_allowed_for_child_policies": ["@@none"],
            "opt_out_policy": {
                "@@operators_allowed_for_child_policies": ["@@none"],
                "@@assign": "optOut"
            }
        }
    }
}


本ポリシーはユーザーガイドにおいて、ポリシーの構文例として掲載されています。

AI サービスのオプトアウトポリシーの構文と例 - AWS Organizations


上記のポリシーを AWS Organizations の Root にアタッチすることで組織内のすべてのアカウントに対して適用できます。

設定は AWS Organizations のポリシー設定から「AI サービスのオプトアウトポリシー」を有効化することから始めます。

有効化後はポリシーを作成して OU にアタッチします。SCP と同じ感覚で設定できます。

まず、ポリシーを作成します。

今回は次のポリシー名と説明で作成してみます。

  • ポリシー名 AllOptOut
  • ポリシーの説明 Opt out of all AI services for all accounts in the organization.

「ポリシーを作成」をクリックすればポリシー作成は完了です。

次に、ポリシーを Root にアタッチします。作成したポリシーを選択して「ターゲット」タブから「アタッチ」をクリックします。

今回は組織内のすべてのアカウントを対象としたいため Root を選択してアタッチします。

以上で、すべてのアカウントを対象としたオプトアウトの設定は終わりです。

ポリシー画面から Root にアタッチされていることを確認できます。

ポリシーの補足情報

AI サービスのオプトアウトポリシーは SCP や IAM ポリシーとは異なる文法です。そのため、調べたことを補足として記載したいと思います。

ポリシーのターゲットとして指定できる対象

ポリシーをアタッチするターゲットには次の種類があります。

  • Root
    • 組織内のすべてのアカウントを対象とする
  • OU
  • アカウント

ポリシーの記載内容

すべてのサービスを対象にオプトアウトするポリシーは下記となります。

{
    "services": {
        "@@operators_allowed_for_child_policies": ["@@none"],
        "default": {
            "@@operators_allowed_for_child_policies": ["@@none"],
            "opt_out_policy": {
                "@@operators_allowed_for_child_policies": ["@@none"],
                "@@assign": "optOut"
            }
        }
    }
}

defaultはオプトアウトできる対象となるサービスすべてを示す記載です。個別のサービス毎にオプトアウトを指定することもできます。2023 年 10 月 14 日時点のユーザーガイドでは、次のサービスが対象として記載されていました。

  • default
    • 現在利用可能なすべての AI サービスを表す
    • 将来追加される AI サービスも、暗黙的かつ自動的に含まれる
  • awssupplychain
  • himesdkvoiceanalytics
  • codeguruprofiler
  • codewhisper
  • comprehend
  • connectamd
  • connectoptimization
  • contactlens
  • frauddetector
  • guardduty
  • lex
  • polly
  • quicksightq
  • rekognition
  • securitylake
  • textract
  • transcribe
  • translate

(参照元)AI サービスのオプトアウトポリシーの構文と例 - AWS Organizations


"@@operators_allowed_for_child_policies": ["@@none"]は上書き(オーバーライド)を禁止する記載です。Root に対してオプトアウトを設定した場合でも、OU やアカウントに直接ポリシーをアタッチすることができ、設定内容をオーバーライドできます。@@operators_allowed_for_child_policiesnoneとすることでオーバライドを防ぐことができます。

AI サービスのオプトアウトポリシーの設定は委任できるため、委任先に自由にしてほしくない部分はオーバーライドできない設定にしておく、などの利用シーンがありそうです。AWS Organizations のポリシー設定の委任については次のブログで紹介されています。

ポリシーのサンプル

ユーザーガイドでは、今回ブログ上で設定したポリシー以外の例も掲載されているため、例を確認することで理解が深まりました。

AI サービスのオプトアウトポリシーの構文と例 - AWS Organizations

さいごに

これまで、AI サービスのオプトアウトポリシーはあまり意識していなかったのですが、調べるきっかけがありましたので、組織内のすべてのアカウントを対象にオプトアウトする設定を試してみました。

このブログがどなたかのご参考になれば幸いです。