如何在 AWS 上使用 .net Core 应用程序部署 Profile

How to deploy Profile with .net Core app on AWS

注意:这个问题是针对 .net 核心控制台应用程序的,不是 ASP.NET 核心。

我对在 AWS 上正确使用配置文件感到困惑。我的理解是 AWS 更喜欢使用包含 AWS 凭据(aws_access_key_id、aws_secret_access_key)值的文件的配置文件名称 而不是

使用 .net 核心,我如何知道如何导航到应存储凭据文件的用户主目录? (根据此参考资料:http://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#using-a-credentials-file

我正在创建一个 .net Core 应用程序以连接到 Amazon Kinesis,并将其部署在 Docker 容器中。我希望能够部署并让应用程序使用 .CreateServiceClient<IAmazonKinesis>() 自行查找凭据。据我了解,这种方法允许 AWSOptions 到 lookup/find 通过定位凭据文件隐藏凭据。

请帮助我了解如何处理此问题。

您要部署的 docker 容器是否托管在 ECS 中?如果是这样,使用 ECS 中的 IAM Roles for Tasks 功能将是解决您问题的最简单方法。

本质上,您可以配置一个 IAM 角色,task/container 将 运行 置于其下,并通过为该角色分配 IAM 策略来配置它的权限。 ECS 管理为该角色向 docker 容器提供凭据的过程。默认情况下,SDK 将全部获取 ECS 提供的凭据,除非您在创建客户端或更改凭据提供程序链时通过提供凭据明确覆盖它们。

我们在发布该功能时发布了一篇关于任务的 ECS IAM 角色的博客post:

https://aws.amazon.com/about-aws/whats-new/2016/07/amazon-ec2-container-service-now-supports-iam-roles-for-tasks/