Column / Field level security

%3CLINGO-SUB%20id%3D%22lingo-sub-52473%22%20slang%3D%22en-US%22%3EColumn%20%2F%20Field%20level%20security%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-52473%22%20slang%3D%22en-US%22%3E%3CP%3EHello%20Folks%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIs%20it%20possible%20to%20restrict%20some%20people%20from%20viewing%20%2F%20accessing%26nbsp%3Bcertain%20columns%20on%20a%20sharepoint%20list%20based%20on%20role%20%2F%20permissions%3F%3C%2FP%3E%3CP%3EWe%20have%20seen%20this%20available%20in%20Lotus%20Notes%20and%20Im%20aware%20this%20is%20not%20possible%20on%20on-premise%20but%20was%20wondering%20if%20a%20similar%20functionliaty%20is%20now%20available%20on%20O365.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-52473%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3ELists%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESharePoint%20Online%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESharePoint%20Server%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-52599%22%20slang%3D%22en-US%22%3ERe%3A%20Column%20%2F%20Field%20level%20security%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-52599%22%20slang%3D%22en-US%22%3E%3CP%3EYou%20will%20find%20a%20lot%20of%20articles%20on%20the%20internet%20solving%20this%20problem.%20Be%20aware%20that%20none%20of%20them%20actually%20apply%20security%20to%20the%20underlying%20data%20store.%20A%20custom%20form%20will%20hide%20fields%2C%20but%20will%20not%20prevent%20users%20from%20seeing%20the%20data%20using%20the%20OOB%20SharePoint%20views.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-52485%22%20slang%3D%22en-US%22%3ERe%3A%20Column%20%2F%20Field%20level%20security%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-52485%22%20slang%3D%22en-US%22%3E%3CP%3EYou%20can%20use%20form%20design%20tools%20such%20as%20InfoPath%2C%20PowerApps%2C%20Nintex%20Forms%20to%20accomplish%20this%20type%20of%20functionality.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-52478%22%20slang%3D%22en-US%22%3ERe%3A%20Column%20%2F%20Field%20level%20security%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-52478%22%20slang%3D%22en-US%22%3ESharePoint%20OnPremises%20and%20SharePoint%20Online%20share%20the%20same%20code%20base%20and%20as%20Jared%20has%20said%2C%20SharePoint%20has%20never%20had%20column%20%2F%20field%20shared%20security...however%20you%20could%20achieve%20this%20by%20means%20of%20custom%20development%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-52477%22%20slang%3D%22en-US%22%3ERe%3A%20Column%20%2F%20Field%20level%20security%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-52477%22%20slang%3D%22en-US%22%3E%3CP%3EUnfortunately%2C%20there%20is%20no%20column%2Ffield%20based%20security%20in%20SharePoint.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
Frequent Contributor

Hello Folks,

 

Is it possible to restrict some people from viewing / accessing certain columns on a sharepoint list based on role / permissions?

We have seen this available in Lotus Notes and Im aware this is not possible on on-premise but was wondering if a similar functionliaty is now available on O365.

 

6 Replies

Unfortunately, there is no column/field based security in SharePoint. 

SharePoint OnPremises and SharePoint Online share the same code base and as Jared has said, SharePoint has never had column / field shared security...however you could achieve this by means of custom development

You can use form design tools such as InfoPath, PowerApps, Nintex Forms to accomplish this type of functionality.

You will find a lot of articles on the internet solving this problem. Be aware that none of them actually apply security to the underlying data store. A custom form will hide fields, but will not prevent users from seeing the data using the OOB SharePoint views.

@Skanda Ramana Suryanarayana 

Yes you could manage it. unless...

1. create a non public view and hide the column you want to protect

2. set a permission without manage the list and can not create personal view

3. add the user to this permission and remove the default permission.

 

then the user can not see the column

I realize this is an old thread but if it helps other's in the future, the only way to do this is to setup separate lists, one which has the column and the other which does not. Then use Power Automate or Event Receivers to synchronize information between the two lists. This is the only true way of "mimicking" column level permissions.
HTH!