アクセスを制御する列レベルのセキュリティ
レコード レベルのアクセス許可はテーブル レベルで付与されますが、他の列よりも機密性の高いデータを含むテーブルに特定の列が関連付けられている場合があります。 このような状況では、 列レベルのセキュリティ を使用して特定の列へのアクセスを制御します。
列レベルのセキュリティのスコープは組織全体であり、以下のリクエストとコールを含むすべてのデータ アクセス要求に適用されます。
- ウェブブラウザ、モバイルクライアントなどのクライアントアプリケーションからのデータアクセス要求、または Microsoft Dynamics 365 for Outlook
- Microsoft Dataverse Web サービスを使用した Web サービス呼び出し (プラグイン、ユーザー定義ワークフロー活動、カスタム コードでの使用のため)
- レポート(フィルタービューを使用)
注意
テーブル関連の用語の使用は、使用するプロトコルまたはクラス ライブラリによって異なります。 詳細については、 プロトコルまたはテクノロジーに応じた用語の使用を参照してください。
列レベルのセキュリティの概要
列レベルのセキュリティは、ほとんどの標準のテーブルの既定列、カスタム列、カスタム テーブルのカスタム列に対して使用できます。 列レベルのセキュリティは、セキュリティ プロファイルによって管理されます。 列レベルのセキュリティを実装するために、システム管理者は次のタスクを実行します。
列のセキュリティは、特定のテーブルの 1 つ以上の列でオンにします。
選択 オプションの マスキング ルール。
1 つまたは複数の既存のセキュリティ プロファイルを関連付けるか、あるいは 1 つまたは複数の新規のセキュリティ プロファイルを作成して、特定のユーザーまたはチームに適切なアクセスを付与します。
セキュリティ プロファイルには以下を指定します:
- セキュリティで保護された列へのアクセス許可
- アクセスが割り当てられたユーザーとチーム
セキュリティ プロファイルは、列レベルで次のアクセス許可をユーザーまたはチーム メンバーに付与するように構成できます:
- 読み取り: 列のデータへの読み取り専用アクセス。
- マスクされていない読み取り: 読み取り列のデータの マスクされていない値。
- 作成: このプロファイルのユーザーまたはチームは、行を作成するときにこの列にデータを追加できます。
- 更新: このプロファイルのユーザーまたはチームは、列の作成後にそのデータを更新できます。
これら4つの権限の組み合わせを構成して、特定のデータ列に対するユーザー権限を決定できます。
重要
セキュリティが設定された列に1つ以上のセキュリティ プロファイルが割り当てられていない場合、システム 管理者 セキュリティ ロール を持つユーザーのみが列にアクセスできます。
連絡先テーブルの携帯電話の列を制限する例
ここで説明するように、営業メンバーは連絡先の携帯電話番号に対して異なるレベルのアクセス権を持つ必要があるという会社のポリシーがあるとします。
[ユーザーまたはチーム] | アクセス |
---|---|
営業課長 | 読み取り専用。 連絡先の携帯電話番号は マスクされた形式 でのみ表示できます。 |
担当副社長 | すべて。 取引先担当者の携帯電話番号を作成、更新、および表示できます。 |
営業担当者およびそのほかのすべてのユーザー | ありません。 連絡先の携帯電話番号を作成、更新、または表示できません。 |
この列を制限するには、次のタスクを実行します。
柱を固定する
Power Apps にサインインします。
テーブル を選択します。
取引先担当者 テーブルを選択します。
スキーマ の下で、列 を選択します。
列リストを下にスクロールして、携帯電話 を開きます。
詳細オプションを展開し、 全般で、選択 列のセキュリティを有効にするを選択します。
選択 は マスキング ルール ドロップダウン メニューを選択し、選択 は マスキング ルール を選択します。
保存 を選びます。
セキュリティプロファイルを構成する
Power Platform 管理センター から、セキュリティ プロファイルを構成する環境を選択します。
設定>ユーザー + アクセス許可>列のセキュリティ プロファイル を選択します。
新規プロファイル を選択し、営業課長 などの名前を入力し、説明を入力して、保存 を選択します。
営業課長 を選択し、ユーザー タブを選択して、+ ユーザーの追加 を選択し、連絡先フォームの携帯電話番号へのアクセス権を付与するユーザーを選択して、追加 を選択します。
チップ
ユーザーを個別に追加する代わりに、アクセスを付与するすべてのユーザーが含まれる 1 つまたは複数のチームを作成します。
上記の手順を繰り返して、担当副社長 の列セキュリティ プロファイルを作成します。
列のアクセス許可を構成する
列セキュリティ プロファイル タブを選択し、営業課長 を選択します。
列のアクセス許可 タブを選択し、mobilephone を選択し、編集 を選択します。 読み取り 設定を 許可 に設定し、他の設定は 不許可 のままにして、保存 を選択します。
列セキュリティ プロファイル タブを選択し、担当副社長 を選択します。
列のアクセス許可 タブを選択し、mobilephone を選択し、編集 を選択します。 読み取り 設定を 許可に、 マスクなしで読み取り を 1つのレコードに、残りを 許可に設定し、選択 保存します。
以前に作成した列セキュリティ プロファイルで定義されていないユーザーは、連絡先フォームやビューの携帯電話列に対するアクセス権がありません。 列の値に ******** と表示され、列が保護されていることを示します。
どの列をセキュリティで保護できますか?
新しい列を追加する
Power Apps にサインインします。
ナビゲーション ウィンドウで、テーブル を選択します。
テーブルを選択し、スキーマ で 列 を選択します。
コマンド バーで + 新しい列 を選択します。
表示名 と 説明 を入力します。
データ型 を選択します。
検索 および 式 データ型は列セキュリティで設定できません。 詳細については、「 列セキュリティで有効にできない属性」を参照してください。
詳細オプション を展開し、全般 で 列のセキュリティを有効にする チェックボックスを選択します。
列レベルのセキュリティを表示する
システムにある各列には、列セキュリティを許可するかどうかの設定が含まれています。 列のセキュリティ設定を表示するには、次の手順を使用します。
Power Apps にサインインします。
ナビゲーション ウィンドウで、テーブル を選択します。
テーブルを選択し、スキーマ で 列 を選択します。
列を選択して、詳細オプション を展開し、全般 で 列セキュリティを有効にする のステータスを表示します。
列セキュリティを有効にする を選択できる場合は、列セキュリティの列を有効にできます。
列セキュリティに対して有効にできない属性
ほとんどの属性はセキュリティで保護することができますが、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)
組織のメタデータの参照 に記載されているメタデータ ブラウザー ソリューションをインストールすることで、列セキュリティで使用可能な列など、組織のテーブル メタデータを表示することができます。
列セキュリティを使用する際のベスト プラクティス
セキュリティで保護された列を含む計算列を使用すると、セキュリティで保護された列へのアクセス許可がないユーザーに対して計算列にデータが表示される場合があります。 この場合、元の列および計算列をセキュリティで保護する必要があります。
住所などの一部のデータは、複数の列から構成されます。 したがって、住所などの、複数の列が含まれるデータを完全に保護するには、テーブルの複数の列について、適切な列セキュリティ プロファイルをセキュリティで保護して構成する必要があります。 たとえば、テーブルの住所を完全に保護するには、address_line1、address_line2、address_line3、address1_city、address1_composite などのすべての関連するアドレス列にセキュリティを設定します。
関連情報
列のセキュリティ権限を設定する
アクセスを制御するために列のセキュリティを有効または無効にする
アクセスを制御するには、データ列セキュリティ プロファイル にチームまたはユーザーを追加します。
階層セキュリティ