登录
首页 >  Golang >  Go问答

GitHub REST API 的 AWS 凭证困扰

来源:stackoverflow

时间:2024-02-08 16:03:25 393浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《GitHub REST API 的 AWS 凭证困扰》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我有用Go编写的rest api,它使用AWS SES发送电子邮件。当我使用 docker 在本地部署 api 时,电子邮件将通过本地主机环境中的 SES 发送。现在我已经为 api 编写了集成测试,它在本地系统中完美运行,所需的 aws 凭证也放置在默认位置 ".aws/credential"。我已将源代码放在 github 存储库中。我希望这个集成测试能够针对提出的每个 PR 执行,我也为此设置了 github 操作。所有 api 都可以在 github 中运行,除了使用 AWS SES 的 API,因为它没有可用的 aws 凭证。我尝试了几种方法在 github 中提供 aws 凭证而不暴露它们,但到目前为止没有任何效果。因此需要一些有关如何执行此操作的帮助。


正确答案


您的应用程序无法找到凭证,因为它存储在主机的 .aws/credential 路径中,而不是在您的容器中

有多种解决方案可用于解决此特定问题,其中之一是只需将 .aws/credential 从主机安装到 docker 容器。

如果您使用 docker run 命令,请使用 -v

docker run -v ${home}/.aws/credentials:/root/.aws/credentials:ro  ...

或者如果您使用的是 docker-compose,请指定 volume 下的路径映射:

version: '3'
services:
  app:
    image: your_image
    volumes:
      - ${HOME}/.aws/credentials:/root/.aws/credentials:ro

但是,上述解决方案并不是最好的解决方案,从安全角度来看它存在风险。

我建议将凭据作为环境变量传递。

终于介绍完啦!小伙伴们,这篇关于《GitHub REST API 的 AWS 凭证困扰》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

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