Security Hub のメンバーアカウントは一度に一つの管理者アカウントのみと関連付きます(Security Hub 管理者アカウントの付け替え方法)

Security Hub の管理者アカウントは複数登録できません、Security Hub のメンバーアカウントは一度に一つの管理者アカウントのみと関連付きます。
2023.06.15

コーヒーが好きな emi です。

マルチアカウントで AWS 環境を運用している場合、Security Hub の結果を 1 つのアカウントに集約することができます。
グループ企業などで Security Hub の集約結果を複数のアカウントから確認したいケースが出てきたので調査したところ、現時点で Security Hub の管理者アカウントはメンバーアカウントに対し複数設定することはできませんでした。

Security Hub のメンバーアカウントは、一度に一つの管理者アカウントのみと関連付きます

Security Hub のメンバーアカウントは、一度に一つの管理者アカウントのみと関連付きます。

ドキュメントに明確に記載がありました。

アカウントを、管理者アカウントとメンバーアカウントの両方のアカウントとして同時に設定することはできません。 メンバーアカウントは、一度に 1 つの管理者アカウントのみと関連付けることができます。

検証:複数アカウントから Security Hub のメンバーアカウントにしたいアカウントに招待を送ったときの挙動

AWS マネジメントコンソールで、 1 つの AWS アカウントに対し複数の AWS アカウントから Security Hub のメンバーアカウントにするために招待を送ってみました。
非 Organizations 環境で検証します。

以下のように 3 つの AWS アカウントを用意し、Security Hub を有効化しておきます。

  • SecurityHubTestA(AWS アカウント ID:111111111111、SecurityHubTestA@mail.com)
  • SecurityHubTestB(AWS アカウント ID:222222222222、SecurityHubTestB@mail.com)
  • SecurityHubTestC(AWS アカウント ID:333333333333、SecurityHubTestC@mail.com)

1 つの管理者アカウントから招待を送る

まず、SecurityHubTestA から SecurityHubTestB に招待を送ります。

SecurityHubTestA で Security Hub コンソールを開き、[設定] - [アカウント] タブから「Add Accounts」をクリックします。

SecurityHubTestB の AWS アカウント ID とメールアドレスを入力し、「Add」をクリックします。

画面下部 [Accounts to add] に、SecurityHubTestB の AWS アカウント ID とメールアドレスが追加されます。「Next」をクリックします。

以下のような画面になります。[Status] 欄で「invite」をクリックします。

ポップアップで確認画面が出ます。「invite」をクリックします。

[Status] が [Email verification in progress] となっています。

SecurityHubTestA から SecurityHubTestB に招待を送りました。

メンバーアカウントで招待を承諾する①

SecurityHubTestB で招待を承諾します。

SecurityHubTestB で Security Hub コンソールを開き、[設定] - [アカウント] タブを開きます。
[Administrator account] 欄に SecurityHubTestA アカウントからの招待が表示されているので、「Accept」のラジオボタンを ON にします。

「Accept」のラジオボタンを ON にしたら、[Accept invitation] をクリックします。

SecurityHubTestA からの招待を承諾し、SecurityHubTestB の Security Hub 管理者アカウントは SecurityHubTestA になりました。

もう 1 つの管理者アカウントから招待を送る

この状態で、SecurityHubTestC から SecurityHubTestB にメンバーアカウントにするための招待を送ってみます。

先ほどと同様に、SecurityHubTestC で Security Hub コンソールを開き、SecurityHubTestB に招待を送ります。

メンバーアカウントで招待を承諾する②

SecurityHubTestB で招待を承諾します。

SecurityHubTestB で Security Hub コンソールを開き、[設定] - [アカウント] タブを開きます。
[Administrator account] 欄に SecurityHubTestC アカウントからの招待が追加で表示されています。
SecurityHubTestC の「Accept」のラジオボタンを ON にします。

すると、SecurityHubTestA のラジオボタンが OFF になり、SecurityHubTestC のラジオボタンが ON になります。
[Update] をクリックします。

管理者アカウントとして承諾した方のアカウントである SecurityHubTestC が一番上に並びます。

このように、もう一つの招待を承諾すると、今までの管理者アカウントから外れて新しく承諾した方の管理者アカウントのメンバーアカウントになります。

SecurityHubTestC アカウントで [Status] を確認すると Enable となっています。

SecurityHubTestA アカウントで [Status] を確認すると Member resigned(メンバー退会)となっています。

終わりに

複数アカウントから招待された際の挙動を確認してきました。
この手順で、管理者アカウントの付け替えができた、とも言えますね。
グループ企業などで Security Hub の集約結果を複数のアカウントから確認したいケースがあるかもしれませんが、現時点では Security Hub の管理者アカウントはメンバーアカウントに対し一つとなっていますのでご注意ください。

参考