使用 IAM 角色对部署到 Amazon EC2 的应用程序进行身份验证 - Amazon SDK 和工具
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 IAM 角色对部署到 Amazon EC2 的应用程序进行身份验证

此示例介绍如何设置一个拥有 Amazon S3 访问权限的 Amazon Identity and Access Management 角色,以便在部署到 Amazon Elastic Compute Cloud 实例的应用程序中使用。

要在 Amazon Elastic Compute Cloud 实例上运行 Amazon SDK 应用程序,请创建一个 IAM 角色,然后向该角色授予对您的 Amazon EC2 实例的访问权限。有关更多信息,请参阅《Amazon EC2 用户指南》中的适用于 Amazon EC2 的 IAM 角色

创建 IAM 角色

您开发的 Amazon SDK 应用程序可能会至少访问一个 Amazon Web Services 服务来执行操作。创建一个 IAM 角色来授予应用程序运行所需的权限。

例如,以下过程会创建一个将授予对 Amazon S3 的只读权限的角色。许多 Amazon SDK 指南都提供了有关如何从 Amazon S3 中读取数据的“入门”教程。

  1. 登录 Amazon Web Services 管理控制台,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

  3. 对于 选择可信实体,在 可信实体类型,选择 Amazon Web Services 服务

  4. Use case(使用案例)下,选择 Amazon EC2,然后选择 Next(下一步)。

  5. 对于添加权限,请从策略列表中选中 Amazon S3 只读访问权限复选框,然后选择下一步

  6. 输入角色的名称,然后选择创建角色请记住此名称,因为创建 Amazon EC2 实例时将会用到它。

启动 Amazon EC2 实例并指定您的 IAM 角色

您可以通过执行以下操作,来使用您的 IAM 角色创建和启动 Amazon EC2 实例:

  • 按照《Amazon EC2 用户指南》中快速启动实例部分的说明进行操作。但在执行最后的提交步骤前,还应执行以下操作:

    • 高级详细信息下,对于 IAM 实例配置文件,选择您在上一步中创建的角色。

利用此 IAM 和 Amazon EC2 设置,您可以将应用程序部署到 Amazon EC2 实例,并且该应用程序将具有对 Amazon S3 服务的读取权限。

连接到 EC2 实例

连接到 Amazon EC2 实例,以便您可将您的应用程序传输到该实例,然后运行该应用程序。您将需要包含当您创建实例时在密钥对(登录)部分下所用密钥对私有部分的文件;即 PEM 文件。

为此,您可以按照相应实例类型的指南进行操作:连接到 Linux 实例连接到 Windows 实例。当您连接时,请确保您可以将文件从开发计算机传输到您的实例。

注意

在 Linux 或 macOS 终端上,您可以使用安全复制命令来复制应用程序。要将 scp 与某个密钥对结合使用,可以使用以下命令:scp -i path/to/key file/to/copy ec2-user@ec2-xx-xx-xxx-xxx.compute.amazonaws.com:~

有关 Windows 的更多信息,请参阅将文件传输到 Windows 实例

如果您使用的是 Amazon 工具包,则通常也可以使用该工具包连接到实例。有关更多信息,请参阅您使用的工具包的特定用户指南。

在 EC2 实例上运行应用程序

  1. 将应用程序文件从本地驱动器复制到 Amazon EC2 实例。

  2. 启动应用程序并验证其运行结果是否与开发计算机上的结果相同。

  3. (可选)验证应用程序是否使用 IAM 角色提供的凭证。

    1. 登录到 Amazon Web Services 管理控制台 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/)。

    2. 选择实例。

    3. 依次选择操作安全性修改 IAM 角色

    4. 对于 IAM 角色,请选择无 IAM 角色来分离 IAM 角色。

    5. 选择更新 IAM 角色

    6. 再次运行该应用程序,并确认它返回了授权错误。