Security Hub で存在しない IAM ユーザが検知されたときの対処方法

2021.08.11

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

困っていた内容

Security Hub で検出されたリソースを確認したところ、見慣れない IAM ユーザ名(例:AIDAJQABLZS4A3QDU576Q)が記載されていました。
念のため確認しましたが、そのような IAM ユーザは登録されておらず、一見アクセスキーに似ていたのでアクセスキーも確認しましたが、該当するものはありませんでした。この IAM ユーザはなんでしょうか。

どう対応すればいいの?

AWS CLI でlist-usersを実行してください。

$ aws iam list-users
{
    "Users": [
        {
            "Path": "/",
            "UserName": "hato",
            "UserId": "AIDAJQABLZS4A3QDU576Q",
            "Arn": "arn:aws:iam::123456789012:user/hato",
            "CreateDate": "2020-01-01T01:01:01+00:00"
        }
    ]
}

表示されたリソース名は、マネージメントコンソールでよく見かける IAM ユーザ名(フレンドリ名)ではなく、IAM ユーザ毎に設定されたユーザ ID です。ARN でもユーザ名が使用されるため、ユーザ ID はあまり名にすることはありませんが、AWS CLI や API を使用することで、ユーザ ID とユーザ名の紐付けを確認することができます。

そのため、list-usersで IAM ユーザ名を確認してください。

なお、ID は次のプレフィックスを使用します。

IAM 識別子 - AWS Identity and Access Management

プレフィックス リソースタイプ
ABIA AWS STS サービスベアラートークン
ACCA コンテキスト固有の認証情報
AGPA ユーザーグループ
AIDA IAM ユーザー
AIPA Amazon EC2 インスタンスプロファイル
AKIA アクセスキー
ANPA 管理ポリシー
ANVA 管理ポリシーのバージョン
APKA パブリックキー
AROA ロール
ASCA 証明書
ASIA 一時 (AWS STS) アクセスキー ID はこのプレフィックスを使用しますが、シークレットアクセスキーとセッショントークンとの組み合わせでのみ一意です。

参考資料

IAM がユーザー、ユーザーグループ、ロール、ポリシー、インスタンスプロファイル、サーバー証明書を作成する際、各リソースには次のような一意の ID が割り当てられます。

AIDAJQABLZS4A3QDU576Q

ほとんどの場合、IAM リソースを操作するときは、フレンドリ名と ARN を使用します。

IAM 識別子 - AWS Identity and Access Management