

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

# 您的 AWS Elastic Beanstalk 环境安全
<a name="using-features.managing.security"></a>

Elastic Beanstalk 提供了多个选项来控制您的环境及其中的 Amazon EC2 实例的服务访问（安全性）。本主题将讨论这些选项的配置。

**Topics**
+ [配置环境安全性](#using-features.managing.security.console)
+ [环境安全性配置命名空间](#using-features.managing.security.namespaces)

## 配置环境安全性
<a name="using-features.managing.security.console"></a>

您可以在 Elastic Beanstalk 控制台中修改 Elastic Beanstalk 环境的安全性配置。

**在 Elastic Beanstalk 控制台中配置环境服务访问（安全性）**

1. 打开 [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) 控制台，然后**在 “区域” 列表中，选择您**的。 AWS 区域

1. 在导航窗格中，选择 **Environments**（环境），然后从列表中选择环境的名称。

1. 在导航窗格中，选择 **Configuration**（配置）。

1. 在 **Service access**（服务访问）配置类别中，选择 **Edit**（编辑）。

可供使用的设置如下。

**Topics**
+ [服务角色](#using-features.managing.security.servicerole)
+ [EC2 密钥对](#using-features.managing.security.keypair)
+ [IAM 实例配置文件](#using-features.managing.security.profile)

![Elastic Beanstalk 安全性服务访问配置页](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/configuration-configure-service-access.png)


### 服务角色
<a name="using-features.managing.security.servicerole"></a>

选择要与 Elastic Beanstalk 环境关联的[服务角色](iam-servicerole.md)。Elastic Beanstalk 在代表你 AWS 访问其他服务时担任服务角色。有关更多信息，请参阅 [管理 Elastic Beanstalk 服务角色](iam-servicerole.md)。

### EC2 密钥对
<a name="using-features.managing.security.keypair"></a>

您可以使用 Amazon EC2 密钥对安全地登录为 Elastic Beanstalk 应用程序预配置的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。有关创建密钥对的说明，请参阅《*Amazon EC2 用户指南*》中的[使用 Amazon EC2 创建密钥对](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair)。

**注意**  
创建密钥对时，Amazon EC2 将存储公有密钥的副本。如果不再需要使用它连接到任何环境实例，则可将其从 Amazon EC2 中删除。有关详细信息，请参阅《*Amazon EC2 用户指南*》中的[删除密钥对](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#delete-key-pair)。

从下拉菜单中选择 **EC2 密钥对**以将其分配到您环境的实例。当您分配密钥对时，公共密钥存储在实例上，用于对存储在本地的私有密钥进行身份验证。私钥永远不会存储在上 AWS。

有关连接亚马逊 EC2 实例的更多信息，请参阅 A *mazon EC2 用户*指南中的[连接到您的 Linux/UNIX 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)[和使用 PuTTY 从 Windows](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html) 连接到实例。

### IAM 实例配置文件
<a name="using-features.managing.security.profile"></a>

EC2 [实例配置文件](concepts-roles-instance.md)是一种 IAM 角色，将应用到在您的 Elastic Beanstalk 环境中启动的实例。Amazon EC2 实例扮演实例配置文件角色来签署请求 AWS 并访问 API，例如，将日志上传到 Amazon S3。

首次在 Elastic Beanstalk 控制台中创建环境时，Elastic Beanstalk 提示您创建具有默认权限集的实例配置文件。您可以向此配置文件添加权限，以向您的实例提供对其他 AWS 服务的访问权限。有关更多信息，请参阅 [管理 Elastic Beanstalk 实例配置文件](iam-instanceprofile.md)。

**注意**  
以前，Elastic Beanstalk 创建了一个默认 EC2 实例`aws-elasticbeanstalk-ec2-role`配置文件，该配置文件名为账户首次创建环境 AWS 时命名。该实例配置文件包含默认的托管式策略。如果您的账户已经有该实例配置文件，则可继续将其分配到您的环境。  
但是，最近的 AWS 安全准则不允许 AWS 服务自动创建具有对其他 AWS 服务（在本例中为 EC2）的信任策略的角色。根据这些安全准则，Elastic Beanstalk 将不再创建默认的 `aws-elasticbeanstalk-ec2-role` 实例配置文件。

**注意**  
EC2 实例安全还有另一个方面，即指定 EC2 实例的防火墙规则。防火墙规则由 EC2 安全组控制。有关更多信息，请参阅 [你的 Elastic Beanstalk 环境的亚马逊 EC2 实例](using-features.managing.ec2.md)。

## 环境安全性配置命名空间
<a name="using-features.managing.security.namespaces"></a>

Elastic Beanstalk 在以下命名空间中提供了[配置选项](command-options.md)来使您能够自定义环境的安全性：
+ [`aws:elasticbeanstalk:environment`](command-options-general.md#command-options-general-elasticbeanstalkenvironment) - 使用 `ServiceRole` 选项配置环境的服务角色。
+ [`aws:autoscaling:launchconfiguration`](command-options-general.md#command-options-general-autoscalinglaunchconfiguration)：使用 `EC2KeyName`、`IamInstanceProfile`、`DisableDefaultEC2SecurityGroup` 和 `SecurityGroups` 选项为环境的 Amazon EC2 实例配置权限。

EB CLI 和 Elastic Beanstalk 控制台会对前面的选项应用建议的值。如果您需要使用配置文件来配置相同的项，则必须删除这些设置。有关详细信息，请参阅[建议值](command-options.md#configuration-options-recommendedvalues)。