首页 > 解决方案 > 如何使用 IAM 角色通过 AWS CLI 运行 aws-nuke

问题描述

我能够使用 AWS CLI 在一个账户上运行 aws-nuke。现在我正在尝试运行aws-nuke以使用 IAM 角色假设删除所有资源

我正在尝试运行命令

 aws-nuke -c config/nuke-config.yaml 

config/nuke-config.yaml
    ---
    regions:
    - "global" # This is for all global resource types e.g. IAM
    
    
    account-blacklist:
    - "999999999999" # production
    
    
    # optional: restrict nuking to these resources
    resource-types:
      targets:
      - S3Bucket
      - S3Object
      - EC2Instance
      - CloudFormationStack
    
    accounts:
     "555133742123" #IAM alias is "test-account":

得到这个错误:

错误:指定的帐户没有别名。出于安全原因,您需要指定帐户别名。您的生产帐户应包含术语“产品”。

您可以在下面的屏幕截图中看到错误消息。

在此处输入图像描述

我还在另一个帐户上运行了 aws-nuke,它能够毫无问题地识别 IAM 别名。这里缺少什么?

标签: amazon-web-services

解决方案


检查账户别名是否为空:您可以运行此 AWS CLI:

aws iam 列表帐户别名

如果为空列表,则表示缺少 IAM 别名。

然后,您需要将 IAM 别名分配给需要核对的 AWS 账户。使用您可以使用此 AWS CLI:

aws sts 获取调用者身份

这将让您知道您使用 CLI 登录的帐户

将 IAM 别名分配给 AWS 账户后,这应该可以解决您看到的aws-nuke错误。

错误:指定的帐户没有别名。出于安全原因,您需要指定帐户别名。您的生产帐户应包含术语“产品”。


推荐阅读