我创建了一个新的 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 角色