MS_CRMAdditionalSecurityOptions - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

CRM 远加のセキュリティ オプション

抂芁

集䞭管理モデル

特暩アクセス蚱可

  1. 特暩にアクセス レベルを蚭定、
  2. 郚眲やチヌムを䜜成、ナヌザを远加し、
  3. セキュリティ ロヌルを䜿甚する。

補完モデル

補足3 ぀の局: CRM セキュリティモデルの䜜成ず
本ペヌゞを合わせるず、暩限は 3 ぀の局で構成される。

å±€ 単䜍 手段
゚ンティティ 「䜕ができるか」× 「誰のデヌタか」 セキュリティ ロヌル
レコヌド 個々のレコヌド 共有 / アクセス チヌム
フィヌルド 個々の項目 フィヌルド セキュリティ

本ペヌゞが扱う 2 ぀は、いずれも
䞊䜍の局を緩めるのではなく、さらに絞り蟌む䜿いやすくするものである
埌述の AND を参照。

監査機胜

デヌタやシステム構成蚭定、セキュリティ構成に加えられた倉曎・倉曎したナヌザを蚘録する。

メリット

  • カスタマむズ䜜業内容の把握、プロセスに埓っお䜜業しおいるかを確認できる。
  • 匱䜓化したセキュリティ構成倉曎を特定するのに圹立぀。
  • 蚭定を倉曎前の倀に戻す堎合に圹立぀。

デメリット

  • SQL Server に蚭定が必芁になる。
  • 远加デヌタが生成され運甚コストが増加する。

フィヌルド セキュリティ

  • システム ゚ンティティ、カスタム ゚ンティティのフィヌルドの衚瀺・線集等のアクセスを制限

  • レコヌド レベルのセキュリティ ロヌルずは異なり、
    より詳现なフィヌルド レベルのナヌザ アクセス蚱可を制埡

補足䜿いどころ: 兞型的には、

  • 取匕先担圓者の 個人情報生幎月日、自宅䜏所
  • 埓業員の 絊䞎・評䟡
  • 案件の 原䟡・利益率

のように、レコヌド自䜓は芋せおよいが、特定の項目は芋せたくない
ケヌスで䜿う。
レコヌド単䜍でしか制埡できないず
「案件は芋えるが金額は隠す」ができないため、
この局が远加されおいる。

スコヌプ

クラむアント

すべおのクラむアント

  • PC 甹
  • タブレット甚
  • 電話甚
  • Outlook 甹

衚瀺・線集方法

すべおの衚瀺・線集方法

  • レポヌト
  • 簡易衚瀺
  • グラフ
  • フィルタヌ ビュヌ
  • デヌタ むンポヌト りィザヌド
  • 監査ログ、重耇デヌタ怜出
  • SDK からのアクセス

補足この網矅性が重芁: フィヌルド セキュリティが
SDK やレポヌトにも効くずいう点が芁点である。
CRMのサポヌト・テクノロゞで
「テヌブルに盎接ク゚リを実行するこずはサポヌトされない」ず
匷く述べられおいるのは、たさに
この制埡を迂回しおしたうからである。
抜け道を 1 ぀でも残すず、フィヌルド セキュリティの意味がなくなる。

実装方法

フィヌルド カスタマむズ フォヌムでフィヌルド セキュリティを有効にできるCRM フィヌルドのカスタマむズ。

フィヌルド セキュリティを有効にした堎合

動䜜

  • システム管理者しかアクセスできなくなる。

補足既定は「党員に芋せない」: 有効にした瞬間に
システム管理者以倖は誰も芋られなくなるずいう挙動は、
明瀺的に蚱可した人だけが芋られるホワむトリスト方匏ずいう蚭蚈である。
運甚䞭のフィヌルドに埌から有効化するず
党ナヌザから䞀斉に芋えなくなるため、
プロファむルの甚意を先に枈たせおおく必芁がある。

UIの倉曎

  • フォヌム ゚ディタヌ
    ラベルに鍵マヌクが衚瀺され、䞀郚のナヌザはアクセスできないフィヌルドであるこずをシステム カスタマむザヌに知らせる。

  • フォヌム
    ラベルに鍵マヌクが衚瀺され、䞀郚のナヌザはアクセスできないフィヌルドであるこずをナヌザに知らせる。

    • 線集アクセス蚱可が無い堎合、
      フィヌルド暪に南京錠マヌクが衚瀺され、読み取り専甚であるこずをナヌザに知らせる。
    • 衚瀺アクセス蚱可が無い堎合、
      南京錠マヌクに加え、フィヌルド倀が **** で衚瀺され、読み取り䞍可であるこずをナヌザに知らせる。
  • ビュヌ

    • 衚瀺アクセス蚱可が無い堎合、
      フィヌルドは空になる

フィヌルド セキュリティ プロファむル

システム管理者以倖のナヌザにアクセス蚱可を䞎える。

蚭定方法

  • アクセス蚱可の皮類

    • 読取フィヌルドのデヌタを参照可胜。
    • 曎新アップデヌト時にフィヌルドのデヌタを入力可胜。
    • 䜜成むンサヌト時にフィヌルドのデヌタを入力可胜。
    • 削陀削陀のアクセス蚱可は無い
  • アクセス蚱可の蚭定方法

    • ナヌザやチヌムをフィヌルド セキュリティ プロファむルに远加する。
    • フィヌルド セキュリティ プロファむルにフィヌルドず察応するアクセス蚱可を蚭定する。

補足䜜成ず曎新が分かれおいる理由: 「䜜成時は入力できるが、
埌から曎新はできない」ずいう制埡ができる。
申蟌時に䞀床だけ入力する項目契玄番号、初期蚭定倀などを
入力させたうえで埌から曞き換えさせない、ずいった
業務芁件を衚珟できる。

システム管理者フィヌルド セキュリティ プロファむル

このプロファむルは、

  • すべおのフィヌルド セキュリティを有効にしたフィヌルドぞのアクセス蚱可がある。

  • ナヌザ・チヌムの远加

    • システム管理者ナヌザ・チヌムが自動的に远加される。
    • その他、任意のナヌザ・チヌムを手動で远加できる。
  • 削陀䞍可胜

    • プロファむル自䜓
    • プロファむルに远加されたシステム管理者ナヌザ・チヌム
  • ゜リュヌションのフィヌルド セキュリティ プロファむル䞀芧に衚瀺されない。

フィヌルド セキュリティ プロファむルの䜜成

  • フィヌルド セキュリティ プロファむルの䜜成

    • フィヌルド セキュリティを有効にしたフィヌルドを含む゜リュヌションを開く
    • ゜リュヌション ゚クスプロヌラヌでフィヌルド セキュリティ プロファむルをクリックする。
    • メニュヌバヌで新芏をクリックする。
    • 新しいプロファむルの名前・説明を入力する。
    • ツヌルバヌの保存をクリックする。
  • フィヌルド セキュリティ プロファむルにナヌザ・チヌムを远加

    • フィヌルド セキュリティ プロファむルのナビゲヌション りィンドりでナヌザorチヌムをクリックする。
    • メニュヌ バヌの远加をクリックする。
    • プロファむルに远加するナヌザ・チヌムを遞択する。
    • 遞択をクリックし遞択したレコヌドボックスに远加。
    • 远加をクリックする。
    • 手順を繰り返しおプロファむルにナヌザ・チヌムを远加する。
  • フィヌルドのアクセス蚱可の蚭定

    • フィヌルド セキュリティ プロファむルのナビゲヌション りィンドりでフィヌルドのアクセス蚱可をクリックする。
    • アクセス蚱可を倉曎するフィヌルドを遞択する耇数遞択可胜。
    • メニュヌバヌの線集をクリックする。
    • アクセス蚱可の皮類読み取りを蚱可、曎新を蚱可、䜜成を蚱可の
      ドロップダりンリストからありorなしを遞択する。
    • OKをクリックする。
    • 手順を繰り返しおフィヌルドにアクセス蚱可を蚭定する。
  • フィヌルド セキュリティ プロファむルツヌル バヌの保存しお閉じるをクリックする。

セキュリティ ロヌルずフィヌルド セキュリティ

セキュリティの察象ず制埡方法

特定のレコヌドのフィヌルドに察しおナヌザに蚱可されるアクセスは、
以䞋の 3 皮類のセキュリティの察象ず制埡方法を AND したものになる。

察象 制埡方法
1 ゚ンティティ セキュリティ ロヌル
2 レコヌド 共有
3 フィヌルド フィヌルド セキュリティ プロファむル

AND で合成される

  • セキュリティ ロヌル・共有は、フィヌルド セキュリティを拡匵しない。

  • 共有はセキュリティ ロヌルのスコヌプを拡倧するが、

    • ナヌザのアクセス蚱可は拡匵しない。
    • アクセス レベルは拡匵しないナヌザ レベル以䞊が持っおいない特暩は倉曎できない。
  • フィヌルド セキュリティは

    • レコヌドの特暩アクセス蚱可を拡匵しない。
    • レコヌドのアクセス レベルを拡匵しない。

補足ここが本ペヌゞで最も重芁: CRM セキュリティモデルの䜜成で
耇数のセキュリティ ロヌルは OR で合成されるず述べたが、
局をたたぐず AND になる。
぀たり、

ロヌル OR ロヌル  AND 共有 AND フィヌルド セキュリティ

ずいう構造である。したがっお、

  • どれか 1 ぀で拒吊されれば芋えない
  • どの局も、䞊䜍の局より広い暩限を䞎えるこずはできない

これは Azure 条件付きアクセスの
「耇数ポリシヌは AND で合成され、ブロックが垞に優先される」ずいう芏則ず
同じ考え方である。
暩限のトラブルシュヌティングでは、
どの局で萜ちおいるかを順に確認するのが定石になる。

アクセス チヌム テンプレヌト

  • アクセス チヌムを䜜成し同僚をレコヌドに簡単にリンクするこずで通垞持たないアクセス蚱可を䞎える。
  • 共有アクセス レベルは適甚されないに䌌おいるが、
    こちらの方が䞭倮のアクセス蚱可の定矩を容易に適甚可胜。

共有の問題解決

アクセス チヌム テンプレヌトは、以䞋の共有の問題を解決する。

問題

  • 共有の床に、共有するナヌザに共有ダむアログ ボックスを䜿甚しおアクセス蚱可を付䞎する必芁がある。
  • 共有ダむアログ ボックスを開かないず、共有されたレコヌドに誰がアクセスできるか刀断できない。

解決

共有ダむアログ ボックスを開く必芁がない。

  • システム カスタマむザヌの甚意したアクセス蚱可セットを䜿甚しお、
    共有するナヌザに迅速にアクセス蚱可を付䞎するこずができる。

  • 迅速に、共有レコヌドにアクセス可胜なナヌザの確認ず線集ができる。

    • レコヌドに察するアクセス暩を持぀ナヌザの䞀芧を出力できる。
    • 特暩を持぀ナヌザは、䞀芧からのナヌザずアクセス暩を倉曎できる。

補足共有の䜕が問題だったか: 共有の問題は
アクセス蚱可の組み合わせを郜床その堎で決める点にあった。

  • 人によっお付䞎する暩限がバラ぀く統制できない
  • 誰に共有したかがレコヌドを開かないず分からない可芖性がない

アクセス チヌム テンプレヌトは、
暩限セットを管理者が事前に定矩し、
フォヌム䞊のサブグリッドで䞀芧できるようにするこずで、
この 2 点を解決しおいる。
「案件チヌム」「サポヌト案件の関係者」ずいった
レコヌド単䜍のメンバヌ管理が兞型的な甚途になる。

アクセス チヌム テンプレヌトの構成

  • ゚ンティティのアクセス チヌムを有効にしお倉曎を公開する。
  • アクセス チヌム テンプレヌトを䜜成しおアクセス蚱可を定矩する。
  • ゚ンティティのフォヌムでナヌザ远加しお衚瀺するサブグリッドを远加する。
  • このサブグリッドは、1 ぀のアクセス チヌム テンプレヌトに関連付けられる。

アクセス チヌム テンプレヌトの蚭定内容

  • 名前

  • 説明

  • アクセス暩

    • 削陀
    • 远加
    • , etcセキュリティ ロヌルや共有で称されるアクセス蚱可ず同じ
  • 察象゚ンティティ

    • 1 ぀の゚ンティティに耇数のアクセス チヌム テンプレヌトを䜜成できる。
    • この最倧倀は、PowerShell で倉曎可胜
      • MaxAutoCreatedAccessTeamsPerEntity
        ゚ンティティに察しお定矩可胜なアクセス チヌム テンプレヌト数既定倀は 2
      • MaxEntitiesEnabledForAutoCreatedAccessTeams
        自動生成されたアクセス チヌムに察しお有効にできる゚ンティティ数既定倀は 5

補足既定倀が小さい理由: 既定倀が 2 / 5 ず抑えめなのは、
アクセス チヌムがレコヌドごずにチヌムを自動生成する仕組みだからである。
察象゚ンティティを増やすほどチヌム数が爆発的に増え、
CRM セキュリティモデルの䜜成で觊れた
PrincipalObjectAccess テヌブルの肥倧化ず同じ性胜問題を招く。
䞊限の匕き䞊げは、圱響を芋積もっおから行うべき蚭定である。

アクセス チヌムの生成

  • アクセス チヌムは、ナヌザをサブグリッドに远加するこずで自動生成される。
    • この操䜜は "レコヌドにアクセス チヌム メンバを远加する" ず蚀う。

    • "アクセス チヌム メンバを远加する" ナヌザは、

      • レコヌドに察する共有特暩が必芁。
      • アクセス チヌム テンプレヌトに含たれるすべおのアクセス蚱可が必芁。
      • 暙準の共有でも、共有するナヌザの持っおいる以䞊のアクセス蚱可は付䞎できない。
    • "アクセス チヌム メンバに远加される" ナヌザは、

      • アクセス チヌム テンプレヌトに含たれるすべおのナヌザ レベルのアクセス蚱可が必芁。
      • 暙準の共有では、共有されるナヌザの持っおいる以䞊のアクセス蚱可を付䞎できる。
    • アクセス チヌム テンプレヌトに共有特暩があるず、
      すべおのアクセス チヌム メンバは、アクセス チヌム メンバを远加できるようになる。

    • アクセス チヌムにより、

      • レコヌド レベルでは、各ナヌザず個別に共有されなくなる。
      • しかし、゚ンティティ レベルでは、各ナヌザず個別の共有が可胜のたたである。
        ゚ンティティのコマンド バヌをカスタマむズしお、共有甚のボタンを削陀 / 非衚瀺にするこずはできる。
        これは、゚ンティティのコマンド バヌを定矩するリボン XML のカスタマむズにより行う。

移行メモ正誀: 元ペヌゞの「レコヌドにレコヌドに察する共有特暩」は
「レコヌドに」の重耇ず刀断し、修正した。

補足共有ずの違いが 1 点ある: 䞊蚘で察比されおいるずおり、

  • 暙準の共有 — 共有される偎が持っおいない暩限も付䞎できる
  • アクセス チヌム — 远加される偎がナヌザ レベルの暩限を持っおいる必芁がある

ずいう違いがある。
぀たりアクセス チヌムはより厳栌で、
「その゚ンティティを扱う資栌のある人だけを、
個別のレコヌドに远加する」ずいう䜿い方になる。
党く暩限のない人に芋せる甚途には䜿えない。

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

  • これにより生成されるチヌムの

    • 皮類は、アクセス チヌムずなり、
    • システムで管理されおいるプロパティは、"はい" に蚭定される。
    • この蚭定のチヌムは、チヌムの既定のビュヌでは衚瀺されない。

監査機胜の詳现

監査機胜のレベル

3 ぀のレベルで監査機胜を有効にできる。

組織レベル

  • 有効化蚭定→管理→システムの蚭定→監査
  • 甚途システム レベルの倉曎が監査察象になり、䞍正な倉曎、誀った倉曎の刀断・修正を支揎する。

゚ンティティ レベル

  • 有効化
  • 甚途゚ンティティの倉曎が監査察象になり、䞍正な倉曎、誀った倉曎の刀断・修正を支揎する。

フィヌルド レベル

  • 有効化
    • フィヌルドのプロパティで監査プロパティを遞択するCRM フィヌルドのカスタマむズ。
    • たた、コレに加えお゚ンティティ レベル、組織レベルの有効化も必芁。
  • 甚途フィヌルド倀の倉曎が監査察象になり、䞍正な倉曎、誀った倉曎の刀断・修正を支揎する。

補足3 段の AND: 監査もたた AND で構成されおいる。
フィヌルドの監査を有効にしおも、
䞊䜍の゚ンティティ・組織レベルが無効なら蚘録されない。
「監査を有効にしたのにログが出ない」ずいう堎合は、
䞊䜍のレベルを確認するのが先になる。

監査むベントの確認

  • 監査を有効にするず、倉曎が远跡され、SQL Server の監査テヌブルに保存される。
  • すべおの監査゚ントリは、むベント皮類、ナヌザ、日付・時刻を蚘録しおいる。

確認方法

監査むベントは以䞋で確認できる。

  • 監査履歎

    • 監査履歎の衚瀺で衚瀺
    • レコヌド単䜍にレコヌド フォヌムのナビゲヌション バヌを䜿甚しおアクセスする。
    • レコヌド フォヌムが衚瀺されなくなるので、削陀されたレコヌドに察しおは䜿甚できない。
  • 監査抂芁ビュヌ

    • 監査の抂芁の衚瀺で衚瀺
    • 組織レベル、゚ンティティ レベル、レコヌド レベルのむベントずデヌタ倉曎の抂芁が衚瀺される。
    • 倉曎の抂芁CRUDのみ衚瀺され、倉曎の詳现デヌタ倀は衚瀺されない。

補足削陀されたレコヌドの監査が芋られない: 「レコヌド フォヌムが
衚瀺されなくなるので、削陀されたレコヌドに察しおは䜿甚できない」ずいうのは、
監査機胜ずしおは倧きな制玄である。
「誰が消したか」を远うには監査抂芁ビュヌを䜿うこずになるが、
こちらは倉曎の詳现消えた倀が芋られない。
削陀された内容たで远跡する芁件がある堎合は、
論理削陀無効化で運甚するなどの蚭蚈䞊の察凊が芁る。
CRM セキュリティモデルの䜜成で
ナヌザが物理削陀できない仕様になっおいるのも、同皮の配慮ず蚀える。

アクセス制埡

  • 監査デヌタぞのアクセス蚱可

    • 監査デヌタのアクセスには監査の特暩が必芁になる。
    • この特暩の蚭定
      セキュリティ ロヌルのコア レコヌドタブから蚭定する。
      • 監査履歎の衚瀺
      • 監査の抂芁の衚瀺
    • 既定のセキュリティ ロヌルず監査の特暩
      䞀郚のセキュリティロヌルでは、以䞋の監査の特暩が既定で有効になっおいる。
      • "䞊叞" レベル以䞊のセキュリティ ロヌル監査履歎の衚瀺が有効
      • システム管理者ロヌルのセキュリティ ロヌル唯䞀、監査の抂芁の衚瀺が有効
  • ゚ンティティ、レコヌド、フィヌルドの監査デヌタぞのアクセス蚱可

    • ゚ンティティずレコヌド単䜍での監査の蚱可は蚭定できないが、
      レコヌド フォヌムが衚瀺できなければレコヌドは監査できないので、
      合わせお゚ンティティずレコヌドの読み取りアクセス蚱可が必芁になる。

    • 圓然、フィヌルド セキュリティも考慮される。
      フィヌルド セキュリティで読み取りアクセス蚱可が無い堎合、
      そのフィヌルドの監査デヌタにはアクセスできない。
      合わせおフィヌルド セキュリティの読み取りアクセス蚱可が必芁になる。

補足: 監査デヌタにも同じ AND のルヌルが適甚されるずいう点が重芁である。
「監査ログ経由でフィヌルド セキュリティを迂回する」こずができないよう
蚭蚈されおいる。
前述の衚瀺・線集方法に「監査ログ」が
明蚘されおいるのず同じ趣旚である。

監査ログの栌玍状態

  • SQL Server のパヌティショニングの機胜を䜿甚しお、
    監査ログが四半期の単䜍でパヌティション分割されおいる。

  • これにより、削陀やアヌカむブのスラむディング りィンドり実装が可胜。

  • 最も叀い監査ログから削陀やアヌカむブのスラむディング りィンドり操䜜が可胜。

補足: 監査ログは攟眮すれば増え続けるため、
CRMの展開の管理ずトラブルシュヌティングの
システム ゞョブず同様に、保持期間を決めお削陀する運甚が必芁になる。
四半期単䜍のパヌティションは、
叀いパヌティションごず切り離すこずで削陀を高速に行うための蚭蚈である。

参考


Tags: Dynamics CRM

⚠ **GitHub.com Fallback** ⚠