How security permissions checking is evaluated by Crucible ?
Asked by Yves Martin:

I am doing tests to restrict access to repositories thanks to an LDAP filter per repository.

Is the LDAP filter adds a restriction to the access by built-in groups or does the application applies a logical OR to evaluate if a user can access to a repository ?

I have troubles to test myself as my account has admin permissions and I have no access to test accounts in ActiveDirectory.

Documentation is out-of-date: available fields and snapshots no longer match with 2.7.x and 2.8.x versions

<https://confluence.atlassian.com/display/FISHEYE027/Permissions>

<https://confluence.atlassian.com/display/FISHEYE/Permissions>

By the way, documentation only explains how to fill in forms... but not what consequence it has on the security permission (logical AND or OR). Documentation should be improved so that it describes what happens in permissions checking according to different options in defaults or per repository settings.

<br />


Answers:
author: Felipe Kraemer
body: Hi Yves,

When you create groups of users in LDAP and sync them in FishEye, the groups to which the users belong will exist in FishEye as well.

Then, to restrict access to repositories to specific groups, you need to to Administration \> Repositories \> Click in the name of the repository \> Click on Permissions tab \> Choose the groups you'd like to grant access.
> Is the LDAP filter adds a restriction to the access by built-in groups or does the application applies a logical OR to evaluate if a user can access to a repository ?

FishEye adds a restriction to access repositories by groups that come from your LDAP.
> Documentation should be improved so that it describes what happens in permissions checking according to different options in defaults or per repository settings.

By configuring Repository Defaults, you will configure default permissions for all repositories at once. All repositories will have the same permissions configured. This is useful when you need to add and manage many repositories that have the same permissions. When you need to change a permission, you only need to change the repository defaults. All repositories permissions will automatically start using this new configuration.

Then if you have a specific repository that needs to have different permissions, you need to configure that repository to don't use the repository defaults (by unchecking the "Use repository defaults" checkbox). This will allow you to configure the permissions to this specific repository.

Please let us know if you have any further questions.

Cheers,  
Felipe Kraemer

comments: author: Yves Martin
body: OK. I have done the following setup on a repository:

* Apply "user" LDAP restriction with the query

  ```
  (&amp;(objectClass=person)(sAMAccountName=${USERNAME})(memberOf=CN=prj_MyProject,OU=Projects,OU=Groups,DC=mydomain,DC=com))
  ```

* Uncheck "Use repository defaults"

<br />

Now repository access is restricted.

But I have seen some strange errors in project's administration form.

My user has administrative permissions but is not allowed by repository restriction. As a result, the restricted repository does not appear in dropdown list to set it as project default repository.


Tags: ldap

permission