为了账号安全,请及时绑定邮箱和手机立即绑定

我的应用程序是否需要请求 ec2 实例上的角色来配置会话或将其留空?

我的应用程序是否需要请求 ec2 实例上的角色来配置会话或将其留空?

Go
蓝山帝景 2023-06-05 13:24:36
我正在尝试在我的应用程序中使用 aws-sdk-go。它在 EC2 实例上运行。现在在文档的配置凭证中,https://docs.aws.amazon.com/sdk-for-go/api/,它说它将查找*Environment Credentials - Set of environment variables that are useful when sub processes are created for specific roles.* Shared Credentials file (~/.aws/credentials) - This file stores your credentials based on a profile name and is useful for local development.*EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.`最好的顺序不是相反的顺序吗?但我的主要问题是我是否需要询问实例是否有角色,然后使用它来设置凭据(如果它有角色)?这是我不确定我需要做什么以及如何做的地方。我确实尝试了一个简单的测试来创建一个空配置,基本上只设置区域并在具有角色的实例上运行它,它似乎“有效”但在这种情况下,我不确定是否需要显式设置作用与否。awsSDK.Config{    Region:      awsSDK.String(a.region),    MaxRetries:  awsSDK.Int(maxRetries),    HTTPClient:  http.DefaultClient,}我只想确认这样做是否正确。我的想法是我需要做类似下面的事情   role = use sdk call to get role on machine   set awsSDK.Config { Credentials: credentials form of role,            ...       }   issue service command with returned client.任何更多的文档/指针都会很棒!
查看完整描述

2 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

我从未使用过 go SDK,但如果未从任何其他来源找到凭据,我使用的 AWS SDK 会自动使用 EC2 实例角色。

如果您使用这样的代码,SDK 将按以下顺序查找凭据:

  1. 在环境变量中。(不是 .NET SDK,如前所述。)

  2. 在中央凭证文件中(~/.aws/credentials 或 %USERPROFILE%.awscredentials)。

  3. 在现有默认的特定于 SDK 的配置文件中(如果存在)。如果您在进行这些更改之前一直在使用 SDK,就会出现这种情况。

  4. 对于 .NET SDK,在 SDK Store 中(如果存在)。

  5. 如果代码在 EC2 实例上运行,则通过 Amazon EC2 的 IAM 角色。在这种情况下,代码从实例元数据服务中获取临时安全凭证;凭据具有从与实例关联的角色派生的权限。


查看完整回答
反对 回复 2023-06-05
?
偶然的你

TA贡献1841条经验 获得超3个赞

在我的应用程序中,当我需要连接到 AWS 资源时,我倾向于使用具有特定预定义 IAM 角色的访问密钥和秘密密钥。假设我有这两个,我用来创建会话的代码是:

awsCredentials := credentials.NewStaticCredentials(awsAccessKeyID, awsSecretAccessKey, "")
awsSession = session.Must(session.NewSession(&aws.Config{
            Credentials: awsCredentials,
            Region:      aws.String(awsRegion),
        }))

当我使用它时,这两个键通常被指定为环境变量(如果我部署到 docker 容器)。

查看完整回答
反对 回复 2023-06-05
  • 2 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信