Tech Dynamics 365 (CRM)

Microsoft Dynamics 365 (CRM) を中心とした技術情報を提供しています。

サイトマップのメニューを非表示化する方法

こんにちは。

今回は、サイトマップに表示されているメニューを権限制御で非表示にする方法をご紹介します。

メニューを権限制御する方法はいくつかあり、ソリューションを抜き出してXMLを直接編集する方法もあるのですが、今回は「XrmToolBox」というツールを使用した方法で非表示にしてみようと思います。

今から実施するシナリオは、以下の通りです。
・営業担当者権限のユーザーがログインした場合のみ [設定] メニューを非表示とする
・[設定] の中にあるセキュリティの項目は、営業担当者もアクセスできるようにする
f:id:westcoastline:20180227015529p:plain

さっそく内容に入っていきますが、手順は次の3ステップに分けて説明していきます。
 STEP 1. XrmToolBoxの準備と接続
 STEP 2.セキュリティ項目の移動
 STEP 3.[設定]エリアの各項目に権限制御を追加


STEP 1. XrmToolBoxの準備と接続

まずはツールをダウンロードして使える状態にしていきましょう。
(1) XrmToolBoxを提供している以下のサイトにアクセスします。
www.xrmtoolbox.com

(2) [Download] ボタンをクリックしてZIPファイルを解凍します。
f:id:westcoastline:20180227015333p:plain

(3) [XrmToolBox.exe] を実行します。
f:id:westcoastline:20180227015710p:plain

(4) ツールが起動したら [Connect] をクリックします。
f:id:westcoastline:20180227015821p:plain

(5) [New connection] をクリックします。
f:id:westcoastline:20180227015905p:plain

(6) サイトマップを編集するサイトのURLを入力して [Go] をクリックします。
f:id:westcoastline:20180227015921p:plain

(7) Dynamics 365 Online にアクセスできるユーザーのユーザー名とパスワードを入力して [Connect] をクリックします。
f:id:westcoastline:20180227015935p:plain

(8) 接続に成功したら下図の画面が表示されるので、好きな名前をつけて [Finish] をクリックします。
f:id:westcoastline:20180227020001p:plain

(9) [SiteMap Editor] をクリックします。
f:id:westcoastline:20180227020015p:plain

(10) [Load SiteMap] をクリックします。
f:id:westcoastline:20180227020033p:plain

(11) [Default] を選択して [OK] をクリックします。
f:id:westcoastline:20180227020053p:plain


STEP 2.セキュリティ項目の移動

XrmToolBoxの準備ができたら、次はシナリオの要件にある「セキュリティ項目のみ表示できるようにする」をクリアしていこうと思います。
(1) 下図のように [設定] エリアにあるセキュリティを選択後、右クリックして [Copy] をクリックします。
f:id:westcoastline:20180227020107p:plain

(2) [設定] エリアは非表示にしてしまう予定なので、先ほどコピーしたセキュリティ項目を他のエリアに移動します。今回は例として [営業] エリアのツール グループに移動させようと思いますので、下図のようにツリーをたどり、[Group (Tools)] を右クリックして [Paste] をクリックします。
f:id:westcoastline:20180227020124p:plain

(3) ツール グループの下にセキュリティ項目が配置されたことを確認します。
f:id:westcoastline:20180227020138p:plain


STEP 3.[設定]エリアの各項目に権限制御を追加

最後に、設定エリアを権限制御で非表示にする作業を実施します。営業担当者ユーザーでログインした際、[設定] エリアには以下の項目が表示されていますので、それらを対象に権限制御を行っていきたいと思います。
・システム グループの「セキュリティ」
・システム グループの「リレーションシップ インサイト
・プロセス センター グループの「Microsoft Flow」
・アプリケーション グループの「マイ アプリ」

(1) まずはリレーションシップ インサイトに権限制御を付与します。下図のようにリレーションシップ インサイト項目を選択後、右クリックして [Add Privilege] をクリックします。
f:id:westcoastline:20180227020158p:plain

(2) Privilege が追加されたら、右側のプロパティ画面に権限制御を行うエンティティの物理名と、どの権限で制御するかを入力していきます。下図のように設定すれば、変更履歴(new_change_history)エンティティの作成(Create)権限を持っているユーザーにのみ、この項目が表示されるようになります。
(現在、営業担当者のセキュリティロールから変更履歴エンティティの作成権限を剥奪した状態に設定しています)
f:id:westcoastline:20180227020210p:plain

(3) 上記の手順を残りの項目全てに同じように設定したら、[Update SiteMap] をクリックして設定を反映させます。
f:id:westcoastline:20180227020222p:plain


動作確認

うまく設定が完了していれば、[営業] エリアにセキュリティ項目が表示され、かつ [設定] メニューは非表示となっているはずです。
f:id:westcoastline:20180227020236p:plain