アクセスを制御するフィールド レベル セキュリティ
レコード レベルの権限はエンティティ レベルで付与されますが、他のフィールドよりも慎重に扱うことが必要なデータを内蔵したエンティティに関連付けられている特定のフィールドを使用する場合があります。 これらの場合には、フィールド レベル セキュリティを使用して、特定のフィールドへのアクセスを制御します。
フィールド レベル セキュリティのスコープは組織全体であり、以下を含むすべてのデータ アクセス要求に適用されます。
クライアント アプリケーション内 (Web ブラウザー、モバイル クライアント、Microsoft Dynamics 365 for Outlook など) からのデータ アクセス要求
Dynamics 365 Web サービスを使用した Web サービス呼び出し (プラグイン、ユーザー定義ワークフロー活動、およびカスタム コードでの使用のため)
報告 (フィルター ビューの使用)
フィールド レベル セキュリティの概要
フィールド レベル セキュリティは、ほとんどの標準エンティティの既定のフィールド、ユーザー定義フィールド、およびユーザー定義エンティティのユーザー定義フィールドで使用できます。 フィールド レベル セキュリティはセキュリティ プロファイルによって管理されます。 フィールド レベル セキュリティを実装するには、システム管理者が次のタスクを実行します。
特定エンティティの 1 つまたは複数のフィールドのフィールド セキュリティを有効にします。
1 つまたは複数の既存のセキュリティ プロファイルを関連付けるか、あるいは 1 つまたは複数の新規のセキュリティ プロファイルを作成して、特定のユーザーまたはチームにアクセスを許可します。
セキュリティ プロファイルには以下を指定します。
セキュリティで保護されたフィールドに対するアクセス許可
ユーザーとチーム
セキュリティ プロファイルは、フィールド レベルで次のアクセス許可をユーザーまたはチーム メンバーに付与するように構成できます。
読み取り。 フィールドのデータに対する読み取り専用アクセス。
作成。 このプロファイルにあるユーザーやチームは、レコードの作成時に、このフィールドにデータを追加できます。
更新。 このプロファイルにあるユーザーまたはチームは、フィールドのデータを、その作成後に更新できます。
これらの 3 つの特権の組合せを構成して、特定のデータ フィールドに対するユーザー特権を決定できます。
重要
セキュリティが有効になっているフィールドに、1 つ以上のセキュリティ プロファイルが割り当てられていなければ、システム管理者セキュリティ ロールを持つ Customer Engagement (on-premises) ユーザーのみがこのフィールドにアクセスできます。
取引先担当者エンティティの携帯電話フィールドの制限の例
ここに示すように、取引先担当者の携帯電話番号へのアクセスのレベルは営業メンバーによって異なるようにするということが、会社の方針であると仮定します。
ユーザーまたはチーム | アクセス |
---|---|
担当副社長 | フル。 取引先担当者の携帯電話番号を作成、更新、および表示できます。 |
営業課長 | 読み取り専用。 取引先担当者の携帯電話番号の表示のみができます。 |
営業担当者および他のすべての Customer Engagement (on-premises) ユーザー | ありません。 取引先担当者の携帯電話番号を作成することも、更新することも、表示することもできません。 |
このフィールドを制限するには、次の手順を実行します。
ファイルにセキュリティを設定します。
設定>カスタマイズに移動します。
システムのカスタマイズをクリックします。
エンティティ>取引先担当者>フィールドの順にクリックします。
携帯電話をクリックし、編集をクリックします。
フィールド セキュリティの隣で、有効化をクリックし、保存して閉じるをクリックします。
カスタマイズを公開します。
セキュリティ プロファイルを構成します。
営業課長のフィールド セキュリティ プロファイルを作成します。
設定>セキュリティに移動します。
フィールド セキュリティ プロファイルをクリックします。
新規をクリックし、「営業課長による取引先担当者の携帯電話へのアクセス」などの名前を入力し、保存をクリックします。
ユーザーをクリックし、追加をクリックし、連絡先フォームの携帯電話番号への読み取りアクセス権を付与するユーザーを選択し、次に追加をクリックします。
チップ
ユーザーを個別に追加する代わりに、読み取りアクセスを許可するすべてのユーザーが含まれる 1 つまたは複数のチームを作成します。
フィールドのアクセス許可をクリックし、携帯電話をクリックし、編集をクリックし、読み取りを許可の横ではいを選択し、OK をクリックします。
担当副社長のフィールド セキュリティ プロファイルを作成します。
新規をクリックし、「VP による取引先担当者の携帯電話へのアクセス」などの名前を入力し、保存をクリックします。
ユーザーをクリックし、追加をクリックし、連絡先フォームの携帯電話番号に対するフル アクセスを付与するユーザーを選択し、次に追加をクリックします。
フィールドのアクセス許可をクリックし、携帯電話をクリックし、編集をクリックし、読み取りを許可、更新を許可、および作成を許可の横ではいを選択してから、OK をクリックします。
保存して閉じるをクリックします。
前に作成したフィールドで定義されなかった Customer Engagement (on-premises) ユーザーは、取引先担当者フォームやビューの携帯電話フィールドに対するアクセス権がありません。 フィールド値には ******** が表示されます。これは、このフィールドがセキュリティで保護されていることを示しています。
どのフィールドにセキュリティを設定できますか。
システムにある各フィールドには、フィールド セキュリティを許可するかどうかを示す設定が格納されています。 これはソリューション エクスプローラー のフィールド定義にて確認することができます。 ソリューション エクスプローラーにて、任意の エンティティを開き、任意の フィールドを開きます。 有効 が選択可能となっている場合は、フィールド セキュリティのフィールドを有効にすることができます。
ほとんどの属性はセキュリティで保護することができますが、ID、タイムスタンプ、レコード トラッキング属性などのシステム属性はセキュリティで保護することができません。 以下がフィールドセキュリティにて有効化できない属性です。
- ownerid, processid, stageid, accountid, contactid
- createdby, modifiedby, OwningTeam, OwningUser
- createdon, EntityImage_Timestamp, modifiedon, OnHoldTime, overriddencreatedon
- statecode, statuscode
組織で使用しているメタデータを閲覧するに記載されているメタデータ ブラウザ ソリューションをインストールすることで、フィールド セキュリティで使用可能なフィールドなど、組織で使用している エンティティの メタデータを表示することができます。 カスタマイズされていない組織のメタデータを、EntityMetadata.xlsx という名前の Office Excel ファイルで見ることもできます。このファイルは、SDK の最上位のフォルダーに含まれています。 Microsoft Dynamics 365 for Customer Engagement アプリ SDK をダウンロードします
フィールド セキュリティを使用する際のベスト プラクティス
セキュリティで保護されたフィールドを含む計算フィールドを使用すると、データは、セキュリティで保護されたフィールドへのアクセス許可がないユーザーに対して計算フィールドに表示されることがあります。 この場合、元のフィールドおよび計算フィールドをセキュリティで保護する必要があります。
住所などの一部のデータは、実際には複数のフィールドから構成されます。 したがって、住所などの、複数のフィールドが含まれるデータを完全に保護するには、エンティティの複数のフィールドについて、適切なフィールド セキュリティ プロファイルをセキュリティで保護して構成する必要があります。 たとえば、エンティティの住所を完全に保護するには、address_line1、address_line2、address_line3、address1_city、address1_composite などのすべての関連するアドレス フィールドにセキュリティを設定します。