AWSアクセスキーの所有者と権限の確認が必要

IAMユーザー名とアカウントのルートユーザーを区別し、不要な長期アクセスキーを削除してください。

説明

AWSアカウントのルートアクセスキーは非常に強い権限を持つため、作成・保持しないでください。自動処理には最小権限ロールの一時的な認証情報を優先してください。

CloudFormationのAWS::IAM::AccessKeyにおけるUserNameはIAMユーザー名です。RootというIAMユーザーもアカウントのルートユーザーではなく、名前だけで権限は決まりません。実際の所有者、キーの状態、関連付けたポリシーを確認してください。

想定される影響

  • 実際のルートキーが漏えいすると、アカウントのデータ、リソース、セキュリティ設定に広範な被害が及ぶ可能性があります。
  • 通常のIAMユーザーのキーも、有効な間はそのユーザーに許可された操作に悪用される可能性があります。

対処方法

  • 長期キーに依存する自動処理を確認し、最小権限ロールの一時的な認証情報へ移行してください。
  • 不要なキーの利用先を確認して無効化し、正常動作を検証してから削除してください。露出したルートキーは速やかに失効させ、アカウントの操作履歴を調査してください。
  • ルートアカウントを保護しMFAを維持してください。ただし、MFAによって漏えいした長期アクセスキーが自動的に無効になるわけではありません。

例

以下はRootという既存IAMユーザーのキーの例です。アカウントのルートキーを作成・管理する例ではありません。実際のユーザーとキーを確認してから変更してください。

変更前

yaml
Resources:
  CFNKeys:
    Type: AWS::IAM::AccessKey
    Properties:
      UserName: Root

Statusを省略した新しいキーは既定で有効になります。Rootという名前でも、そのIAMユーザーのポリシーによって権限が決まります。

変更後

yaml
Resources:
  CFNKeys:
    Type: AWS::IAM::AccessKey
    Properties:
      UserName: Root
      Status: Inactive

同じIAMユーザーのキーを無効にします。ユーザー名を変えるだけの対応と異なり、このキーによるAPI利用を停止します。利用先の移行後は不要なキーを削除してください。

参考資料