我创建了一个 IAM 角色,但启动实例时此角色未显示在下拉列表中。我该怎么办?

上次更新日期:2020 年 12 月 23 日

我创建了一个新的 AWS Identity and Access Management (IAM) 角色,但在启动实例时无法在下拉列表中找到此角色。

解决方法

下拉列表包含实例配置文件而不是 IAM 角色,但是您可以将 IAM 角色添加到实例配置文件。您必须选择已将所需的 IAM 角色添加到的实例配置文件。

请按照以下步骤创建一个关联到实例配置文件的新 IAM 角色。然后,在启动实例时从下拉列表中选择实例配置文件。使用 IAM 控制台或 AWS 命令行界面 (AWS CLI) 创建链接到实例配置文件的新 IAM 角色。

注意:如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新的 AWS CLI 版本

使用 IAM 控制台

此示例使用 Amazon Elastic Compute Cloud (Amazon EC2) 显示选择 EC2 作为您的使用案例将为 Amazon EC2 创建信任关系。您的 EC2 使用案例还将创建实例配置文件,为其提供与 IAM 角色相同的名称,然后将 IAM 角色添加到相同的实例配置文件。如果创建 IAM 角色时未选择 EC2,则不会为 Amazon EC2 创建实例配置文件和信任关系。

1.    打开 IAM 控制台

2.    在导航窗格中,选择角色,然后选择创建角色

3.    选择 EC2 作为 AWS 服务,并选择 EC2 作为您的使用案例,然后选择下一步:权限

4.    为您的使用案例选择策略名称,并选择下一步:标签,然后选择下一步:检查

5.    输入角色名称,然后选择创建角色

使用 AWS CLI

1.    创建一个名为 Test-Role-Trust-Policy.json 的文件并将以下策略粘贴到该文件中:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
2.     通过运行以下命令 创建 IAM 角色
$ aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json
3.     通过运行以下命令 创建实例配置文件
$ aws iam create-instance-profile --instance-profile-name Webserver
4.    通过运行以下命令将 IAM 角色添加到实例配置文件:
$ aws iam add-role-to-instance-profile --role-name Test-Role --instance-profile-name Webserver
对于 EC2 的现有 IAM 角色,您必须将 EC2 服务委托人添加到其现有信任策略中。有关详细信息,请参阅 指定委托人

注意:如果 IAM 角色和实例配置文件具有不同的名称,您必须选择在启动 EC2 实例时已将所需的 IAM 角色添加到的实例配置文件。此 IAM 角色不会在下拉列表中列出。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?