Artifactory allows you to control access to repositories via Permission Targets.
A permission target is comprised of a set of physical repositories (i.e. local or remote repositories - but not virtual ones), and a set of users or groups with a corresponding set of permissions defining how they can access the specified repositories. Include and Exclude patterns give you finer control over access to a specific set of artifacts within the repositories of the permission target.
For example, you can create a permission target that allows user "Builder" and group "Deployers" to read from and deploy artifacts to the
libs-releases repository. Using the Include Pattern and Exclude Pattern settings you could implement finer control over specific artifacts within that repository if so desired.
To manage permissions, in the Admin module go to Security | Permissions.
Creating a Permission Target
To create a Permission Target, in the Permissions Management page click "New" to display the New Permission screen.
You must provide a unique name for each Permission Target (limited to 64 characters).
Select the repositories to which this Permission Target applies. You can use the Any Local Repository or Any Remote Repository check boxes as a convenience.
Include and Exclude Patterns
Using an "Ant-like" expressions, you can specify any number of Include or Exclude Patterns as a comma-separated list in the corresponding entry field (limited to 1024 characters in total).
In the example above, source files have been excluded from the Permission Target named "Not sources" using the appropriate Exclude Pattern.
User and Group Permissions
Using the corresponding tabs, you can set the permissions granted to a user or a group. Double-click the user or group you want to modify to add it to the list of Principals, and then check the permissions you wish to grant.
You cannot add a user or group with admin privileges to a Permission Target
Since an admin is privileged with all permissions, you cannot add a user or group with admin privileges to a Permission Target.
The available permissions are as follows:
|Allows changing the permission settings for other users on this permission target|
|Allows deletion or overwriting of artifacts|
|Allows deploying artifacts and deploying to caches (i.e. populating caches with remote artifacts)|
|Allows annotating artifacts and folders with metadata and properties|
|Allows reading and downloading of artifacts|
Permissions are additive and must be explicitly granted. If a checkbox is not set for a user, then that user does not have the corresponding permission.
Permission Target Managers
By assigning the Manage permission to a user, you may designate them as the "Permission Target Manager". These users may assign and modify permissions granted to other users and groups for this Permission Target. In the Artifactory UI these users have access to the specific users they are allowed to manage. This can be useful on a multi-team site since you can delegate the responsibility of managing specific repositories to different team members.
Preventing Overwriting Deployments
You can prevent a user or group from overwriting a deployed release or unique snapshot by not granting the Delete permission. Non-unique snapshots can always be overwritten (provided the Deploy permission is granted).
You can examine permissions in the context of repositories, users or groups.
In the Artifacts module, select repository you want to view in the Artifact Repository Browser and then select the Effective Permissions tab to see the permissions granted to users or groups for this repository.
By User or Group
For any user or Group, you can view the list of Permission Targets that it is associated with (whether directly or through membership in a group).
For users, In the Admin module, under Security | Users, select the user you wish to examine. The User Permissions are displayed at the bottom of the user's page.
You can similarly view Group permissions in the Admin module under Security | Groups.