Open棟梁Project - マイクロソフト系技術情報 Wiki

-[[戻る>CRMのカスタマイズ]]

* 目次 [#v5d71fe2]
#contents

*概要 [#p806dd82]

**[[集中管理モデル>CRM セキュリティモデルの作成]] [#i7f6c8fb]
特権(アクセス許可)
+特権にアクセス レベルを設定、
+部署やチームを作成、ユーザを追加し、
+セキュリティ ロールを使用する。

**補完モデル [#bcfc8c3b]
-[[フィールド セキュリティ>#k2db064d]]
-[[アクセス チーム テンプレート>#ja35cc5e]]

**監査機能 [#x336e564]
データやシステム構成(設定、セキュリティ構成)に加えられた変更・変更したユーザを記録する。

***メリット [#w54a88d8]
-カスタマイズ作業内容の把握、プロセスに従って作業しているかを確認できる。
-弱体化したセキュリティ構成変更を特定するのに役立つ。
-設定を変更前の値に戻す場合に役立つ。

***デメリット [#s5cf9a3f]
-SQLServerに設定が必要になる。
-追加データが生成され運用コストが増加する。

*フィールド セキュリティ [#k2db064d]
-システム エンティティ、カスタム エンティティのフィールドの表示・編集等のアクセスを制限

-レコード レベルのセキュリティ ロールとは異なり、~
より詳細なフィールド レベルのユーザ アクセス許可を制御

**スコープ [#k7750cd5]

***クライアント [#da359422]
すべてのクライアント
-PC用
-タブレット用
-電話用
-Outlook用

***表示・編集方法 [#haa7ada7]
すべての表示・編集方法
-レポート
-簡易表示
-グラフ
-フィルタービュー
-データ インポート ウィザード
-監査ログ、重複データ検出
-SDKからのアクセス

**実装方法 [#jadb0ba3]
[[フィールド カスタマイズ フォームでフィールド セキュリティを有効にできる。>CRM フィールドのカスタマイズ#vf242885]]

**フィールド セキュリティを有効にした場合 [#a3dbf19a]

***動作 [#ra9ce7d4]
-システム管理者しかアクセスできなくなる。

***UIの変更 [#ad0925a6]
-フォーム エディター~
ラベルに鍵マークが表示され、一部のユーザはアクセスできないフィールドであることをシステム カスタマイザーに知らせる。

-フォーム~
ラベルに鍵マークが表示され、一部のユーザはアクセスできないフィールドであることをユーザに知らせる。
--編集アクセス許可が無い場合、~
フィールド横に南京錠マークが表示され、読み取り専用であることをユーザに知らせる。
--表示アクセス許可が無い場合、~
南京錠マークに加え、フィールド値が****で表示され、読み取り不可であることをユーザに知らせる。

-ビュー
--表示アクセス許可が無い場合、~
フィールドは空になる?

**フィールド セキュリティ プロファイル [#i267de9a]
システム管理者以外のユーザにアクセス許可を与える。

***設定方法 [#z4d91cf8]
-アクセス許可の種類
--読み取り:フィールドのデータを参照可能。
--更新:アップデート時にフィールドのデータを入力可能。
--作成:インサート時にフィールドのデータを入力可能。

-アクセス許可の設定方法
--ユーザやチームをフィールド セキュリティ プロファイルに追加する。
--フィールド セキュリティ プロファイルにフィールドと対応するアクセス許可を設定する。

***システム管理者フィールド セキュリティ プロファイル [#i927620a]
このプロファイルは、

-すべてのフィールド セキュリティを有効にしたフィールドへのアクセス許可がある。

-ユーザ・チームの追加
--システム管理者ユーザ・チームが自動的に追加される。
--その他、任意のユーザ・チームを手動で追加できる。

-削除不可能
--プロファイル自体
--プロファイルに追加されたシステム管理者ユーザ・チーム

-ソリューションのフィールド セキュリティ プロファイル一覧に表示されない。

***フィールド セキュリティ プロファイルの作成 [#la9d720a]
-フィールド セキュリティ プロファイルの作成
--フィールド セキュリティを有効にしたフィールドを含むソリューションを開く
--ソリューション エクスプローラーで[フィールド セキュリティ プロファイル]をクリックする。
--メニューバーで[新規]をクリックする。
--新しいプロファイルの名前・説明を入力する。
--ツールバーの[保存]をクリックする。

-フィールド セキュリティ プロファイルにユーザ・チームを追加
--フィールド セキュリティ プロファイルのナビゲーション ウィンドウで[ユーザ] or [チーム]をクリックする。
--メニュー バーの[追加]をクリックする。
--プロファイルに追加するユーザ・チームを選択する。
--[選択]をクリックし[選択したレコード]ボックスに追加。
--[追加]をクリックする。
--手順を繰り返してプロファイルにユーザ・チームを追加する。

-フィールドのアクセス許可の設定
--フィールド セキュリティ プロファイルのナビゲーション ウィンドウで[フィールドのアクセス許可]をクリックする。
--アクセス許可を変更するフィールドを選択する(複数選択可能)。
--メニューバーの[編集]をクリックする。
--アクセス許可の種類([読み取りを許可]、[更新を許可]、[作成を許可])の~
ドロップダウンリストから[あり] or [なし]を選択する。
--[OK]をクリックする。
--手順を繰り返してフィールドにアクセス許可を設定する。

-[フィールド セキュリティ プロファイル]ツール バーの[保存して閉じる]をクリックする。

**セキュリティ ロールとフィールド セキュリティ [#x7f87b0d]

***セキュリティの対象と制御方法 [#x3f52f70]
特定のレコードのフィールドに対してユーザに許可されるアクセスは、~
以下の3種類のセキュリティの対象と制御方法をANDしたものになる。

|/|対象|制御方法|h
|1|エンティティ|[[セキュリティ ロール>CRM セキュリティモデルの作成#j4894418]]|
|2|レコード|[[共有>CRM セキュリティモデルの作成#i8b10bd9]]|
|3|フィールド|フィールド セキュリティ プロファイル|

***AND [#h2eb50a7]
-セキュリティ ロール・共有は、フィールド セキュリティを拡張しない。

-共有はセキュリティ ロールのスコープを拡大するが、
--ユーザのアクセス許可は拡張しない。
--アクセス レベルは拡張しない(ユーザ レベル以上が持っていない特権は変更できない)。

-フィールド セキュリティは
-レコードの特権(アクセス許可)を拡張しない。
-レコードのアクセス レベルを拡張しない。

*アクセス チーム テンプレート [#ja35cc5e]
-アクセス チームを作成し同僚をレコードに簡単にリンクすることで通常持たないアクセス許可を与える。
-[[共有>CRM セキュリティモデルの作成#i8b10bd9]](アクセス レベルは適用されない)に似ているが、こちらの方が中央のアクセス許可の定義を容易に適用可能。

**共有の問題解決 [#x4f2b64f]
アクセス チーム テンプレートは、以下の共有の問題を解決する。

***問題 [#l0b4a602]
-共有の度に、共有するユーザに[共有]ダイアログ ボックスを使用してアクセス許可を付与する必要がある。
-[共有]ダイアログ ボックスを開かないと、共有されたレコードに誰がアクセスできるか判断できない。

***解決 [#gcc6d635]
[共有]ダイアログ ボックスを開く必要がない。

-システム カスタマイザーの用意したアクセス許可セットを使用して、~
共有するユーザに迅速にアクセス許可を付与することができる。

-迅速に、共有レコードにアクセス可能なユーザの確認と編集ができる。
--レコードに対するアクセス権を持つユーザの一覧を出力できる。
--特権を持つユーザは、一覧からのユーザとアクセス権を変更できる。

**アクセス チーム テンプレートの構成 [#p7cbe63d]
-エンティティのアクセス チームを有効にして変更を公開する。
-アクセス チーム テンプレートを作成してアクセス許可を定義する。
-エンティティのフォームでユーザ追加して表示するサブグリッドを追加する。
-このサブグリッドは、1つのアクセス チーム テンプレートに関連付けられる。

***アクセス チーム テンプレートの設定内容 [#p9672e7c]
-名前
-説明
-アクセス権
--削除
--追加
--,etc(セキュリティ ロールや共有で称されるアクセス許可と同じ)

-対象エンティティ
--1つのエンティティに複数のアクセス チーム テンプレートを作成できる。
--この最大値は、PowerShellで変更可能
---MaxAutoCreatedAccessTeamsPerEntity:~
エンティティに対して定義可能なアクセス チーム テンプレート数(既定値は2)
---MaxEntitiesEnabledForAutoCreatedAccessTeams:~
自動生成されたアクセス チームに対して有効にできるエンティティ数?(既定値は5)


**アクセス チームの生成 [#nfa8e08b]
-アクセス チームは、ユーザをサブグリッドに追加することで自動生成される。
--この操作は”レコードにアクセス チーム メンバを追加する”と言う。

--”アクセス チーム メンバを追加する”ユーザは、
---レコードにレコードに対する共有特権が必要。
---アクセス チーム テンプレートに含まれるすべてのアクセス許可が必要。
---標準の共有でも、共有するユーザの持っている以上のアクセス許可は付与できない。

--”アクセス チーム メンバに追加される”ユーザは、
---アクセス チーム テンプレートに含まれるすべてのユーザ レベルのアクセス許可が必要。
---標準の共有では、共有されるユーザの持っている以上のアクセス許可を付与できる。

--アクセス チーム テンプレートに共有特権があると、~
すべてのアクセス チーム メンバは、アクセス チーム メンバを追加できるようになる。

--アクセス チームにより、
---レコード レベルでは、各ユーザと個別に共有されなくなる。
---しかし、エンティティ レベルでは、各ユーザと個別の共有が可能のままである。~
エンティティのコマンド バーをカスタマイズして、共有用のボタンを削除/非表示にすることはできる。~
これは、エンティティのコマンド バーを定義するリボンXMLのカスタマイズにより行う。

-アクセス チーム名は、~
"レコードGUID" + "サブグリッドに関連付けられたアクセス チーム テンプレートのGUID" になる。

-これにより生成されるチームの
--種類は、[[アクセス チーム>CRM セキュリティモデルの作成#f5dccda6]]となり、
--[システムで管理されている]プロパティは、"はい"に設定される。
--この設定のチームは、チームの既定のビューでは表示されない。

*監査機能 [#pb84a4f7]

**監査機能のレベル [#n58dd74e]
3つのレベルで監査機能を有効にできる。

***組織レベル [#mb615cc5]
-有効化:[設定] ---> [管理] ---> [システムの設定] ---> [監査]
-用途:システム レベルの変更が監査対象になり、不正な変更、誤った変更の判断・修正を支援する。

***エンティティ レベル [#a0128271]
-有効化:
--[[エンティティのプロパティで監査プロパティを選択する>CRM エンティティのカスタマイズ]]。
--また、コレに加えて組織レベルの有効化も必要。
-用途:エンティティの変更が監査対象になり、不正な変更、誤った変更の判断・修正を支援する。

***フィールド レベル [#x434d53d]
-有効化:
--[[フィールドのプロパティで監査プロパティを選択する>CRM フィールドのカスタマイズ]]。
--また、コレに加えてエンティティ レベル、組織レベルの有効化も必要。
-用途:フィールド値の変更が監査対象になり、不正な変更、誤った変更の判断・修正を支援する。

**監査イベントの確認 [#mbf03509]
-監査を有効にすると、変更が追跡され、SQLServerの監査テーブルに保存される。
-すべての監査エントリは、イベント種類、ユーザ、日付・時刻を記録している。

***確認方法 [#g64f6e26]
監査イベントは以下で確認できる。

-監査履歴
--[監査履歴の表示]で表示
--レコード単位にレコード フォームのナビゲーション バーを使用してアクセスする。
--レコード フォームが表示されなくなるので、削除されたレコードに対しては使用できない。

-監査概要ビュー
--[監査の概要の表示]で表示
--組織レベル、エンティティ レベル、レコード レベルのイベントとデータ変更の概要が表示される。
--変更の概要(CRUD)のみ表示され、変更の詳細(データ値)は表示されない。

***アクセス制御 [#o41b199e]

-監査データへのアクセス許可
--監査データのアクセスには監査の特権が必要になる。
--この特権の設定~
セキュリティ ロールの[コア レコード]タブから設定する。
---[監査履歴の表示]
---[監査の概要の表示]
--既定のセキュリティ ロールと監査の特権~
一部のセキュリティロールでは、以下の監査の特権が既定で有効になっている。
---”上司”レベル以上のセキュリティ ロール:[監査履歴の表示]が有効
---システム管理者ロールのセキュリティ ロール:唯一、[監査の概要の表示]が有効

-エンティティ、レコード、フィールドの監査データへのアクセス許可

--エンティティとレコード単位での監査の許可は設定できないが、~
レコード フォームが表示できなければレコードは監査できないので、~
合わせてエンティティとレコードの読み取りアクセス許可が必要になる。

--当然、フィールド セキュリティも考慮される。~
フィールド セキュリティで読み取りアクセス許可が無い場合、~
そのフィールドの監査データにはアクセスできない。~
合わせてフィールド セキュリティの読み取りアクセス許可が必要になる。

**監査ログの格納状態 [#gbbd8227]
-SQL Serverのパーティショニングの機能を使用して、~
監査ログが四半期の単位でパーティション分割されている。

-これにより、削除やアーカイブのスライディング ウィンドウ実装が可能。

-最も古い監査ログから削除やアーカイブのスライディング ウィンドウ操作が可能。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS