はじめに
今更ですが、SharePointの【SPBasePermissions列挙型】についてまとめます。権限マスクを設定する事で、PowerShellやC#などで書いたコード上で権限制御をすることが出来ます。
権限一覧
以下の表は、SharePoint Onlineで使用されている日本語名に対応しております。
(SharePointServer 2010と比較したら少し変わっていました...)
権限(英語) | 権限(日本語) | マスク値 |
---|---|---|
EmptyMask | ー | 0 |
ViewListItems | アイテムの表示 | 1 |
AddListItems | アイテムの追加 | 2 |
EditListItems | アイテムの編集 | 4 |
DeleteListItems | アイテムの削除 | 8 |
ApproveItems | アイテムの承認 | 16 |
OpenItems | アイテムを開く | 32 |
ViewVersions | バージョンの表示 | 64 |
DeleteVersions | バージョンの削除 | 128 |
CancelCheckout | リストの動作を無視 | 256 |
ManagePersonalViews | 個人ビューの管理 | 512 |
ManageLists | リストの管理 | 2048 |
ViewFormPages | アプリケーションページの表示 | 4096 |
Anonymous SearchAccessList |
ー | 8192 |
Open | 開く権限 | 65536 |
ViewPages | ページの表示 | 131072 |
AddAndCustomize Pages |
ページの追加とカスタマイズ | 262144 |
ApplyThemeAnd Border |
テーマと枠線の適用 | 524288 |
ApplyStyleSheets | スタイル シートの適用 | 1048576 |
ViewUsageData | Web Analytics データの表示 | 2097152 |
CreateSSCSite | セルフサービス サイト作成の使用 | 4194304 |
ManageSubwebs | サブサイトの作成 | 8388608 |
CreateGroups | グループの作成 | 16777216 |
ManagePermissions | ー | 33554432 |
BrowseDirectories | ディレクトリの参照 | 67108864 |
BrowseUserInfo | ユーザー情報の閲覧 | 134217728 |
AddDelPrivate WebParts |
個人用 Web パーツの 追加/削除 |
268435456 |
UpdatePersonal WebParts |
個人用 Web パーツの 更新 |
536870912 |
ManageWeb | Web サイトの管理 | 1073741824 |
AnonymousSearchAccessWebLists | ー | 2147483648 |
UseClientIntegration | クライアント統合機能 の使用 |
68719476736 |
UseRemoteAPIs | リモート インターフェイスの使用 | 137438953472 |
ManageAlerts | 通知の管理 | 274877906944 |
CreateAlerts | 通知の作成 | 549755813888 |
EditMyUserInfo | 個人のユーザー情報の編集 | 1099511627776 |
EnumeratePermissions | ー | 4611686018427380000 |
Full Mask | ー | 9223372036854775807 |
使用例
SharePointのツールバーをカスタマイズする時に使用する[CustomAction要素]の[Rights属性]などで使用することができます。
例えば、【フルコントロール】権限のユーザーのみにツールバー上にボタンが表示されるようにしたい場合は、
<CustomAction Rights = "ManagePermissions"></CustomAction>
または、
<CustomAction Rights = "33554432"></CustomAction>
にします。
【アイテムの表示】、【アイテムを開く】、【開く権限】の3つを指定したい場合は、Mask列の数字をそれぞれ足した数字を指定します。
1+32+65536=65569
<CustomAction Rights = "65569"></CustomAction>
参考
SPBasePermissions Enum:
https://docs.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.spbasepermissions
CustomAction Element:
https://docs.microsoft.com/en-us/sharepoint/dev/schema/customaction-element