Dynamics CRM 2013/Fall '13 アクセスチームの紹介

みなさん、こんにちは。

今回は Microsoft Dynamics CRM 2013 および、Microsoft Dynamics CRM
Online Fall '13 の新機能であるアクセスチームを紹介します。

アクセスチームの概念

これまで Microsoft Dynamics CRM のレコードに対するセキュリティモデルは、
レコードの所有者と部署、およびセキュリティロールの組み合わせで決まる
権限と、それとは完全に別に共有機能で付与される権限がありました。

セキュリティモデルでは個人、部署、所属または配下の部署、組織全体という
4 段階の設定が行えますが、上下関係にない異なる部署に所属するユーザーに
レコードのアクセス権を付与するには共有を利用する必要がありました。

そこで導入されたチームは、部署階層に関係なくユーザーを所属させることが
でき、共有先または所有者として利用できるため、コラボレーションシナリオ
で活用できましたが、レコードの所有者を変更しないといけないことや、共有
の場合、実際にどのチームに共有されているか、共有ダイアログを開かいない
限りわからないという問題がありました。

アクセスチーム

アクセスチームは上記チームの共有問題を解決するために導入された機能で、
以下の機能を提供します。

- レコード上にチームに所属するユーザーの一覧を表示
- 事前に設定したアクセス権を自動で継承
- 伝播の設定を利用して、子エンティティにもアクセス権が設定
- 自動でチームが作成されるため、管理者の負担を軽減
- 複数のアクセスチームをレコードに設定可能

また上記の様に自動で作成されるチーム以外にも、明示的に作成したチームを
アクセスチームとすることもできます。この場合、チームは所有者にはなれず
セキュリティロールをアサインすることもできません。常に共有のターゲット
にのみ設定が可能です。

アクセスチームの設定

アクセスチームを利用するには、以下の設定が必要です。

1. エンティティでアクセスチームの有効化
2. アクセスチームテンプレートの作成
3. 任意のフォームに対してアクセスチームの配置
4. 実際のレコードでアクセスチームに対してユーザーを追加

早速試してみましょう。

エンティティに対するアクセスチームの有効化

1. アクセスチームを有効にしたいエンティティのカスタマイズを開きます。
今回は取引先企業を利用してみます。

2. アクセスチームにチェックを入れます。保存後、公開します。

image

アクセスチームテンプレートの作成

1. 設定モジュールから管理 | アクセスチームテンプレートを選択します。

image

2. 新規ボタンをクリックします。

3. 名前に Account Team と入力し、エンティティで取引先企業を選択します。
取引先企業がドロップダウンに表示されない場合は、エンティティレベルで
アクセスチームの有効化が行えていません。

4. 説明にアカウントチーム用のテンプレートを入力し、アクセス権より
読み込みを選択します。

image

5. 保存して閉じます。

任意のフォームに対してアクセスチームの配置

1. 任意の取引先企業のメインフォームをフォームエディタで開きます。

2. アクセスチームを挿入したい場所を選択し、挿入タブからサブグリッド
を選択します。名前にAccountTeamと入力します。ラベルにはアカウント
チームと入力して、ラベルをフォーム上に表示にチェックを入れます。

3. レコードですべてのレコードの種類、エンティティでユーザー、既定の
ビューで関連付けられたレコードチームメンバーを選択します。

4. チームテンプレートの項目が表示されるので、先ほど追加した Account
Team を選択します。

image

5. 設定ボタンをクリックしてサブグリッド追加の画面を閉じます。

6. フォームを保存して、公開します。

アクセスチームにユーザーを追加

1. 任意の取引先企業レコードを開きます。

2. 複数のフォームがある場合、アカウントチームを追加したフォーム
を開きます。

3. アカウントチームサブグリッドを確認します。通常の関連の様に、
ユーザーを追加できます。

image

4. レコードを保存します。

5. アカウントチームとして追加ユーザーでログインして、レコードが
開けることと、読み込みだけが行えることを確認します。

6. 伝播設定によって関連するレコードに対してもアクセス権が設定
されます。サンプルを利用した場合、関連する取引先担当者レコード
も表示できることを確認します。

※ユーザーのセキュリティロール権限で読み込み以上の操作が行える
場合、より強い権限が適用されますので、自分のレコードのみが操作
できる権限を持つユーザーなどで試してください。

複数のアクセスチームの利用

上記手順を繰り返して、新しいアクセスチームテンプレートを作成し、
より強い権限を付与した上でフォームに関連付けてください。複数の
アクセスチームが使えることでチームごとに異なる権限を設定できる
メリットがあります。

アクセスチームの確認

上記手順でアクセスチームを追加した場合、実際のチームはシステムが
自動的に作成します。作成されたチームは以下の方法で確認可能です。

1. 高度な検索を表示します。

2. エンティティよりチームを選択します。

3. すべての条件を削除するか、以下の条件を利用します。

image

4. GUID を名前に持つチームを開きます。

5. 画面より追加したユーザーが登録されていることを確認します。

image

6. このチームを削除した場合、レコードの画面はそのままですが
チームに設定したユーザーの情報だけが削除されます。その後
画面よりユーザーを追加すると、新規にチームが自動作成されます。

まとめ

アクセスチーム機能を利用することで、今までの機能に加えて、より
柔軟なセキュリティ管理が行えるようになりました。自動でチームが
作成されるため、チーム構成について事前の考慮も不要です。

ただし要件にあったセキュリティモデルを導入することが大切である
ことに代わりはありませんので、部署や共有モデルも引き続き利用が
必須です。まずは実際の環境にてお試しください。

- 中村 憲一郎