Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
特権(アクセス許可)
- 特権にアクセス レベルを設定、
- 部署やチームを作成、ユーザを追加し、
- セキュリティ ロールを使用する。
補完モデル †
監査機能 †
データやシステム構成(設定、セキュリティ構成)に加えられた変更・変更したユーザを記録する。
メリット †
- カスタマイズ作業内容の把握、プロセスに従って作業しているかを確認できる。
- 弱体化したセキュリティ構成変更を特定するのに役立つ。
- 設定を変更前の値に戻す場合に役立つ。
デメリット †
- SQLServerに設定が必要になる。
- 追加データが生成され運用コストが増加する。
フィールド セキュリティ †
- システム エンティティ、カスタム エンティティのフィールドの表示・編集等のアクセスを制限
- レコードレベルのセキュリティロールとは異なり、
より詳細なフィールド レベルのユーザ アクセス許可を制御
スコープ †
クライアント †
すべてのクライアント
表示・編集方法 †
すべての表示・編集方法
- レポート
- 簡易表示
- グラフ
- フィルタービュー
- データ インポート ウィザード
- 監査ログ、重複データ検出
- SDKからのアクセス
実装方法 †
フィールド カスタマイズ フォームでフィールド セキュリティを有効にできる。
フィールド セキュリティを有効にした場合 †
動作 †
UIの変更 †
- フォーム エディター
ラベルに鍵マークが表示され、一部のユーザはアクセスできないフィールドであることをシステム カスタマイザーに知らせる。
- フォーム
ラベルに鍵マークが表示され、一部のユーザはアクセスできないフィールドであることをユーザに知らせる。
- 編集アクセス許可が無い場合、
フィールド横に南京錠マークが表示され、読み取り専用であることをユーザに知らせる。
- 表示アクセス許可が無い場合、
南京錠マークに加え、フィールド値が****で表示され、読み取り不可であることをユーザに知らせる。
- ビュー
- 表示アクセス許可が無い場合、
フィールドは空になる?
フィールド セキュリティ プロファイル †
システム管理者以外のユーザにアクセス許可を与える。
設定方法 †
- アクセス許可の種類
- 読み取り:フィールドのデータを参照可能。
- 更新:アップデート時にフィールドのデータを入力可能。
- 作成:インサート時にフィールドのデータを入力可能。
- アクセス許可の設定方法
- ユーザやチームをフィールド セキュリティ プロファイルに追加する。
- フィールド セキュリティ プロファイルにフィールドと対応するアクセス許可を設定する。
システム管理者フィールド セキュリティ プロファイル †
このプロファイルは、
- すべてのフィールド セキュリティを有効にしたフィールドへのアクセス許可がある。
- ユーザ・チームの追加
- システム管理者ユーザ・チームが自動的に追加される。
- その他、任意のユーザ・チームを手動で追加できる。
- 削除不可能
- プロファイル自体
- プロファイルに追加されたシステム管理者ユーザ・チーム
- ソリューションのフィールド セキュリティ プロファイル一覧に表示されない。
フィールド セキュリティ プロファイルの作成 †
- フィールド セキュリティ プロファイルの作成
- フィールド セキュリティを有効にしたフィールドを含むソリューションを開く
- ソリューション エクスプローラーで[フィールド セキュリティ プロファイル]をクリックする。
- メニューバーで[新規]をクリックする。
- 新しいプロファイルの名前・説明を入力する。
- ツールバーの[保存]をクリックする。
- フィールド セキュリティ プロファイルにユーザ・チームを追加
- フィールド セキュリティ プロファイルのナビゲーション ウィンドウで[ユーザ] or [チーム]をクリックする。
- メニュー バーの[追加]をクリックする。
- プロファイルに追加するユーザ・チームを選択する。
- [選択]をクリックし[選択したレコード]ボックスに追加。
- [追加]をクリックする。
- 手順を繰り返してプロファイルにユーザ・チームを追加する。
- フィールドのアクセス許可の設定
- フィールド セキュリティ プロファイルのナビゲーション ウィンドウで[フィールドのアクセス許可]をクリックする。
- アクセス許可を変更するフィールドを選択する(複数選択可能)。
- メニューバーの[編集]をクリックする。
- アクセス許可の種類([読み取りを許可]、[更新を許可]、[作成を許可])の
ドロップダウンリストから[あり] or [なし]を選択する。
- [OK]をクリックする。
- 手順を繰り返してフィールドにアクセス許可を設定する。
- [フィールド セキュリティ プロファイル]ツール バーの[保存して閉じる]をクリックする。
セキュリティ ロールとフィールド セキュリティ †
セキュリティの対象と制御方法 †
特定のレコードのフィールドに対してユーザに許可されるアクセスは、
以下の3種類のセキュリティの対象と制御方法をANDしたものになる。
AND †
- セキュリティ ロール・共有は、フィールド セキュリティを拡張しない。
- 共有はセキュリティ ロールのスコープを拡大するが、
- ユーザのアクセス許可は拡張しない。
- アクセス レベルは拡張しない(ユーザ レベル以上が持っていない特権は変更できない)。
- フィールド セキュリティは
- レコードの特権(アクセス許可)を拡張しない。
- レコードのアクセス レベルを拡張しない。
アクセス チーム テンプレート †
- アクセス チームを作成し同僚をレコードに簡単にリンクすることで通常持たないアクセス許可を与える。
- 共有(アクセス レベルは適用されない)に似ているが、こちらの方が中央のアクセス許可の定義を容易に適用可能。
共有の問題解決 †
アクセス チーム テンプレートは、以下の共有の問題を解決する。
問題 †
- 共有の度に、共有するユーザに[共有]ダイアログ ボックスを使用してアクセス許可を付与する必要がある。
- [共有]ダイアログ ボックスを開かないと、共有されたレコードに誰がアクセスできるか判断できない。
解決 †
[共有]ダイアログ ボックスを開く必要がない。
- システム カスタマイザーの用意したアクセス許可セットを使用して、
共有するユーザに迅速にアクセス許可を付与することができる。
- 迅速に、共有レコードにアクセス可能なユーザの確認と編集ができる。
- レコードに対するアクセス権を持つユーザの一覧を出力できる。
- 特権を持つユーザは、一覧からのユーザとアクセス権を変更できる。
アクセス チーム テンプレートの構成 †
- エンティティのアクセス チームを有効にして変更を公開する。
- アクセス チーム テンプレートを作成してアクセス許可を定義する。
- エンティティのフォームでユーザ追加して表示するサブグリッドを追加する。
- このサブグリッドは、1つのアクセス チーム テンプレートに関連付けられる。
アクセス チーム テンプレートの設定内容 †
- 名前
- 説明
- アクセス権
- 削除
- 追加
- ,etc(セキュリティ ロールや共有で称されるアクセス許可と同じ)
- 対象エンティティ
- 1つのエンティティに複数のアクセス チーム テンプレートを作成できる。
- この最大値は、PowerShellで変更可能
- MaxAutoCreatedAccessTeamsPerEntity?:定義可能なアクセス チーム テンプレート数
- MaxEntitiesEnabledForAutoCreatedAccessTeams?:有効にできるアクセス チーム テンプレート数
アクセス チームの生成 †
- アクセス チームは、ユーザをサブグリッドに追加することで自動生成される。
- この操作は”レコードにアクセス チーム メンバを追加する”と言う。
- ”アクセス チーム メンバを追加する”ユーザは、
- レコードにレコードに対する共有特権が必要。
- アクセス チーム テンプレートに含まれるすべてのアクセス許可が必要。
- 標準の共有でも、共有するユーザの持っている以上のアクセス許可は付与できない。
- ”アクセス チーム メンバに追加される”ユーザは、
- アクセス チーム テンプレートに含まれるすべてのユーザ レベルのアクセス許可が必要。
- 標準の共有では、共有されるユーザの持っている以上のアクセス許可を付与できる。
- アクセス チーム テンプレートに共有特権があると、
すべてのアクセス チーム メンバは、アクセス チーム メンバを追加できるようになる。
- アクセス チームにより、
- レコード レベルでは、各ユーザと個別に共有されなくなる。
- しかし、エンティティ レベルでは、各ユーザと個別の共有が可能のままである。
エンティティのコマンド バーをカスタマイズして、共有用のボタンを削除/非表示にすることはできる。
これは、エンティティのコマンド バーを定義するリボンXMLのカスタマイズにより行う。
- アクセス チーム名は、
"レコードGUID" + "サブグリッドに関連付けられたアクセス チーム テンプレートのGUID" になる。
- これにより生成されるチームの
- 種類は、アクセス チームとなり、
- [システムで管理されている]プロパティは、"はい"に設定される。
- この設定のチームは、チームの既定のビューでは表示されない。
監査機能 †
監査機能のレベル †
3つのレベルで監査機能を有効にできる。
組織レベル †
- 有効化:[設定] ---> [管理] ---> [システムの設定] ---> [監査]
- 用途:システム レベルの変更が監査対象になり、不正な変更、誤った変更の判断・修正を支援する。
エンティティ レベル †
フィールド レベル †