【发布时间】:2019-09-27 12:27:13
【问题描述】:
我们正在开发一个 ASP.NET Core Web 应用程序,该应用程序将在客户环境中本地运行,并且该应用程序需要访问我们 AWS 账户中的某些资源。由于这跨越了组织边界,我们正在我们的 AWS 账户中创建一个 IAM 角色,并授予客户访问权限以从他们的账户中担任该角色。
我相信这必须工作的方式是 ASP.NET Core 应用程序具有客户 AWS 账户的“永久”凭证,然后在我们的账户中获取 IAM 角色的临时凭证以便工作。但是,应用程序需要在 IHostedService/BackgroundService 中完成大部分工作,这是一个在应用程序生命周期内运行的单例,所以如果我们使用标准依赖注入,我们将有一个 long - 给定 AWS 服务客户端的实时实例。有谁知道 AWS 开发工具包是否有能力不断重新获取 IAM 角色的临时凭证?如果没有,我认为我们将不得不停止通过 DI 获取服务客户端,并继续定期自己重新创建它们以刷新凭据。
【问题讨论】:
标签: amazon-web-services asp.net-core aws-sdk