Gitlab分享了跑步者的安全性疑问

时间:2019-07-18 14:11:12

标签: amazon-web-services gitlab gitlab-ci amazon-elastic-beanstalk gitlab-ci-runner

我的计划是使用GitLab管道来构建Maven应用程序并将其部署到AWS Elastic Beanstalk。在研究过程中,我找到了this页。

  

如果您使用的是gitlab.com,则默认情况下可以使用一个共享运行器。请注意,此运行程序与其他用户共享,这意味着您可能必须等待直到另一个用户的构建完成,无法扩展,还意味着您可能不使用共享的运行程序构建,其中包括可能暴露的变量

我很困惑。所有构建都在docker内部完成,据我所知,无法查看我的代码,部署或构建工件的凭据。那么在我的情况下使用共享运行器安全吗?我只想确保我用于部署和构建jar的代码,凭据/密钥是安全的。

示例代码:

development:
  type: deploy
  environment: production
  script:
  - mkdir ~/.aws/
  - touch ~/.aws/credentials
  - printf "[eb-cli]\naws_access_key_id = %s\naws_secret_access_key = %s\n" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" >> ~/.aws/credentials
  - touch ~/.aws/config
  - printf "[profile eb-cli]\nregion=ap-southeast-1\noutput=json" >> ~/.aws/config
  - eb deploy funwitheb-production
  only:
  - master

2 个答案:

答案 0 :(得分:1)

搜索了一段时间后,我找不到任何基于Gitlab-docs的可靠证据,但我也从未在共享运行器上执行作业时真正读取其他用户的变量。

我也找不到与此相关的任何GitLab问题(例如,某人“偶然地”看到了别人的var),因此从安全/隐私角度来看,它看起来还不错。

答案 1 :(得分:0)

我已将电子邮件发送给文章作者。 文章来自2016年。此信息不是最新的。因此,可能这不再是问题。 这里是更多信息: https://gitlab.com/gitlab-org/gitlab-runner/blob/master/docs/security/index.md

  

以非特权模式运行时,可以认为Docker是安全的。为了做到这一点   设置更安全,建议以用户(非root)身份在Docker容器中运行作业   禁用了sudo或已放弃SETUID和SETGID功能。