CSP and Delegated Admin security concerns: MFA is great, but what about the several outstanding Microsoft limitations?
Bringing-forward from https://www.yammer.com/office365partners/?show_login=true#/Threads/show?threadId=145300852449280... (Why the multiple communities here? Which is the go-forward platform here, Yammer or microsoftpartnercommunity.com ?)
How to support CSP customers while protecting the security of their tenant? Critical for security-conscious customers, and/or those with high-security requirements. Permissions granted by delegated admin are too far-reaching, do not allow for fine-grained access, and even the ability to audit use is unclear or non-existent.
This is something I had first started looking at just over a year ago. It doesn't look like anything has improved since, but customers are understandably only becoming increasingly concerned with this.
Here is some feedback we just received earlier today from a current customer looking to move to CSP licensing:
> Even with a NDA with <direct CSP provider> I am not at all comfortable making a third party of a third party delegated admins for our environment and granting them the ability to access all our cloud data which is what the terms state we’d be agreeing to. ... I really like the benefits of CSP otherwise so if there’s some other way to make this work we’d probably still do it. I also have reservations about a vendor having these all-encompassing permissions. I understand it can be needed for some admin tasks and troubleshooting but I don’t like how much of a free for all Microsoft makes it.
(I do believe there is some confusion in the above, in that our direct CSP provider / reseller would not have delegated admin - but only access to contact, subscription, and billing details. However, even this would be good to have further detailed in a format that we can share with concerned customers.)
If I were in the customer's place, I would absolutely be asking the exact same questions, and imposing the same requirements - and have so in prior organizations.
I have several other customers I've been working with, who I have not, in good faith, been able to recommend putting into CSP and the required delegated admin for - given the concerns outlined here.
We currently have a few hundred customers enrolled in CSP - and have an opportunity to bring even more into the CSP program, but the concerns outlined here do not help with the effort.
A number of specific points and concerns:
1) The list of roles and permissions that can be applied through Partner Center are available at https://docs.microsoft.com/en-us/partner-center/permissions-overview . Of these, only "Admin agent", "Helpdesk Agent", and maybe "Sales agent" apply to the customer tenants. "Admin agent" is basically the equivalent of "Global Administrator" within a customer tenant, and "Helpdesk Agent" is effectively a "Helpdesk Administrator" (Password Administrator). The admin roles from a tenant perspective are documented at https://docs.microsoft.com/en-us/office365/admin/add-users/about-admin-roles . As an O365 admin in my own organization, I can delegate permissions to others through at least 262,144 different combinations of the 18 customized administrator roles currently available in my tenant. (This increases to 38 roles available and nearly 275 billion combinations when using the roles available in Azure AD.) As a partner with delegated admin to a customer, there are only 2: "Everything", or "Helpdesk Agent" (or none). See also: https://www.yammer.com/office365partners/#/Threads/show?threadId=119473804279808 and https://www.yammer.com/office365partners/#/Threads/show?threadId=804328021 .
2) Everything is "all or nothing". We also have well over 100 engineers in our organization (not counting back office staff, etc.). To assign either "Admin agent" or "Helpdesk Agent" to one of our staff, means that they have that same permission across a few hundred customers. There is no way to filter a staff member's access to only one customer, or ideally a group of customers. (While we do have some additional flexibility in granting access through guest accounts in Azure AD, these permissions do not carry over to / are not usable in O365.)
3) We could consider falling-back to the use of extended and manually-reviewed audit logging as a compensating control. However, there are many limitations here - including that all logging appears to be held within each individual customer tenant only - and for us to review delegated admin activity from our partner account as a whole, it appears that we'd need to query each and every one of our customer tenants. Further concerns are raised here at https://www.yammer.com/office365partners/#/Threads/show?threadId=62199238885376 (unanswered).
While I'm on the topic, the "pretty wicked security hole" documented at https://office365.uservoice.com/forums/264636-general/suggestions/33233917-powershell-mfa-for-csp-delegated-admin-privileges also still needs to be addressed, well over a year later now. Can someone from Microsoft please review and respond to this UserVoice entry? Everyone else - please vote...
What are other CSP partners doing in terms of security controls to meet customer needs and expectations as it relates to CSP licensing? (We do have our own internal security program that I am a part of - which includes even stronger MFA controls across our entire organization than we'd otherwise been able to have approved, partially because of the customer security concerns here.)
As per https://blogs.technet.microsoft.com/uspartner_ts2team/2016/04/30/removing-the-csp-as-delegated-admin-in-office-365-customer-tenants/ , it looks like the simplest answer may to just be to have needing customers remove the delegated admin permissions. However: 1) Is this still accurate and working, 3 years later? And 2) we'll need to determine what limitations, if any, may then exist that would prohibit us from providing CSP licensing in this model, even if we then are not able to directly assign new licenses to users, or otherwise provide direct support to the customer as per CSP terms (at least not without having other customer-provided access given to us).
Just looking at this again now, it looks like we *might* be able to put the "Admin agent" and "Helpdesk Agent" roles behind the new "Azure AD entitlement management". This is less than 2 months old, still in preview, and what Privileged Identity Management really should have been all along, in my opinion. It does require Azure AD Premium P2 (or its parent EMS E5 offfering).
Do I understand correctly from the perspective of a CSP's customer, that there's currently no way to use CSP subscriptions without providing full admin rights to the whole subscription? I.e. without giving the CSP unrestricted access to all Azure resources in that subscription?
@zoltanlehoczky : That is not correct. Partner can provision licenses and Azure subscriptions without having permissions. However, with the CSP being the trusted service provider for the customer (at least, this is the idea) the question is if this would make sense.
- In order to sell something into a customer tenant, the Partner needs to set up a reseller relationship with the customer tenant. This reseller relationship can be set up with or without delegated admin permissions. However, in order to be able to open support tickets on behalf of the customer (since customer can not do this themselves), the Partner needs to have delegated admin - if not present, the Partner can just send the relationship invite again, this time with delegated admin. And customer can remove it later without impact on the billing of licenses. This is where the discussed new "GDAP" comes into play - currently delegated admin means full global admin, in the future this can be more restricted.
- When Partner provisions an Azure subscription, the Partner will by default always be added as "Owner" on the Azure subscription, even when no delegated admin is established. Without delegated admin, the Partner could not set/customize permission on the subscription, but control services. This "Foreign Principal" created automatically on the Azure subscription permissions can be removed and/or re-added using different set of permissions, e.g. support request contributor. Again, the Partner needs some form of access to be able to open support tickets.
However, for Azure the Partner also needs some form of access 24/7 to receive a margin (Partner Earned Credit) - it does not need to be owner though. Again, the idea of acting as CSP is that the CSP plays a crucial role in managing the customer environment, so some form of access for the specific Azure services the Partner manages should usually be acceptable. GDAP, when this goes GA;: will currently not change the Azure behavior, but this might be addressed as well at a later time..
There are more details, tips & tricks to discuss for specific customer scenarios - simply open an advisory request with my team: https://aka.ms/technicalservices to discuss with a Partner consultant.
Thanks for the detailed reply.
Let's suppose that the customer only wants a billing relationship, nothing else (no management of services, no support tickets, etc.). What's the way to do this?
The subscription created by the Partner will have them as an Owner of it, which as far as I understand gives them unrestricted access (see docs). This access can be removed after provisioning but you're saying "Partner also needs some form of access 24/7". What other form can this be, if not an Owner nor delegated admin? Or rather, what's the role with the minimal level of access that's sufficient? Simply adding a user of the Partner with the Support Request Contributor role would suffice?
I agree with the need for granular levels of delegated roles/permissions, one thing I have not been able to figure out though, even with the current setup is if it is at all possible for a partner to be granted access to a customers sharepoint sites for management of document libraries etc.
While the original post is about limiting control (and I'm all for that as it's best practice) as a delegated global admin, I can access the sharepoint admin page but I cannot for example, get into their sharepoint site nor can I find any way for the customer to be able to add myself as a member/owner with their permission in order to be able to manage these things for them as a delegated administrator.
Anyone know of a way to do this? it would make our lives a lot easier if there is a way to enable this functionality such that when asked, we do not have to login as the clients tenant global admin account just to make some changes or check something for them and would rather be able to have not only access but granular control for the engineers as discussed in the OP.
@ITGDaryl With GDAP there is also a broader effort from the product teams to make delegated admin work in the respective admin portals (M365 Security & Compliance Center, Teams as a few examples). If have not heard about specific improvements for Sharepoint though - the main issue is that delegated admin do not exist in the customer tenant, and thus the Sharepoint sites can not identify the users.
You can still onboard the pilot, which would also allow you to give feedback: https://docs.microsoft.com/en-us/partner-center/announcements/2021-december#9
Should have updated this earlier, but here it is - GDAP preview now available:
While we wait for lighthouse to become a solution for this, we looked into other ways to achieve the goal. You can do most things using B2B guest access and client targeted URLs (appending the client tenant to the admin URL):
Azure - https://portal.azure.com/customer.com
Intune - https://endpoint.microsoft.com/customer.com
Security Center - https://security.microsoft.com/customer.com
Exchange - https://firstname.lastname@example.org
SharePoint - https://customer-admin.sharepoint.com/
Unfortunately this doesn't seem to apply for the 365 Admin Center, which is where you would want
Helpdesk staff to be performing User / Exchange tasks, rather than jumping between Azure AD and Exchange (but at least it works, and achieves the goal your client is after).
Here is the process:
1. customer accepts MSP invitation
2. customer removes the admin / helpdesk agent privileges from the partners area of the customers portal (this keeps the association and you can still procure licensing for them, but removes the default partner permissions)
3. create two or more groups in customers Azure AD; one for your Helpdesk and one for Admins (with assign roles to group enabled)
4. assign the roles to the Helpdesk group (change to fit your needs or use custom roles):
Exchange Recipient Administrator
5. assign roles to the Admin group as required from this list (you can use more admin groups to assign roles to different support groups if required):
Conditional Access Administrator
Cloud App Security Administrator
Azure AD Joined Device Local Administrator
Privileged Role Administrator
Azure Information Protection Administrator
6. assign Azure subscription roles to the Admin groups as required:
7. you can also use these groups to assign permissions to certain Azure objects, using the IAM blade under the resource
8. Use Bulk Invite in customers Azure AD users blade to invite all your support staff to the customer tenant as guests
9. Add the invited guest accounts to the groups you created
After a support staff member accepts the invitation, they can open the URLs mentioned above using their standard user account to perform tasks in a customer tenant.
Not perfect, but it does work until MS refines lighthouse.
Looks like the first (public) use of this functionality to bulk compromise the clients of a Partner (or in this case even worse, the CSP disti to multiple Partners)? https://www.theregister.com/2021/07/07/synnex_rnc_microsoft_attack/
Synnex have been emailing clients/partners asking them to remove their delegated admin access immediately.
In light of a very similar thing happening via Kaseya last weekend it is now time for Microsoft to close this crazy risk ASAP.
Have there been any improvements to this situation since the last post? From a customer perspective, I am not comfortable granting delegated global admin to partners. In fact, I agree with previous posters who point out that this betrays even basic security practice and common sense. Any alternatives?
@jschw78 Not yet. Alternatives are as discussed here - create a user account in the customer tenant to do administration, and only establish/allow delegated admin when Partner needs to escalate a problem to support.
The overarching problem with this solution is that Microsoft forced users to enable MFA for ALL accounts on their primary tenant in order to retain our partnership with Microsoft, yet the workaround you propose completely bypasses those obligations in that we don't need to enable MFA for these newly created global admins on our tenants. If we do enable it, we need one for every employee we have in order to use MFA, and keep the client protected. Otherwise, we are simply creating unprotected global admin accounts on every tenant that are a significant vector of brute force attacks.
GDAP is fine if that's what the bigger customers of Microsoft want, but it doesn't solve anything for partners, doesn't make anything simpler or more secure, and adds significant levels of complexity to manage customers.
It's a poor concept.
The solution here IMHO is to make the advanced auditing and alerting features available in Azure part of every base package so the customers (and partners) can get the alerts they need to know when an account has been breached or logged in, and we can create automation around that. Upcharging for securing the environment you've set up is pretty bold. At least if alerts are available, we all can help keep O365 secure, no?
I was looking forward to participating in the GDAP program, but was disallowed because I'm an indirect reseller, like most people. The only participants in the pilot now are likely larger orgs who don't see the SMB picture that was the foundation of your customer base.
Just some food for thought.
@VNJoe : Thank you for your honest feedback. Of course, there is no need to use GDAP, feel free to continue using admin accounts for each customer tenant, AzureAD Security Defaults are enabled for most customer tenants so they can get those alerts you are seeking for free and so non-MFA protected accounts are only available if you bypass the basic security recommendations.
I did not propose the "idea" of using per-customer user accounts as a better workaround, it seems you did misunderstood the context of why I did mention this as one option. And I also think that you misunderstand the concept of GDAP and overestimate the complexity, I'm talking daily to Partners working with SMB customers using the same concept with regard to Azure Lighthouse and are interested in GDAP for the same reason. Your decision of course.
And a final note: Partners are going to continue what you mention, use a global admin account on our customer's tenants instead of attempting to configure 15 roles on hundreds of clients... bypassing this entire process. I haven't used my partner account in years because of how useless it's become.
Again - I really can't understand why there is still no soluton or even notes about possible solutions? 2 years have passed from initial post. Sorry but MS finds time and resources for pointless product rebranding projects but not for critical issue.
And for suggested workaround - I would be more than happy to ask MS to explain to customers why they have to pay for partners' users if they will not grant admin rights for partner.
Sorry, I really can't understand so numb attitude from Microsoft side regarding so serious topic.
For me as Dynamics partner current topic begins to be obstacle to take customers to cloud. But that is what Microsoft wants and where he expects partners should focus.
From customer perspective:
I always have to explain any bigger customer why they need to grant us permissions what in theory allow is to do almost everything. Half of them accept that and half not. For example no international companies grant us such permissions cause they have higher security standards and don't let us see their whole AD. So we have to find alternative solutions.
From Dynamics partner perspective:
We have 60 employees who are serving Dynamics customers on everyday basis. They need to access customer environments and it's possible through Partner Central where are listed all our Dynamics SaaS customers - some of them smaller, some bigger, some members of the exchange etc. And there is no limitation where our people can access. I hope MS understands to what kind of data actually all these people can access and what can be the worst scenario if somebody has bad intensions. Or is just curious. It's highly confidential data starting from financial statements till sales companies pricing information or manufacturing companies self-cost formulas.
OK, the alternative is that Dynamics partner has no delegated rights and will be defined in ERP as ordinary user but then the partner's user is not free of charge anymore. Majority of customer can't understand why they have to pay for partner's users to be able get consultation service.
So I really hope that this topic finds at least some kind of solution asap and keeps improving continuously.
@Leho : As mentioned in before discussion, this is already being worked on.
If you want to give feedback: Join the Partner Center API and SDK Early Adopter Program - Partner Center app developer | Microsoft Docs (not only applicable to API topics, this is where you will learn about upcoming improvements first and where you can give feedback to the PMs)
@AlexCBrewer & All others: This might be of interest for you: https://techcommunity.microsoft.com/t5/small-and-medium-business-blog/announcing-microsoft-365-lighthouse-for-managed-service/ba-p/1698181
This might be the first step in removing some of the limitations and visible effort by the PGs to address specific MSP scenarios in a better way. There is also more to come specifically for CSP Partners, though it will take a while until something will be shared.
@JanoschUlmer Thanks for the mention.
I have seen Lighthouse and we have registered for access to the preview, although at this stage it looks like not much more than a reporting dashboard on the Intune device estate of our clients. I can't see anything, as yet, for AAD user reporting and nothing with regards to actual management on client tenants.
Whilst I do see the benefits Lighthouse will bring us, it does not solve the problems highlighted in this and other threads about how our delegated admin permissions do not give full global admin rights over client tenants which is critical for proper full MSP offerings