

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

# 使用 IAM 角色对部署到 Amazon 的应用程序进行身份验证 EC2
<a name="access-iam-roles-for-ec2"></a>

此示例介绍如何设置一个拥有 Amazon S3 访问权限的 AWS Identity and Access Management 角色，以便在部署到亚马逊弹性计算云实例的应用程序中使用。

要在亚马逊弹性计算云实例上运行您的 AWS 软件开发工具包应用程序，请创建一个 IAM 角色，然后授予您的亚马逊 EC2 实例访问该角色的权限。有关更多信息，请参阅《亚马逊* EC2 用户指南》 EC2中的 Amazon* [IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)。

## 创建一个 IAM 角色
<a name="createRoleForEc2"></a>

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

 例如，以下过程会创建一个将授予对 Amazon S3 的只读权限的角色。许多 AWS SDK 指南都有从 Amazon S3 中读出的 “入门” 教程。

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**角色**，然后选择**创建角色**。

1. 对于 **选择可信实体**，在 **可信实体类型**，选择 **AWS 服务**。

1. 在 “**用例**” 下，选择 **Amazon EC2**，然后选择 “**下一步**”。

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

1. 输入角色的名称，然后选择**创建角色**。*请记住这个名称，因为您在创建 Amazon EC2 实例时会用到它。*

## 启动 Amazon EC2 实例并指定您的 IAM 角色
<a name="launchAndSpecify"></a>

您可以通过执行以下操作，使用您的 IAM 角色创建和启动 Amazon EC2 实例：
+ 在 *Amazon EC2 用户指南*中按照 “[快速启动实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html#liw-quickly-launch-instance)” 进行操作。但在执行最后的提交步骤前，还应执行以下操作：
  + 在**高级详细信息**下，对于 **IAM 实例配置文件**，选择您在上一步中创建的角色。

 通过此 IAM 和 Amazon EC2 设置，您可以将应用程序部署到亚马逊 EC2 实例，您的应用程序将拥有对 Amazon S3 服务的读取权限。

## Connect 连接到 EC2 实例
<a name="net-dg-hosm-connect"></a>

连接到 Amazon EC2 实例，这样您就可以将应用程序传输到该实例，然后运行该应用程序。您将需要包含当您创建实例时在**密钥对（登录）**部分下所用密钥对私有部分的文件；即 PEM 文件。

为此，您可以按照相应实例类型的指南进行操作：[连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)或[连接到 Windows 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)。当您连接时，请确保您可以将文件从开发计算机传输到您的实例。

**注意**  
在 Linux 或 macOS 终端上，您可以使用安全复制命令来复制应用程序。要将 `scp` 与某个密钥对结合使用，可以使用以下命令：`scp -i path/to/key file/to/copy ec2-user@ec2-xx-xx-xxx-xxx.compute.amazonaws.com:~`。  
有关 Windows 的更多信息，请参阅[将文件传输到 Windows 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instanceWindowsFileTransfer.html)。

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

## 在 EC2 实例上运行您的应用程序
<a name="net-dg-hosm-run-the-app"></a>

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

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

1. （可选）验证应用程序是否使用 IAM 角色提供的凭证。

   1. 登录 AWS 管理控制台 并打开 Amazon EC2 控制台，网址为[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

   1. 选择实例。

   1. 依次选择**操作**、**安全性**和**修改 IAM 角色**。

   1.  对于 **IAM 角色**，请选择**无 IAM 角色**来分离 IAM 角色。

   1.  选择**更新 IAM 角色**。

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