如何允许匿名访问本地存储库,同时保持远程存储库的身份验证

穆罕默德Kashif
2021-09-01 20:09

在本文中,我们将了解如何允许对所有本地存储库进行匿名访问,同时保持远程存储库所需的身份验证。

用例是保留本地存储库的匿名请求,并将身份验证层添加到远程存储库,这样就可以跟踪所有从远程源下载工件的人。这个用例可以通过以下方式实现,

  • 移除该匿名用户的所有权限。检查Artifactory 6中“Admin→Security | Users”下的匿名用户。x和管理→身份和访问|
    Artifactory 7中的用户。x, basically the anonymous user is assigned to Anything and Any Remote permission target by default. Remove the permissions assigned the anonymous user and once removed, the anonymous user page should look like below

用户添加图片

  • 创建一个“Permission-for-local-repositories“权限目标和检查”任何本地存储库,添加匿名用户并赋予匿名用户读取权限,以便匿名请求可以读取这些本地存储库中的工件并访问所有本地存储库。

用户添加图片

  • 创建一个“Permission-for-remote-repositories“权限目标和检查”任何远程存储库,添加相关的用户/组,并赋予他们读取、注释和部署/缓存的权限,这样这些用户或这些组中的用户就有了对所有远程存储库的读取权限,可以在这些远程存储库缓存下缓存工件,

用户添加图片

  • 通过这种方式,所有本地存储库都保留了所有匿名访问,远程存储库则需要身份验证。
  • 此外,对于使用身份验证的Nuget远程存储库,应该启用“Force authentication”选项。