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

1 分钟阅读
0

我创建了一个新的 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 角色不会在下拉列表中列出。


相关信息

修改角色

编辑现有角色的信任关系

适用于 Amazon EC2 的 IAM 角色

相关视频

AWS 官方
AWS 官方已更新 1 年前