如何知道 AWS IAM 角色是否正在被使用

如何知道 AWS IAM 角色是否正在被使用

我正在对 AWS 账户进行清理,发现很多我几乎肯定没有使用的角色。该账户使用了许多服务,因此手动检查不切实际。

有没有办法知道某个 AWS 角色被使用了多少次?如果可能的话,哪些服务和/或实例正在使用它?

答案1

目前没有使用 AWS CLI 的 SDK 来获取 IAM 角色的上次访问时间的方法。我今天向 AWS 支持确认了这一点。

目前,唯一的方法是使用 AWS 管理控制台。

  1. 选择您的 IAM 角色
  2. 单击“访问顾问”选项卡。
  3. 此选项卡的内容将显示各种服务(S3、EC2 等)的最后访问时间。

答案2

选择角色或用户时,选中“访问顾问”选项卡。该选项卡提供有关用户/角色上次访问的服务的信息。

答案3

如果您使用带有 awscli 的 IAM 用户,您可以执行以下操作: aws iam get-user

这将打印当前 IAM 用户信息,例如:

{
  "User": {
    "UserName": "vasco",
    "PasswordLastUsed": "1999-01-01T00:00:00Z",
    "CreateDate": "1999-01-01T00:00:00Z",
    "UserId": "AFUIDGSDOGDOG",
    "Path": "/",
    "Arn": "arn:aws:iam::235534637458:user/vasco"
  }
}

答案4

对于 ec2 实例,我只需在 ec2 搜索选项中通过角色名称进行搜索,这对我很有帮助。如我们所见,IAM 角色显示在 ec2 实例的描述中。对于其他资源,我们也可以跟踪角色是否附加。因此,这导致角色名称中应该包含一些标签以指向范围的使用。

所以我的答案是,在创建角色之前,我们应该使用一些角色命名规则,以便以后我们可以轻松维护这些创建的角色。

相关内容