委任された Security Hub 管理者アカウントを登録する場合、Organizations API と Security Hub API のどちらを実行するのが正しいか教えてください

委任された Security Hub 管理者アカウントを登録する場合、Organizations API と Security Hub API のどちらを実行するのが正しいか教えてください

Clock Icon2025.02.28

困っていた内容

Security Hub と Organizations を統合するため、委任された Security Hub 管理者アカウントを AWS CLI を用いて登録しようとしています。
コマンドを調べたところ、次の 2 つのコマンドが該当するように見えましたが、どちらを実行すればよいのでしょうか?

  • register-delegated-administrator
  • enable-organization-admin-account

どう対応すればいいの?

enable-organization-admin-account コマンドを使用してください。

委任された Security Hub 管理者アカウントを登録する場合、Organizations API を使用しても Security Hub には反映されないため、必ず Security Hub API を使用する必要があります。
この点については、ドキュメントで明示的に記載されています[1]:

You must designate the delegated Security Hub administrator using one of the following methods. Designating the delegated Security Hub administrator with Organizations APIs doesn't reflect in Security Hub.

Choose your preferred method, and follow the steps to designate the delegated Security Hub administrator account.

やってみた

「Security Hub API を使え」とのことですが、Organizations API を使って Security Hub の委任管理者アカウントを登録した場合、実際どのような状態になるのか確認してみました。

前提環境

  • AWS Organizations において既に組織を作成しており、下記のアカウントが同じ組織に所属しています。
    • 組織の管理アカウント: 123456789012
    • 組織内のメンバーアカウント (Security Hub の委任管理者アカウント予定): 987654321098
  • また、コマンドの実行にあたって以下の要件を満たしているものとします。
    • 組織の管理アカウントから操作を行っている
    • 組織ですべての機能が有効化されている
    • 組織 の「サービス」で「信頼されたアクセス」が有効になっている

Organizations API で 組織内のメンバーアカウントを Security Hub 委任管理者として登録する

さっそく実際に確認していきます。

Security Hub の委任管理者アカウントに組織内のメンバーアカウント 987654321098 を登録したいので、管理アカウント 123456789012 から以下の AWS CLI コマンドを実行します。

aws organizations register-delegated-administrator \
--account-id 987654321098 \
--service-principal securityhub.amazonaws.com

register-delegated-administrator は成功しても実行結果を出力しないため、AWS CLI コマンド list-delegated-administrators で委任状況を確認してみます。

$ aws organizations list-delegated-administrators \
--service-principal=securityhub.amazonaws.com
{
    "DelegatedAdministrators": [
        {
            "Id": "987654321098",
            "Arn": "arn:aws:organizations::123456789012:account/o-xxxxxxxxxx/987654321098",
            "Email": "example@classmethod.jp",
            "Name": "Sandbox",
            "Status": "ACTIVE",
            "JoinedMethod": "CREATED",
            "JoinedTimestamp": "2024-10-09T05:28:56.740000+00:00",
            "DelegationEnabledDate": "2025-02-27T13:49:24.236000+00:00"
        }
    ]
}

アカウント 987654321098 が Security Hub の委任アカウントとして表示されていますね。

それでは、アカウント 987654321098 にログインして Security Hub マネジメントコンソール画面の「設定」を確認してみましょう。
その前に Security Hub が有効化されていないので手動で有効化します。

委任管理者アカウントの登録を正規のプロセスで実施した場合、通常以下の画像のように、委任管理者アカウント側の「設定」には現時点で組織に属するアカウントの一覧が表示されます。

right_setting_page_shub
Organizations 内のメンバーアカウントが表示されることに加えて、中央設定に関するセクションも表示される

一方、今回の場合、組織に属するアカウントが存在するにも関わらず、それらのアカウントが表示されていません。

wrong_setting_page_shub
Organizations と統合していない、またはスタンドアロンアカウントで Security Hub を使用している状態と同じような画面が表示される

マネジメントコンソール上では Organizations API 経由で実行した委任アカウントの登録は反映されていないことがわかります。

まとめ

ドキュメントの記載どおり、Organizations API を使用しても Security Hub には反映されないことがご確認いただけたかと思います。

Security Hub の委任管理者アカウントを登録する際は、必ず Security Hub API を使用しましょう!

参考文献

  1. register-delegated-administrator — AWS CLI 2.24.13 Command Reference
  2. enable-organization-admin-account — AWS CLI 2.24.14 Command Reference
  3. Enable a delegated admin account for AWS Account Management - AWS Account Management
  4. list-delegated-administrators — AWS CLI 2.24.13 Command Reference
脚注
  1. Integrating Security Hub with AWS Organizations - AWS Security Hub ↩︎

  2. Enabling Security Hub - AWS Security Hub ↩︎

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.