我有一个问题,我不知道如何处理。
我在Gitlab中有两个仓库,RepoA和RepoB。我的Gitlab用户有3个SSH密钥,一个来自我的笔记本电脑,另外两个来自与这两个仓库一起工作的VM(VMA和VMB)。通过这种方式,我可以轻松地从VM和笔记本电脑中进行拉取和推送。
在RepoA中,我有一个共同协作者也在工作。他已经将RepoA分享给了他的Gitlab账户,并且他有访问VMA以推送和拉取代码。他永远不应该访问RepoB,所以我的问题就来了。如果他能够猜出RepoB的URL,他就可以在已经有访问权限的VMA上拉取并查看它,因为Gitlab没有一种粒度细致的方式添加每个项目的SSH密钥。我可能在这里错过了什么非常合理的东西,但我只是看不到。
我该如何使我的协作者在VMA上仅能够访问RepoA。
一个hack的方法是在Gitlab中生成第三个用户,仅处理VMA,并将VMA的SSH密钥引入Gitlab中的此用户帐户。但我相信肯定有更好、更干净的方法。