フィールド セキュリティ エンティティ

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

フィールドレベルのセキュリティを適用するには、フィールド セキュリティ エンティティを使用します。これにより、フィールド アクセスを指定のユーザーとチームに限定できます。 フィールドレベルのセキュリティの適用範囲はグローバルです。つまり、レコードやユーザーが属している部署階層レベルに関係なく、組織内のすべてのレコードに適用されます。 フィールド セキュリティは Microsoft Dynamics 365 のすべてのクライアントで機能します。これには、Web クライアント、Outlook 用 Microsoft Dynamics 365、電話用 Microsoft Dynamics 365 が含まれます。 フィールド セキュリティは、Microsoft Dynamics 365 SDK、レポート、検索、オフライン、フィルター ビュー、監査、重複データ検出など、すべてのコンポーネントに適用されます。 このリリースでは、フィールドのセキュリティはカスタム フィールドと多くの標準 (OOB) フィールドの両方に適用できます。

セキュリティで保護されたフィールドでのメソッドの動作変更方法の詳細については、「Microsoft Dynamics 365 で、フィールド セキュリティを使用してフィールド値へのアクセスを制御する方法」を参照してください。

System_CAPS_security セキュリティ メモ

フィールド レベルのセキュリティ プロファイルは、意図しないユーザーがプロファイル定義に基づいて Microsoft Dynamics 365 データにアクセスできないようにします。Microsoft SQL Server ACL が不適切に構成されている場合、または、SQL インジェクションに問題がある場合、無効なユーザーがフィールド レベル セキュリティ制限を回避して Microsoft SQL Server のデータに直接アクセスできることがあります。 詳細については、「Web アプリケーションのセキュリティ上の脅威の概要」を参照してください。

このトピックの内容

フィールド セキュリティの設定と使用

どの属性を保護できますか。

セキュリティで保護されたフィールドの共有

フィールド セキュリティの設定と使用

フィールド セキュリティを使用するには、次のことを行います。

  1. フィールド セキュリティ プロファイル レコードの作成

  2. ユーザーまたはチームをプロファイルに追加する

  3. フィールド レベルで保護する属性を見つける

  4. 属性の作成時または属性メタデータの更新によって属性をセキュリティで保護する

  5. 属性のカスタマイズを公開する

  6. カスタム属性に対するプロファイルのアクセス権 (作成、更新、読み取り) を定義したフィールドのアクセス許可レコードを作成する

これらの手順の実行方法に関するサンプル コードについては、「サンプル: エンティティでのフィールド セキュリティの有効化」を参照してください。

指定したフィールド セキュリティ プロファイルで属性の作成、読み取り、または更新ができるかどうかを設定するには、次のフィールドのアクセス許可属性を使用します。 これらの属性の値を設定または比較するには、はい/いいえのブール値 (field_security_permission_type) グローバル オプション設定を使用します。

  • FieldPermission.CanCreate

  • FieldPermission.CanRead

  • FieldPermission.CanUpdate

System_CAPS_security セキュリティ メモ

特権の低いユーザーは、フィールド セキュリティ プロファイルのエンティティへの読み取りアクセス権が与えられている場合、他のユーザーのプロファイルの内容を確認して、関心のあるセキュリティで保護された属性へのアクセス許可を持つ他のユーザーを見つけることができます。 次に、彼らは、ソーシャル エンジニアリング技術を使用して、これらのセキュリティで保護された属性へのアクセス権のあるプロファイルを割り当てることができます。

どの属性を保護できますか。

どの属性を保護できるかを確認するには、次のプロパティのエンティティ メタデータを照会できます。

特定の属性のデータの種類に適用するそのほかのいくつかのルールがあります。

  • ブール型属性は、作成、更新操作に保護されていますが、読み取りには保護されていません。

  • オプション セット属性は、既定値が指定されていない場合、作成、更新、および読み取りに保護されています。

保護できる属性は数千とあります。この情報を検索する 2 つの簡単な方法があります。組織のエンティティ メタデータを表示するには、「組織のメタデータの参照」で説明されているメタデータ ブラウザー ソリューションをインストールします。 カスタマイズされていない組織のメタデータを、EntityMetadata.xlsx という名前の Excel ファイルで見ることもできます。このファイルは、ダウンロードした SDK の最上位のフォルダーに含まれています。

セキュリティで保護されたフィールドの共有

セキュリティで保護されたフィールドは、レコードを共有するのと同様に共有できます。 それには、PrincipalObjectAttributeAccess (フィールド共有) レコードを作成、更新、または削除します。このとき、ユーザーまたはチーム、エンティティ、およびアクセス許可を指定します。

次の表は、レコードのセキュリティを保護するためのメソッドとフィールドのセキュリティを保護するためのメソッドの一覧です。

レコードの共有

フィールド アクセスの共有

ユーザーまたはチームによるレコードへのアクセスを許可するには、GrantAccessRequest メッセージを使用します。

ユーザーまたはチームによるセキュリティ保護されたフィールドへのアクセスを許可するには、CreateRequest メッセージまたは IOrganizationService.Create メソッドを使用します。

ユーザーまたはチームによるレコードへのアクセスを更新するには、ModifyAccessRequest メッセージを使用します。

ユーザーまたはチームによるセキュリティ保護されたフィールドへのアクセスを更新するには、UpdateRequest メッセージまたは IOrganizationService.Update メソッドを使用します。

ユーザーまたはチームによるレコードへのアクセスを削除するには、RevokeAccessRequest メッセージを使用します。

ユーザーまたはチームによるセキュリティ保護されたフィールドへのアクセスを削除するには、DeleteRequest メッセージまたは IOrganizationService.Delete メソッドを使用します。

関連項目

Microsoft Dynamics 365 のセキュリティ モデル
管理およびセキュリティ エンティティ
FieldSecurityProfile エンティティのメッセージとメソッド
フィールドのアクセス許可 (FieldPermission) エンティティのメッセージおよびメソッド
プリンシパル オブジェクト属性アクセス (PrincipalObjectAttributeAccess) (フィールド共有) エンティティのメッセージおよびメソッド
フィールド レベルのデータ暗号化
サンプル: フィールドのアクセス許可の取得
サンプル: エンティティでのフィールド セキュリティの有効化
サンプル: フィールド共有レコードの取得

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権