Manage PermissionTarget and roles
masterA PermissionTarget defines which users, groups, or repositories have specific access levels to patterns of artifacts.
Predefined Roles
PermissionTarget.ROLE_ADMIN:ADMIN + DELETE + DEPLOY + ANNOTATE + READPermissionTarget.ROLE_DELETE:DELETE + DEPLOY + ANNOTATE + READPermissionTarget.ROLE_DEPLOY:DEPLOY + ANNOTATE + READPermissionTarget.ROLE_ANNOTATE:ANNOTATE + READPermissionTarget.ROLE_READ:READ
Granular Permissions
You can combine permissions using the + operator (e.g., PermissionTarget.ROLE_READ + PermissionTarget.ROLE_WRITE).
ADMIN: Change permission settings for the target.DELETE: Delete or overwrite artifacts.DEPLOY: Deploy artifacts or populate caches.ANNOTATE: Annotate artifacts/folders with metadata.READ: Read and download artifacts.
from dohq_artifactory import PermissionTarget
# Create a new permission target
permission = PermissionTarget(
artifactory_,
"rule",
repositories=["repo1", "repo2"],
users=["user1"],
groups=["group1"],
includes_pattern="com.mycompany.myproject1.**",
excludes_pattern="com.othercompany.projectX.**",
)
permission.create()
# Modify permissions
permission.add_user("user3", PermissionTarget.ROLE_ADMIN)
permission.add_user("user4", PermissionTarget.ROLE_READ + PermissionTarget.ROLE_WRITE)
permission.add_group("group3", PermissionTarget.ROLE_DEPLOY)
# Apply changes
permission.update()