使用权限的最佳实践

沙尼•阿蒂亚斯
2021-01-25 08:27

ARTIFACTORY:使用权限的最佳实践

理解Artifactory中的权限是如何工作的是相当容易的,并且您不太可能在弄清楚如何授予几个用户所需的精确权限时遇到任何麻烦。这是说,知道最好的方法分配权限不明显。特别是,养成做准备的习惯很有帮助其中包含团队/项目的用户角色和权限仔细定义

然而,在我们提供一些之前方便的技巧,很少有要点,经常被我们的用户误解,我们想澄清:

  • 远程存储库可以通过两个不同的url -存储库名repository-name-cache。后者的函数和a一样当地的存储库,因为它只提供其中存在的那些文件。您不能将工件直接部署到远程存储库缓存中。如果您有一个远程存储库缓存,Artifactory将首先尝试从远程缓存。如果您的工件不在该位置,Artifactory将尝试从远程注册中心解析您的工件。分配给远程存储库的权限也将应用于其远程缓存

  • 将新文件从远程存储库的URL拉到远程缓存,执行此请求的用户必须具有部署/缓存许可。此外,如果存在这样的可能性,即给定的远程文件在不更改文件名的情况下发生更改(即,校验和更改),那么用户也需要这样做删除/覆盖许可。将这些权限授予所有用户(包括匿名用户)通常不会被认为是非常危险的,因为在意外删除缓存后,可以很容易地从其源重新填充缓存。

  • 权限链看起来像:用户>组>权限目标器>存储库。你可以直接给一个用户分配一个权限,它看起来像:“用户>权限目标器>存储库”。但是,这应该只用于特殊情况,例如在为匿名用户或打算由CI系统或REST API脚本使用的用户配置权限时。请注意:直接授予给定个人用户的权限将覆盖授予该用户的任何组权限。

  • 无法分配管理员权限自动

  • 决议进程、虚拟存储库使用各自存储库的权限。

至于最佳做法:

  • 试着去发现模式对于您的用户和/或项目来说是通用的。您通常会发现您的用户有角色在你的团队中定义类型和品种他们需要的权限。

  • 应该在您所定义的组的上下文中定义各个角色。可以创建您的组手动或者,根据所使用的身份验证方法,导入到Artifactory。例如,在使用LDAP时,您可以导入特定LDAP用户所属的组,并将该组分配给该组许可的目标。这将允许您自动授予用户特定权限。

  • 你会发现特定的项目或团队使用特定的存储库。这可以帮助您定义给定允许目标,因为您的项目将包含您的存储库列表。请注意,这些列表可能重叠,而且经常重叠。

  • 您选择的存储库不一定与您定义虚拟存储库的方式相匹配,因为这些存储库应该更多地与虚拟存储库管理的包类型相关。

  • 您授予的权限也将是分裂在远程存储库和本地存储库之间,因为远程存储库的用户需要具有缓存和覆盖权限。请注意:有些人认为授予删除缓存的权限并不是特别危险,因此,设置任何远程许可读/缓存/覆盖适用于所有人,包括匿名用户。唯一的例外是,如果您的任何远程存储库指向另一个Artifactory实例中的本地存储库,其中包含您不希望内部用户访问的敏感二进制文件。

发布日期:2016年10月6日

最后更新:2021年1月24日

关键词:最佳实践,权限管理