Amazon EC2 实例上运行的应用程序的 IAM 角色 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EC2 实例上运行的应用程序的 IAM 角色

在 Amazon EC2 实例上运行的应用程序需要凭证以访问其他 Amazon Web Services。要以安全的方式提供这些凭证,请使用 IAM 角色。角色可提供临时权限,以供应用程序在访问其他Amazon资源的费用。角色的权限将确定允许访问资源的应用程序。

实例上运行的应用程序可以通过实例配置文件元数据访问角色的临时凭证。有关更多信息,请参阅 IAM 用户指南 中的使用 IAM 角色为 Amazon EC2 实例上运行的应用程序授予权限

对于 Auto Scaling 组中的实例,您必须创建启动模板或启动配置,并选择要与实例关联的实例配置文件。实例配置文件是 IAM 角色的容器,在实例启动时允许 Amazon EC2 将 IAM 角色传递到实例。首先,创建具有访问Amazon资源的费用。然后,创建实例配置文件并将该角色分配给它。有关更多信息,请参阅 。使用实例配置文件中的IAM 用户指南.

注意

当您使用 IAM 控制台为 Amazon EC2 创建角色时,控制台会指导您完成创建角色的步骤,并自动创建与 IAM 角色同名的实例配置文件。

有关更多信息,请参阅 。适用于 Amazon EC2 的 IAM 角色中的适用于 Linux 实例的 Amazon EC2 用户指南.

Prerequisites

创建在 Amazon EC2 上运行的应用程序可代入的 IAM 角色。选择适当的权限,以便随后向应用程序提供可以进行所需 API 调用的角色。

重要

作为一项最佳实践,我们强烈建议您创建角色,使其具有您的应用程序需要的其他 Amazon Web Services 的最小权限。

创建 IAM 角色(控制台)

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 RolesCreate role

  3. 对于选择受信任实体的类型,选择 Amazon 服务

  4. 对于选择将使用此角色的服务,选择 EC2EC2 使用案例。选择 Next:。Permissions (下一步:权限)

  5. 对于附加权限策略页面,选择包含所需权限的 Amazon 托管策略。选择 Next:。标签然后后续:审核

  6. Review (审核) 页面上,为角色输入一个名称,然后选择 Create role (创建角色)

这些区域有:iam:PassRole使用指定实例配置文件的启动模板创建或更新 Auto Scaling 组或者创建指定实例配置文件的启动配置的 IAM 用户需要权限。有关策略示例,请参阅控制哪些 IAM 角色可以传递(使用 PassRole)

创建启动模板

使用创建启动模板时Amazon Web Services Management Console,在高级详细信息部分中,从IAM 实例配置文件. 有关更多信息,请参阅 为启动模板配置高级设置

使用创建启动模板时create-launch-Scaling命令Amazon CLI中,按照以下示例中所示指定实例配置文件的名称。

aws ec2 create-launch-template --launch-template-name my-lt-with-instance-profile --version-description version1 \ --launch-template-data '{"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro","IamInstanceProfile":{"Name":"my-instance-profile"}}'

创建启动配置

使用创建启动配置时Amazon Web Services Management Console,在其他配置部分中,从IAM 实例配置文件. 有关更多信息,请参阅 创建启动配置

使用创建启动配置时create-launch-Scaling命令Amazon CLI中,按照以下示例中所示指定实例配置文件的名称。

aws autoscaling create-launch-configuration --launch-configuration-name my-lc-with-instance-profile \ --image-id ami-04d5cc9b88example --instance-type t2.micro \ --iam-instance-profile my-instance-profile