アクセスを制御する列レベルのセキュリティ

レコード レベルのアクセス許可はテーブル レベルで付与されますが、他の列よりも機密性の高いデータを含むテーブルに特定の列が関連付けられている場合があります。 このような状況では、列レベルのセキュリティを使用して、特定の列へのアクセスを制御します。

列レベルのセキュリティの範囲は組織全体であり、次のようなすべてのデータ アクセス要求に適用されます。

  • クライアント アプリケーション内 (Web ブラウザー、モバイル クライアント、Microsoft Dynamics 365 for Outlook など) からのデータ アクセス要求

  • Microsoft Dataverse Web サービスを使用した Web サービス呼び出し (プラグイン、ユーザー定義ワークフロー活動、カスタム コードでの使用のため)

  • 報告 (フィルター ビューの使用)

Note

テーブル関連の用語の使用は、使用するプロトコルまたはクラス ライブラリによって異なります。 プロトコルまたはテクノロジーに応じた用語 を参照してください。

列レベルのセキュリティの概要

列レベルのセキュリティは、ほとんどの標準のテーブルの既定列、カスタム列、カスタム テーブルのカスタム列に対して使用できます。 列レベルのセキュリティは、セキュリティ プロファイルによって管理されます。 列レベルのセキュリティを実装するために、システム管理者は次のタスクを実行します。

  1. 列のセキュリティは、特定のテーブルの 1 つ以上の列で有効にします。

  2. 1 つまたは複数の既存のセキュリティ プロファイルを関連付けるか、あるいは 1 つまたは複数の新規のセキュリティ プロファイルを作成して、特定のユーザーまたはチームに適切なアクセスを付与します。

セキュリティ プロファイルには以下を指定します:

  • セキュリティで保護された列へのアクセス許可

  • アクセスが割り当てられたユーザーとチーム

    セキュリティ プロファイルは、列レベルで次のアクセス許可をユーザーまたはチーム メンバーに付与するように構成できます:

  • 読み取り。 列のデータへの読み取り専用アクセス。

  • 作成。 このプロファイルのユーザーまたはチームは、行の作成時にこの列にデータを追加できます。

  • 更新。 このプロファイルのユーザーまたはチームは、列のデータの作成後にデータを更新できます。

これら 3 つのアクセス許可の組み合わせを構成することで、特定のデータ列のユーザー権限を決定できます。

重要

セキュリティが有効になっている列に、1 つ以上のセキュリティ プロファイルが割り当てられていなければ、システム管理者セキュリティ ロールを持つユーザーのみがこの列にアクセスできます。

取引先担当者テーブルの携帯電話列の制限の例

ここに示すように、取引先担当者の携帯電話番号へのアクセスのレベルは営業担当者によって異なるようにするということが、会社の方針であると仮定します。

ユーザーまたはチーム アクセス
営業課長 読み取り専用。 取引先担当者の携帯電話番号の表示のみができます。
担当副社長 すべて。 取引先担当者の携帯電話番号を作成、更新、および表示できます。
営業担当者およびそのほかのすべてのユーザー ありません。 取引先担当者の携帯電話番号を作成することも、更新することも、表示することもできません。

この列を制限するには、次のタスクを実行します。

列をセキュリティで保護する

  1. Power Apps にサインインします。

  2. Dataverse>テーブル を選択します。

  3. 取引先担当者 テーブルを選択します。

    取引先担当者テーブルを選択します。

  4. スキーマ の下で、 を選択します。

    スキーマの下で、列を選択します。

  5. 列リストを下にスクロールして、携帯電話 を開きます。

    携帯電話の列を選択します。

  6. 詳細オプション を展開し、全般列のセキュリティを有効にする を有効にします。

    詳細オプションを展開し、列のセキュリティを有効にします。

  7. 保存 を選択します。

セキュリティ プロファイルを構成する

  1. Power Platform 管理センター から、セキュリティ プロファイルを構成する環境を選択します。

  2. 設定>ユーザー + アクセス許可>列のセキュリティ プロファイル を選択します。

  3. 新規プロファイル を選択し、営業課長 などの名前を入力し、説明を入力して、保存 を選択します。

    新しい列のセキュリティ プロファイルを作成します。

  4. 営業課長 を選択し、ユーザー タブを選択して、+ ユーザーの追加 を選択し、連絡先フォームの携帯電話番号へのアクセス権を付与するユーザーを選択して、追加 を選択します。

    ユーザーを列セキュリティ プロファイルへ追加します。

    チップ

    ユーザーを個別に追加する代わりに、アクセスを付与するすべてのユーザーが含まれる 1 つまたは複数のチームを作成します。

  5. 上記の手順を繰り返して、担当副社長 の列セキュリティ プロファイルを作成します。

列のアクセス許可を構成する

  1. 列セキュリティ プロファイル タブを選択し、営業課長 を選択します。

  2. 列のアクセス許可 タブを選択し、mobilephone を選択し、編集 を選択します。 読み取り 設定を 許可 に設定し、他の設定は 不許可 のままにして、保存 を選択します。

    列のセキュリティ アクセス許可を編集します。

  3. 列セキュリティ プロファイル タブを選択し、担当副社長 を選択します。

  4. 列のアクセス許可 タブを選択し、mobilephone を選択し、編集 を選択します。 3 つの設定をすべて 許可 に設定し、保存 を選択します。

以前に作成した列セキュリティ プロファイルで定義されていないユーザーは、連絡先フォームやビューの携帯電話列に対するアクセス権がありません。 列の値には ロック アイコン。 ******** が表示されます。これは、このフィールドがセキュリティで保護されていることを示しています。

どの列をセキュリティで保護できますか?

システムにある各列には、列セキュリティを許可するかどうかの設定が含まれています。 列のセキュリティ設定を表示するには、次の手順を使用します。

  1. Power Apps にサインインします。

  2. Dataverse>テーブル を選択します。

  3. テーブルを選択し、スキーマ を選択します。

  4. 列を選択して、詳細オプション を展開し、全般列セキュリティを有効にする のステータスを表示します。

列セキュリティを有効にする を選択できる場合は、列セキュリティの列を有効にできます。

列セキュリティの有効化は可能です。

ほとんどの属性はセキュリティで保護することができますが、ID、タイムスタンプ、レコード トラッキング属性などのシステム属性はセキュリティで保護することができません。 以下は列セキュリティを有効にできない属性の例です。

  • ownerid、processid、stageid、accountid、contactid、businessunitid、organizationid、solutionid、supportingsolutionid、transactioncurrencyid、goalownerid、subscriptionid、userpuid、yammeruserid
  • createdby、modifiedby、OwningTeam、OwningUser、Owningbusinessunit、yammeremailaddress
  • createdon、EntityImage_Timestamp、modifiedon、OnHoldTime、overriddencreatedon、overwritetime、modifiedonbehalfby、timezoneruleversionnumber、versionnumber、importsequencenumber
  • statecode、statuscode、componentstate、exchangerate、utcconversiontimezonecode
  • fullname、firstname、middlename、lastname、yominame、yomifirstname、yomifullname、yomilastname、yomimiddlename
  • 非推奨の列 (例: traversedpath、stageid)

組織のメタデータの参照 に記載されているメタデータ ブラウザー ソリューションをインストールすることで、列セキュリティで使用可能な列など、組織のテーブル メタデータを表示することができます。 カスタマイズされていない組織のメタデータを、EntityMetadata.xlsx という名前の Office Excel ファイルで見ることもできます。このファイルは、SDK の最上位のフォルダーに含まれています。 SDK をダウンロード

列セキュリティを使用する際のベスト プラクティス

セキュリティで保護された列を含む計算列を使用すると、セキュリティで保護された列へのアクセス許可がないユーザーに対して計算列にデータが表示される場合があります。 この場合、元の列および計算列をセキュリティで保護する必要があります。

住所などの一部のデータは、複数の列から構成されます。 したがって、住所などの、複数の列が含まれるデータを完全に保護するには、テーブルの複数の列について、適切な列セキュリティ プロファイルをセキュリティで保護して構成する必要があります。 たとえば、テーブルの住所を完全に保護するには、address_line1、address_line2、address_line3、address1_city、address1_composite などのすべての関連するアドレス列にセキュリティを設定します。

参照

列のセキュリティ アクセス許可の設定
アクセスを制御するため列のセキュリティを有効または無効にする
列のセキュリティ プロファイルにチームまたはユーザーを追加してアクセスを制御する
階層セキュリティ