Even service principle acts like an independent entity as a user in Fabric. So the service principle must have 'role assignment' in order to gain access to the workspace.
You can also create a new workspace using the service principle, in which case you will have complete control. Note: Please add at least one user as admin when you create using service principle or else that workspace will be inaccessible in UI. Role assignments can be done by service principle.