嗨,我正在为我的员工建立一个新的发展环境。
我如何限制对特定 AWS EC2 实例的 Github 存储库/代码库的访问,我的员工将使用这些实例作为远程开发环境,而不是在他们的本地机器上开发。
就像 Facebook 中的 Nuclide 一样,您可以通过远程 SSH 连接到您的虚拟机并在本地工作,但使用 Github 您可以通过 gitub.com 导出代码或简单地克隆到另一台 PC?我需要某种限制。
我准备更改为私人 git 提供程序,但不确定哪个支持这些功能。
提前谢谢了
嗨,我正在为我的员工建立一个新的发展环境。
我如何限制对特定 AWS EC2 实例的 Github 存储库/代码库的访问,我的员工将使用这些实例作为远程开发环境,而不是在他们的本地机器上开发。
就像 Facebook 中的 Nuclide 一样,您可以通过远程 SSH 连接到您的虚拟机并在本地工作,但使用 Github 您可以通过 gitub.com 导出代码或简单地克隆到另一台 PC?我需要某种限制。
我准备更改为私人 git 提供程序,但不确定哪个支持这些功能。
提前谢谢了
如果您受到合规限制,您应该就合适的实施方法咨询您的法律团队、开发团队和审计师。完全防止可以访问您的源代码的开发人员泄露数据是很困难的,虽然这是一个非常好的问题,但不适合堆栈溢出。
归根结底,这是关于两个不同的问题:
请注意,从检测到阻止操作有一系列选项。
TLDR可以访问具有 Git 源代码的计算机的用户很可能可以访问 SSH 密钥或密码,从而允许他们连接 GitHub 并在本地计算机和远程环境之间移动数据。关于防止数据泄露的好读物
请咨询您的内部法律/安全团队以定义流程和限制。您还可以联系 Git 提供商,他们通常可以提供合规性和 SDLC 方面的最佳实践。
Github Enterprise 通过 SSH 密钥提供 IP 限制
每当您通过管理控制台向 GitHub Enterprise 添加 SSH 密钥时,您还可以指定允许或拒绝来自哪些 IP 地址的连接。
我会为您需要的实例(开发人员)的数量分配一组弹性 IP,然后只允许从该组 IP 访问每个开发人员密钥。例如,如果您有 4 个开发人员,则分配 4 个 EIP,例如52.44.1.1,52.44.1.2,52.44.1.3,52.44.1.4
. 然后在 Github 管理控制台中,from
将如下所示:
from="52.44.1.1,52.44.1.2,52.44.1.3,52.44.1.4" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYk7k1RM49DPq8UrWhO8bIgheqAZfjqXczCjRSHshq2/qt8tWBHeiLpgAUVYFoY5Hv3+JXvMkuFE4h7HZYUWp+xXVg63L0wosrq+cVo1od2ddwiyYsnUypguSqjNxRPQ4PGQoWCTGfTLLPh2Su1nHmAf/Z0fdZo3ojunLb42ErbvJ2cIWbM/PMzdEDpUMZyLrG1JL4tGVnSRweWoaFgK6EkfE+gkyytKPuOIZREVNrO4+awTXpLDqdC0h/FFmkQCrwEFqdsm6JPARfJKVnHm7RgedLN1cpFi9Jo7ZFu5dJPTbYBKnpwsmTQkJSahNVGGDO4fQUBdC9tcKUW0gvNkRR== GitHub Enterprise Admin User
通过这种方式,给定的实例可以通过已知的 IP# 启动,并且开发人员密钥将适用于任何给定的实例。