[アップデート] AWS Organizations でメンバーアカウントの GuardDuty 自動有効設定の方法が変わりました

2023.03.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

AWS Organizations を使っている場合、管理しているメンバーアカウントに対して Amazon GuardDuty を一括で自動有効化をさせることが出来ます。

本日のアップデートでこちらの自動有効化の方法が従来から変わったようです。
What's New でのアナウンスはまだありませんが、そのうちありそうな気がします。
出てきたら追記したいと思います。

AWS CLI もマネジメントコンソール上もアップデート済みであることを確認しました。本日はこれらの変更点などを紹介します。

2023.3.29 追記

What's New アナウンスっぽいものが出ていました。
抽象的な記述になっており少し自信ないですが、これのような気がします。

マネジメントコンソールの変更点

以前は次のように自動有効化の ON/OFF トグルボタンが表示されていました。(冒頭の記事から画像を引用)

これが今後は次のようなユーザーインターフェースに変わっています。
本日時点で GuardDuty 自動有効化のためのインフォメーションは同様に表示されるのですが、アカウント一覧上部のトグルボタンは廃止され、設定ステータスが表示されるようになっています。

そしてこの設定ステータスラベルをクリックすると、次のような構成の設定ダイアログが表示されます。

以前は自動有効化の ON/OFF のみでしたが、今後は既存アカウントを含む全てか新しく追加されたアカウントのみかを制御出来るようになっています。

組織に追加された新しいアカウントのみ有効化出来るようになった

「Only new accounts added to your organization」を選択した場合は新しく追加されたメンバーアカウントのみ自動化されます。
次のように有効化して試してみましょう。

AWS Organizations 機能から新しいアカウントを追加します。

GuardDuty のアカウント一覧で追加されたメンバーアカウントのステータスのみが有効になっています。

こちらは予想どおりというか期待どおりの新しい動きをしていますね。

従来どおり既存アカウントも含めて有効化は出来るが...

まず、既存から利用していた画面上部に表示されるインフォーメーションエリアの有効化ボタンですが、本日時点では引き続き利用することが出来ました。

押下すると既存メンバーアカウントのステータスが更新されました。
しかし、新しい自動構成ステータス上は「Auto Enable is off」のままでした。

AWS CLI で構成ステータスを確認しても新しいオプションは有効になっていませんでした。
また、ステータス上自動有効化が構成されていないとみなされているせいか、インフォメーションエリアを使っての自動有効化の推奨メッセージは引き続き表示されていました。

% aws guardduty describe-organization-configuration --detector-id "84c37b7e081aaa9dfb8fc40fb8b7e200" --profile hogeadmin
{
    "AutoEnable": false,
    "MemberAccountLimitReached": false,
    "DataSources": {
        "S3Logs": {
            "AutoEnable": false
        },
        "Kubernetes": {
            "AuditLogs": {
                "AutoEnable": false
            }
        },
        "MalwareProtection": {
            "ScanEc2InstanceWithFindings": {
                "EbsVolumes": {
                    "AutoEnable": false
                }
            }
        }
    },
    "Features": [
        {
            "Name": "S3_DATA_EVENTS",
            "AutoEnable": "NONE"
        },
        {
            "Name": "EKS_AUDIT_LOGS",
            "AutoEnable": "NONE"
        },
        {
            "Name": "EBS_MALWARE_PROTECTION",
            "AutoEnable": "NONE"
        },
        {
            "Name": "RDS_LOGIN_EVENTS",
            "AutoEnable": "NONE"
        }
    ],
    "AutoEnableOrganizationMembers": "NONE"
}

また、次のように既存ボタンの自動有効化機能を使わずに新しい設定ダイアログからのみ設定も試してみました。

しかし、次のように既存メンバーアカウントは自動で有効化されませんでした。

本日時点では次のように既存の有効化ボタンから有効化しつつ、今回追加されたオプションも有効化しておく必要がありそうです。
こうすることで、インフォメーションエリアが表示されなくなり、有効化中に個別のアカウントの関連付け解除も出来ないようになります。

ただ、これは明らかに不要な操作が発生していますし、既存の有効化操作については API ドキュメントでも廃止されるとの言及がありました。

autoEnable
This parameter has been deprecated.
Indicates whether to automatically enable member accounts in the organization.

おそらくすぐに修正されるのではと思っています。(フィードバック済み)

さいごに

本日は新しくなった AWS Organizations での GuardDuty 自動有効設定方法を紹介しました。

全てのアカウントを対象にするオプションは少し動きが変わりそうな気がしますが、従来の「自動有効化の ON/OFF」以外に選択の幅が今後は広がるということを覚えておきましょう。
また、既存環境で API を使って組織設定を有効化している場合は既存オプションが廃止されています。もし自動化などの仕組みで使用している場合は新しいオプションに移行していきましょう。