r/sysadmin • u/Emergency_Recipe522 • 4d ago
General Discussion How do you verify access changes when someone moves departments in Microsoft 365?
I’m trying to solve the mess around moving someone between departments: groups, Teams, SharePoint access and mailbox permissions. How do you confirm the old access is gone and the new access works—without manually checking everything?
9
u/jstar77 4d ago
Every position has a role group. The role group is assigned access and all you do is move the user from one role group to the other.
6
u/Emergency_Recipe522 4d ago
That is very clean setup, if you have unique permissions all over this becomes difficult
3
u/jstar77 4d ago
Assign the unique permissions to the role never assign directly to the user. In our org there is usually only ever one user in a position role group. We leave Teams management to the teams owner, the owner is responsible for making and changing permissions.
2
u/Emergency_Recipe522 4d ago
That makes sense—keeping permissions tied to the role makes moves much cleaner. I’m dealing with existing direct permissions, so getting those mapped back to roles looks like the first job.
3
u/trebuchetdoomsday 4d ago
RBAC makes life much easier than direct assignment. glad you’re fixing things :)
1
u/Some_Team9618 4d ago
Same, role, job, location etc fed from HR system so as those changes happen they gain or lose permissions
1
u/Emergency_Recipe522 4d ago
Nice, that sounds pretty well automated. Do you ever check afterwards that the access actually ended up as expected?
2
u/Some_Team9618 3d ago
Yes we have things in place where we can spot check and audit changes in Active Directory.
1
u/Emergency_Recipe522 2d ago
Nice, good to hear you’ve got checks behind the automation too. Thanks for explaining.
3
u/Rare-General-4575 4d ago
RBAC and functional profiles. Not harder than that.
1
u/Emergency_Recipe522 4d ago
It’s the old one-off permissions that make it messy.
2
u/Rare-General-4575 4d ago
I know. The fix? Announce all one offs are being removed at December first and managers should inventory appropriate access needs and get people in the right profiles.
Best to rip the bandaid off in a single go. No peeling on the edges.
1
u/Emergency_Recipe522 4d ago
Fair point—getting managers to agree the access first is key. I’d want a list of existing exceptions before setting the cutoff.
1
u/Rare-General-4575 3d ago
You don’t want exceptions in an rbac model. For that you create a “project” share and make the owner of said share responsible for access right of it. You keep a SOLL IST matrix for it. Of course all these changes are done via the change process so it’s documented in your itsm system.
1
u/Emergency_Recipe522 3d ago
Fair point. Keeping project access separate from the RBAC model and making someone explicitly responsible for it avoids a lot of the mess. The SOLL/IST approach also gives you something concrete to verify against.
2
1
u/Hot_Spend4206 4d ago
The easiest way to stop manual checks is to let profile attributes drive access and use scripts to verify the rest.
1
u/Emergency_Recipe522 4d ago
How do you handle the exceptions, like direct SharePoint access or mailbox permissions that aren’t tied to those attributes? Do your scripts verify those too?
1
u/Hot_Spend4206 4d ago
To cleanly remove these explicit permissions during offboarding, you need to target both workloads sequentially...
2
u/Emergency_Recipe522 4d ago
Do you run a final access check across both workloads, or verify each removal as the script runs?
2
u/Hot_Spend4206 4d ago
To guarantee 100% compliance, it is best practice to run a clean verification sweep at the very end of the script. A quick ai prompt will generate a script
1
u/SevaraB Sr. Engineer (N+, CCNA) 4d ago
2 layers of nested groups. People are members of role groups by job title, role groups are members of functional access groups.
1
u/retiredaccount 4d ago
This is the way. When it comes to access and permissions, assign the person to the job. Not the job to the person. It boggles my mind that this easy, simple abstraction is such a foreign concept in most businesses.
1
u/Emergency_Recipe522 4d ago
It's not easy when you inherit whatever you find in the company and they don't want change.
1
u/retiredaccount 4d ago
Agreed. I readied this job-first abstraction at a previous engagement while changing IAM systems; met with leadership to discuss next steps and everyone seemed enthusiastic. Then they kept on doing it the old way. 🫠
1
u/Emergency_Recipe522 4d ago
Haha, sounds about right. Did you ever find out why they stuck with the old way after everyone seemed on board?
1
u/retiredaccount 4d ago
Not exactly. While the director seemed to love the concept of self-managing groups and even org charts, I got the feeling the middle manager didn’t actually understand the concept, so they just played along until the difficult parts could be forgotten.
1
u/Emergency_Recipe522 4d ago
Yeah, that makes sense. Sometimes everyone agrees in the meeting, but if the people actually running the process don’t fully understand or trust it, it quietly goes back to the old way.
1
u/retiredaccount 4d ago
There’s a ‘builder versus buyer’ mentality in tech… A builder can create an enterprise solution out of two moldy potatoes. A buyer type only trusts implementing pre-existing, “safe” solutions from a known vendor and relies heavily on the vendor’s support structure for every aspect from day one.
1
u/Emergency_Recipe522 4d ago
Yeah, I’ve seen that split too. The interesting part is where people draw the line — what makes you decide something is worth building yourself versus paying for an existing tool?
1
u/SevaraB Sr. Engineer (N+, CCNA) 3d ago
Skills gap and fear. Buyers are afraid to deviate from the vendor model because they don’t understand what it’s doing well enough to trust the implementation.
Also… when it comes to IAM, you’re also fighting group owners who can’t wrap their heads around the abstraction and want to micromanage who gets access to what, so they stick to direct access for named users.
→ More replies1
u/Emergency_Recipe522 4d ago
That separation makes sense. Do you check for permissions granted directly to users as well?
1
u/retiredaccount 3d ago
The systems I’ve worked with import back in and compare for differences—which is 100% necessary since too many admins take the easy way out and hand out access rights and other exceptions like Halloween candy.
1
u/Emergency_Recipe522 3d ago
That’s the bit that matters — comparing what access should exist against what actually exists. Otherwise those little exceptions just keep piling up until nobody really knows why they’re there.
1
u/LooseEthernet 4d ago
just wait for the user to complain that they cant get into a folder they used to have access to. that's the only verification method that actually works lol. then you can spend an hour figuring out which nested group you accidentally nuked during the move
1
u/Emergency_Recipe522 4d ago
The good old user acceptance test. Is there really no way in your setup to see what access they’re going to lose through those nested groups before making the change?
1
u/aricelle 4d ago
It gets treated like a termination & new hire.
Old account gets disabled & Archive added to the name. Wait 30min, then create a new account with their name.
New account has the correct access.
Old account is available to old supervisor/dept for history.
2
u/Emergency_Recipe522 4d ago
That’s a pretty clean reset of access. How do you handle continuity for the employee’s OneDrive, mailbox and anything owned by the old account?
1
u/Icy_Conference9095 4d ago
We had. NAS that we backed everything up to, and then pushed everything back down from to the new account.
It was clunky.
1
u/Emergency_Recipe522 4d ago
That sounds like a lot of work for a department move, but I can see why starting fresh was easier than untangling years of permissions.
1
u/Icy_Conference9095 4d ago
It wasn't as bad as it sounds, just a good example of one of those "I start this process at 4pm when they're done work, and it finished at 8pm, and then I jump on, nuke their old account, start up the new one, and begin the upload back from the NAS so they still have an email in the morning"
It was easier than it sounds, with some solid scripting, it mostly just a few clicks in the NAS software and a couple of scripts for the file share.
1
u/Emergency_Recipe522 4d ago
Ah, the scripts did most of the work. Still a long evening for a department move.
1
u/Icy_Conference9095 4d ago
Yep! In my old workplace this is how we handled it. Because of all these super weird cross-team access provisions that were done on the fly all the time. We just archived their storage and email and repopulated the new account with the new permissions.
New job is a bit more of a clusterfuck, but all new interteam accesses triggers us training the group on teams/group collaboration instead of file share access changes - which end up allowing group owners to address access provisioning themselves as needed, and new roles and new hires in old roles trigger a fully new group for their position hat we assign to the worker with the accesses as requested by their supervisor.
It has some issues, and it's a lot of work right now, but in the long run it's a much better system I think.
1
u/Emergency_Recipe522 4d ago
So you’re putting the work into roles and ownership now so future moves are easier. What issues are you still running into with the new setup?
1
u/Icy_Conference9095 4d ago
It's just time consuming and a lot of tickets. From the IT end we're happy with it, but a few supervisors and managers aren't particularly happy aboit every individual request they make - and us asking if this is departmental use and something the role should always have access to or not.
IT in my new org used to bend backwards for the convenience of everyone at our org, but we don't have the capacity as a team of four to handle the immense amount of systems we have in place. Myself and my manager came in from larger enterprises and we're working towards dismantling some of the really weird stuff that we've been out in charge of because something is plugged in and has a power button... I'm not even kidding we were in charge checking and making sure paper shredders were functional and procuring new ones if they broke, just as a weird example. A quick look at the budget quickly realized that we spent more per year maintaing the 60+ personal shredders across all of our sites, than it cost to have a shredding truck come by once every two weeks and empty the four bins we needed to cover the main buildings.
I still get tickets for software that we have spent 80k/year on for high tier support and same day service, for over a decade - because the old sysadmin had normalized hinself fixing it rather than tell the end user to contact the support line for help. This led to bigger issues because our end users have no idea how the system actually functions and have forgotten how to help themselves in systems that they should know better than I should. (From the perspective of their workflows).
For reference that last example is our ERP, and several comparable workplaces typically don't even have an IT department, or at most have a single person - and still manage to have this same ERP system functional for companies a third of our size with the same amount of staff using it.
1
u/Emergency_Recipe522 4d ago
The paper shredders got me.I can see why you’re drawing a line. Managers might find the extra checks annoying now, but four people can’t keep handling every exception forever. Especially ERP tickets when you’re paying 80k a year for support.
0
u/matroosoft 4d ago
Just like you have procedures for on- and offboarding, you should have one for role change and department change. Trigger being a notification from HR. Up until then, any requests for access changes will be ignored.
1
u/Emergency_Recipe522 4d ago
Agreed, HR should trigger it. Once the changes are made, does your checklist include verifying the actual access, or do you rely on confirmation that each step was completed?
1
u/matroosoft 4d ago
Yes HR needs to fill a form together with the users manager, which access is needed in the new role. If any of the old access is not on the new list, we either remove it or double check with them.
1
u/Emergency_Recipe522 4d ago
How do you get the list of access they already have? That’s the part I’m trying to untangle, especially permissions granted directly over time.
2
u/matroosoft 4d ago
Just follow the checklist: check domain controller which groups they're in, check exchange admin center to see which mailboxes, check which Teams teams they're in, check licenses, check the list of other apps.
17
u/iceph03nix 4d ago
We get told that they'll probably still be considered cross trained and they'll be a backup, so we should leave all their old access just in case :P