マネジメントコンソールにログインすると、CloudTrailにイベント名「ListNotificationHubs」がエラーコード「AccessDenied」として記録されるのはなぜですか

2024.04.11

困っていた内容

IAMポリシーで参照権限のみに制限しているIAMユーザーがいます。このIAMユーザーを使ってマネジメントコンソールへログインするたびに、イベント名「ListNotificationHubs」、エラーコード「AccessDenied」と記録されていることをCloudTrailで確認しました。

この「AccessDenied」エラーが発生しているのはなぜですか?また、このエラー記録しないようにするにはどうしたらいいですか?

原因

まず、イベント「ListNotificationHubs」は、サービス AWS User Notifications に関するものです。

マネジメントコンソールの下記部分の表示のためにこのイベントが呼び出されているようです。AWS User Notifications に設定がない状態でも、CloudTrail で「ListNotificationHubs」イベントが呼び出されていることを確認しました。

対処方法

「AccessDenied」を解消したい場合は、IAMポリシーに「ListNotificationHubs」の許可を追加する必要があります。

試してみた

例として、下記のような下記IAMポリシーを作成しIAMユーザーに追加してみました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "notifications:ListNotificationHubs",
            "Resource": "*"
        }
    ]
}

CloudTrailで再度確認すると、イベント名「ListNotificationHubs」の「AccessDenied」エラーは解消されていました。

また、下記ドキュメントの通り、「ListNotificationHubs」アクションはリストアクションとなっているので、参照のみの権限となっています。

AWS ユーザー通知 (サービスプレフィックス: notifications) では、IAM アクセス許可ポリシーで使用できるように、以下のサービス固有のリソース、アクション、条件コンテキストキーが用意されています。

アクション 説明 アクセスレベル
ListNotificationHubs NotificationHub を一覧表示するアクセス許可を付与します リスト

引用元: AWS ユーザー通知のアクション、リソース、および条件キー

参考