登录
首页 >  Golang >  Go问答

在Goland IDE 中配置 aws-vault 并运行

来源:stackoverflow

时间:2024-03-01 11:48:25 292浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《在Goland IDE 中配置 aws-vault 并运行》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

事实证明,尝试在 google 上搜索 Goland 与 Golang 的信息非常困难。我正在搜索的所有内容似乎都是为了代码或切换配置文件而返回的。这一切都已经处理好了。

我有一个项目正在接收 json 并处理数据。我能够使用运行和调试按钮以默认配置构建和调试我的 go 代码。

这改变了我正在从 S3 提取数据文件,并且需要对我们使用 aws-vault 的 aws 进行身份验证。

我遇到的问题是在此配置中没有其他设置。 build 之后有一个 Run 的复选框,但我无法说“使用 aws-vault 运行”

现在我必须在 build 后取消选中 Run 并添加标志

-gcflags="-N -l" -o app

然后使用 Shift + Option + fn + F5 附加到该进程。

我正在寻找的是能够在 IDE 中运行 aws-vault exec user -- go ...,这样我就不需要构建步骤、运行步骤,然后手动附加到进程。 p>

正确答案


至少找到了我认为更好的解决方案,允许您运行使用 aws sdk 的任何代码(包括 cli)。

我使用的是 mac,所以 osascript 对我有用,但提示可以是您的操作系统支持的任何内容。或者,如果您有 yubikey,则可以使用 prompt=ykman

~/.aws中有2个文件configcredentials,它们告诉sdk如何进行身份验证。

要在 ~/.aws/config 中启动,每个角色都有一个所需的配置文件。默认角色是您假设所有其他角色都是代码将升级到的角色。

[default]
output=json
region=
mfa_serial=arn:aws:iam::

[profile dev-base]
source_profile=default
role_arn=arn:aws:iam::

[profile staging-base]
source_profile = default
role_arn = arn:aws:iam::

[dev]
region = 

[staging]
region = 

注意:一个奇怪的地方是我必须将角色与区域一起放入此文件中,以便该角色存在。

如果您不使用 java,则可能不需要此操作。您可以将完整角色放在 ~/.aws/credentials 中的上一个文件中(但我也使用 java,所以这是我的设置)

[dev]
ca_bundle = /Users//.aws/cert.pem
credential_process=aws-vault exec dev-base -j --prompt=osascript

[staging]
ca_bundle = /Users//.aws/cert.pem
credential_process=aws-vault exec master-base -j --prompt=osascript

注意:这里的一个奇怪之处是指定了 ca_bundle。 golang 中的某些内容对使用 aws_ca_bundle 不满意,但这似乎有效。

现在,当代码运行时,会显示一个弹出窗口,要求提供 mfa 令牌。

此外,运行任何 aws cli 命令时,您可以使用您想要使用的 --profileaws s3 ls --profile dev ,并且会出现弹出窗口。

在使用 aws-vault 时手动编辑这些文件可能不是最好的方法,但目前这就是我们管理它们的方式,这似乎提供了最佳的工作流程。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《在Goland IDE 中配置 aws-vault 并运行》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>