首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同一服务器上多个长期运行的应用程序的独立IAM角色

同一服务器上多个长期运行的应用程序的独立IAM角色
EN

Stack Overflow用户
提问于 2019-12-24 19:11:28
回答 1查看 838关注 0票数 1

我有一个包含多个应用程序的EC2服务器。目前,我不得不接受这个设置(我不能将每个应用程序都放在自己的服务器上)。

我不想在服务器上运行的所有应用程序都使用单一的系统范围的creds。

每个应用程序只能访问它所需要的东西。这对于故障排除/调试以及隔离应用程序的访问非常重要。我在想该怎么做。

我可以授予EC2实例角色访问权限,以承担特定于应用程序的角色。因此,在初始化时,应用程序将有权承担仅供其使用的角色。这似乎是正确的方式,但这些是非常长的运行应用程序。即使我将令牌过期设置得很高,它也需要刷新。和.net支持自动刷新吗?我是否要自己去执行这个逻辑呢?比如,让应用程序在每个AWS调用之前检查令牌是否过期?我不想在代码中实现这一点。

我不喜欢它,但我也可以为所有应用程序创建IAM用户,并将他们的凭据存储在参数存储或秘密管理器中。EC2角色可以读取这些秘密,当应用程序启动时,他们会用他们的IAM用户的密钥提取一个秘密,并在会话中使用这些密钥。他们不必使用sts或实现刷新逻辑,但我使用的是静态访问密钥,但我不喜欢--也许秘密管理器可以为我旋转IAM密钥?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-26 05:29:57

我知道对于.NET的AWS来说,可以让SDK为您管理刷新凭证。下面是创建一个AWSCredentials对象的一小部分代码片段,该对象将通过使用实例配置文件凭据来获得凭据。AssumeRoleAWSCredentials对象将在凭据过期之前自动刷新。

代码语言:javascript
运行
复制
using Amazon.Runtime;

namespace AssumeRoleCredsExample
{
    class Program
    {
        static void Main(string[] args)
        {
            var roleArn = "your-application-role-arn-here";
            var instanceProfileCredentials = FallbackCredentialsFactory.GetCredentials();

            var assumeRoleCredentials = new AssumeRoleAWSCredentials(instanceProfileCredentials, roleArn, "Application1SessionName");
        }
    }
}

我怀疑具有非常类似的特性。快速查看AWS的JavaDocs,我将查看com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider类。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59472672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档