権限の継承をコントロールする[オンライン・オンプレ]

2017/05/07

SharePointのカスタマイズプログラムでは、コンテンツに対する権限の継承を切って独自の権限を付与する場合があります。この権限の継承をコントロールする方法について記載します。

 

 

 SharePointでは、親から子へ権限が継承されます。つまり、サイトコレクションのトップレベルサイト→サブサイト→リスト→リストアイテムの順に、ユーザーに付与したアクセス権が継承されます。この権限の継承は、手動で切断することができ、サブサイト、リスト、リストアイテムに対して、親のアクセス権とは別の独自のアクセス権を付与することができます。

 

 

 

 どのユーザーにどの様な権限がついているかは、ACLで管理されますが、これはコンテンツデータベース内のテーブルとして存在しています。親から子へ権限が継承されている場合は、ACLレコード数の増加が無いため、データベースへの負荷が少ないのですが、権限の継承を切ると、ACLテーブルにその分のレコードが増えるため、データベースへの負荷が増します。

 この事から、権限の継承を切ることは「禁じ手」の様に言われていて、

「なるべく親の権限を継承したままで使うようにし、サイトコレクション、サブサイト、リストの構成をその様に設計すべし。」

とのことで、権限を継承することが推奨されています。

 

しかし、業務システムの開発においては、

 ・セクト間の秘匿性が高い。

 ・なるべく、自分に関係しないデータは表示しない。

 ・業務上何らかの条件が整うまでは、一般公開しない。

といった要件が発生することが多く、リストアイテム単位で権限の継承を切ることは、比較的、よく実施しています。また、当初は権限の継承のみで対応可能として設計したものの、業務が発展するにつれ、独自の権限設定が必要になるという事もあります。

 

 確かに、ACLレコードの増加によるデータベース不可は気になるのですが、過去の経験から言うと、リストに対して、全てのリストアイテムについて権限の継承を切って独自にアクセス権を付与したとした場合に、総リストアイテム数が、10,000件くらいまでは実用的な速度が出ていました。

(もちろん、サーバー性能/ネットワーク性能に依存しますので、保証の限りではありません。)

 

 ここでは、この権限の継承をコントロールする方法を記載します。

 

1.オンプレ

 

 権限の継承は、以下の様にして切ります。

 

 

ここで、引数に true を渡すと、親に付与されているアクセス権を引き継ぎますが、false ですと引き継ぎません。権限の継承を切るのが目的なので、通常は false を使用します。

 

 

 逆に、切った権限の継承を元に戻して、再度、親から引き継ぐ場合は、以下の様にします。

 

 

 

 アイテムが、親から権限を継承しているか、独自の権限を付与されているかは、以下の様にして調べます。

 

 

 

 

2.オンライン

 

 権限の継承は、以下の様にして切ります。

 

 

 

 切った権限の継承を元に戻して、再度、親から引き継ぐ場合は、以下の様にします。

 

 

 

アイテムが、親から権限を継承しているか、独自の権限を付与されているかは、以下の様にして調べます。

 

 

以上となります。

 

Share on Facebook
Share on Twitter
Please reload

RECENT POST
Please reload

Copyright© 2017  Aiprovide Corporation all Right Reserved.

  • Aiprovide Coroporation
  • Aiprovide Corporation