

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

# 为您的 ASP.NET 酷睿 2 应用程序指定 AWS 凭据
<a name="deployment-ecs-specify-credentials"></a>

当您将应用程序部署到 Docker 容器时，有两种类型的凭证在发挥作用：部署凭证和实例凭证。

发布容器到向 AWS 导使用部署凭证在 Amazon ECS 中创建环境。这包括任务、服务、IAM 角色、Docker 容器存储库等，如果您选择的话，还包括负载均衡器。

实例（包括您的应用程序）使用实例证书来访问不同的 AWS 服务。例如，如果您的 ASP.NET Core 2.0 应用程序读取和写入到 Amazon S3 对象，则该应用程序需要适当的权限。您可以根据环境使用不同的方法提供不同凭证。例如，您的 ASP.NET 内核e 2 应用程序可能面向*开发*和*生产*环境。您可以使用本地 Docker 实例和凭证进行开发，而在生产中使用定义的角色。

## 指定部署凭证
<a name="tkv-ecs-deploy-creds"></a>

您在 “ AWS 将**容器发布到 AWS” 向**导中指定的 AWS 账户就是该向导用于部署到 Amazon ECS 的账户。账户资料必须具有访问亚马逊弹性计算云、亚马逊弹性容器服务和 AWS Identity and Access Management。

如果您注意到下拉列表中缺少某些选项，可能是因为您缺乏权限。例如，如果您为应用程序创建了一个集群但在**将容器发布到 AWS** 向导的集群页面中没有看到它。如果出现这种情况，请添加所缺的权限并重试该向导。

## 指定开发实例凭证
<a name="tkv-ecs-dev-creds"></a>

对于非生产环境，您可以在 appsettings.<environment>.json 文件中配置凭证。例如，要在 Visual Studio 2017 的 appsettings.Development.json 文件中配置凭证，请执行以下操作：

1. 添加 AWSSDK .Extensions。 NETCore.将 NuGet 软件包安装到您的项目中。

1. 将 AWS 设置添加到 appSettings.developmen 以下配置将设置 `Profile` 和 `Region`。

   ```
   {
       "AWS": {
           "Profile": "local-test-profile",
           "Region": "us-west-2"
       }
   }
   ```

## 指定生产实例凭证
<a name="id1"></a>

对于生产实例，建议使用 IAM 角色来控制应用程序（和服务）可以访问的内容。例如，要在 AWS 管理控制台中将 Amazon ECS 的 IAM 角色配置为具有对 Amazon Simple Storage Service 和 Amazon DynamoDB 的权限的服务主体，请执行以下操作：

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

1. 在 IAM 控制台的导航窗格中，选择角色，然后选择创建角色。

1. 选择 **AWS 服务**角色类型，然后选择 **EC2 Container Service**。

1. 选择 **EC2 Container Service Task (EC2 Container Service 任务)** 使用案例。用例由服务定义以包含服务要求的信任策略。然后选择**下一步：权限**。

1. 选择 **AmazonS3 FullAccess** 和**AmazonDynamoDBFull访问**权限策略。选中每个策略旁边的复选框，然后选择 **Next: Review (下一步: 审核)**。

1. 对于**Role name (角色名称)**，键入有助于识别此角色的作用的角色名称或角色名称后缀。角色名称在您的 AWS 账户内必须是唯一的。它们不按大小写区分。例如，您无法同时创建名为 `PRODROLE` 和 `prodrole` 的角色。由于多个单位可能引用该角色，角色创建完毕后无法编辑角色名称。

1. (可选) 对于 **Role description**，键入新角色的描述。

1. 检查角色，然后选择**创建角色**。

您可以使用此角色作为**将容器发布到 AWS** 向导中 **ECS 任务定义**页面上的**任务角色**。

有关更多信息，请参阅[使用基于服务的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。