Not have enough privilege to complete Create operation for an Sdk entity.

The following error message is likely the least thought out requirement of MSCRM 4.0 and a common cause of frustration for developers in enterprise customers who are using the multi-tenancy features. 0x80040256: "Not enough privilege to complete Create operation for an SDK entity."

You get this error when attempting to register a workflow activity or plug-in into MSCRM 4.0, and you may think that to perform this customization, you need at least the System Customizer role. Well, you’re wrong—you need more than that. In fact, the highest role for an organization (System Administrator) isn’t even sufficient. You need to be a Deployment Administrator. This role is assigned at the server level, via the Deployment Manager tool, and grants that user full control over all organizations!

Here’s why I think this is poorly designed—threefold, in fact:

  1. I don’t want developers to see everything in MSCRM in live environments (that’s why the System Customizer role exists), but I do want them to perform customizations.
  2. If a developer works within a specific division or subsidiary with its own MSCRM organization, I certainly don’t want them to have access to other organizations on the server (security and stability concerns).
  3. Most importantly, I don’t want to extend server access to more people than absolutely necessary. Now that I need to configure users as Deployment Administrators occasionally, it means expanding that privileged group.

Anyway, here’s hoping MSCRM 5.0 fixes it! 😉