Enabling access to Klocwork projects
Enabling access to Klocwork projectsThis article covers:
Prerequisites
Tip: For help logging in to Klocwork Static Code Analysis, see Accessing Klocwork Static Code Analysis.
About access controlAs a security feature, Klocwork allows the Klocwork administrator to control who will have access to Klocwork, what level of access, and to what projects. Your organization chose an access control method for the projects_root from one of three choices: Basic, NIS and LDAP. These choices are described in Setting up access control. Basic, NIS, or LDAP access control: You can control access to integration projects in Klocwork Static Code Analysis. You define roles. A role is a collection of permissions. Until you assign the roles to users or groups to control their level of access, they will not be able to do anything with your Klocwork projects. NIS or LDAP access control: Users and groups already exist, and they can be changed only through NIS or LDAP administration. You can, however, create and manage additional groups. If you have NIS or LDAP access control, but you wish to set up your own groups as well, see Creating and managing groups. How the groups you create differ from NIS or LDAP groups:
This means that in Klocwork Static Code Analysis it is possible to create a group, add NIS or LDAP users to the group, and assign roles to the created group. Custom groups remain after the Klocwork Server restarts and they update when LDAP information updates (for example, any users removed from LDAP also disappear from your custom group). Where do I start? For NIS or LDAP, you can begin by setting up roles. If you have Basic access control, begin by creating users. Logging in to Klocwork Static Code Analysis for the first time with Basic access control When Basic access control has been set up, when you log in to Klocwork Static Code Analysis, you need to enter the user ID of the user that set up access control, with no password. Creating and managing users (Basic access control)Prerequisite: The "Manage users" permission. If you have Basic access control, you must create users and, if you wish, groups, before you can define roles to apply to them. To create a user:
To delete a user:
To change a user's password:
Creating and managing groupsPrerequisite: The "Manage users" permission. With Basic, NIS, or LDAP access control, you can create your own groups, if desired. Groups can simplify administration, by letting you control access for several users at a time and by letting you delegate. Users can belong to more than one group. Users assigned to a group can have the same or different roles. You can assign users to groups or groups to users. When you are organizing many users, assigning users to groups makes more sense. When you are adding or deleting a single user, it might make more sense to start from the user. Note that if it is more efficient for you to apply a role to a group of users and then remove the role from one user, you have that option. See Assigning roles. If a user has left your organization or should no longer have access to this Klocwork projects_root, you can remove that user from the Users list so that they no longer have any access. You cannot delete users or groups from NIS or LDAP in Klocwork Static Code Analysis. You can delete users or groups that you have created in Klocwork Static Code Analysis. Tip: If you have a long list of users, the Search field makes locating accounts easier. You can enter just a few letters; you can also use a wildcard asterisk (*).
To create a group:
To add users to a group:
To remove users from a group:
To delete a group:
Setting up rolesPrerequisite: The "Manage roles" permission. A role is a collection of permissions. You can grant a permission to more than one role. Some permissions apply to the whole projects_root (to all projects). Some permissions can apply either to a specific project or to all projects. For example, one user might have permission to analyze only a specific project while another user might have permission to analyze all projects in the projects_root. Also note that permissions control what a user can access. For example, if a user is invited to a code review but receives a warning that they are unable to view, this indicates that they do not have the proper permissions for that project or file. In this case, they need to be given the proper permissions to access that project or file by the Project root admin.
Default rolesThe following table shows the roles that exist by default, and their default permissions. Tip: If you create custom roles, the implied permissions listed below for the Project root admin and Project admin roles are not available.
Note: When you create a project, you are assigned the role of Project admin by default.
Available permissionsPermissions that apply to the whole projects_root (all projects)
Permissions that can apply either to a specific project or to the whole projects_root (all projects)
Plan the roles your organization needsThink about who should be able to do what. What roles does your organization need? What permissions should each role have? Do different teams need different kinds of roles? Do you want team leaders to be able to change the roles you set up? Do you want developers to be able to change the status of detected issues? Every organization is different. In one organization, a user may do all of the tasks that are performed by several users in another organization. In one organization, developers may have complete freedom and responsibility for code quality; in another, there may be hierarchies. The roles you need may depend on how large your organization is and how long you have been using Klocwork.
Creating and managing rolesIf you create custom roles, the implied permissions for the Project root admin and Project admin roles are not available. To create a role:
To edit a role: Select the role you want to change from the roles list and select or deselect permissions. To delete a role: Select the role you want to delete from the roles list and click the Tip: You cannot delete the roles "Projects_root admin" or "Project admin".
Assigning rolesPrerequisite:
Tip: Users added to a group automatically inherit any roles assigned to the group.
There are a few ways to assign roles to users or groups, depending on your own permissions and whether you need to assign a role to just one or two users, or you need to make larger changes.
If you remove all roles from a user or group, that user or group no longer has access to the project or projects_root, but the user or group still exists in the database. What you need to communicateAccess control user IDs and passwords: Tell anyone to whom you have given access what user ID and password to use. In most large organizations, the system administrator in the IT department sets permissions and manages user IDs. Who can do what: Explain to users what their roles are. Tell them the paths to their projects and/or servers. Database password, if set: If you have protected the projects_root data with a password, give the password to build engineers and anyone using third-party reporting tools. |