Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Confluence: How to remove space permissions of (inactive) users

Filip Labarque January 7, 2020

Hi,

 

I'm trying to create a script that will remove space permissions of inactive users.

This is what I got so far:

import com.atlassian.spring.container.ContainerManager;
import com.atlassian.confluence.user.UserAccessor;
import com.atlassian.confluence.user.ConfluenceUser;
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.internal.security.SpacePermissionManagerInternal;
import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.confluence.internal.security.SpacePermissionContext;

UserAccessor userAccessor = (UserAccessor) ContainerManager.getComponent("userAccessor");
def spaceManager = ComponentLocator.getComponent(SpaceManager)
def spacePermissionManager = ComponentLocator.getComponent(SpacePermissionManagerInternal)

def user = userAccessor.getUserByName('<username>')
SpacePermissionContext context = SpacePermissionContext.builder().build()
spacePermissionManager.removeAllUserPermissions(user, context);

 

But the script does nothing at the moment. Does anyone know how to remove space permissions of a user?

 

best regards,

Filip

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Lee Wonnacott
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 26, 2020

Hi Filip!

The SpacePermissionManager removeAllUserPermissions() method is used to remove individual space permissions from the specified user.

This means that if a user is a space administrator of 'Space A' then removeAllUserPermissions('example_user') would remove their individual administrator permissions for any space within your instance, but it would not remove any permissions that receive from a Confluence group they belong to. 

To do this you will need to remove the inactive user from any Confluence groups they belong to. We have an example script that displays how you can remove specified users from a group here.

Kind regards, 
Lee

Mauri Suomivuori January 27, 2021

Removing individual space permissions not given by groups would still be nice to know how. Since these are easily forgotten, and sometimes added ad hoc.

Essentially for longer instances of confluence many "individual" rights till exist on spaces even after they have lone gone from the company.

Also would be useful for any IDM project.

Lee Wonnacott
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 27, 2021

Hi Mauri! 

You can remove a user's permissions on a single space with the snippet linked here.

If you want to remove every space permission a user has then you can use the snippet here

I hope this helps but let me know if you have any other questions! 

Kind regards, 
Lee

TAGS
AUG Leaders

Atlassian Community Events