セキュリティ ロールに関連付けられた特権を使用して、テーブル レベルでレコードへのアクセスを管理します。 テーブルの一部の列には、他の列よりも機密性の高いデータが含まれている場合があります。 列レベルのセキュリティを使用して、特定の列のデータへのアクセスを管理します。 列レベルのセキュリティの構成は組織全体であり、すべてのデータ アクセス要求に適用されます。
列レベルのセキュリティを使用すると、特定のユーザーによる以下の行為を防止できます。
- レコード内の列の値を設定する。
- 列のデータを表示する。 この値をマスクしてその一部を表示するか、データをまったく返さないかを選択できます。
注意
列レベルのセキュリティを構成するには、システム管理者ロールが必要です。
列レベルのセキュリティは、システム管理者ロールを持つユーザーには適用されません。 データがシステム管理者から隠されることはありません。 構成された結果を確認するには、システム管理者セキュリティ ロールが割り当てられていないアカウントを使用する必要があります。
このプロセスを使用すると、ほとんどの列で列レベルのセキュリティが使用できます。
- 特定のテーブルの 1 つ以上の列で列レベルのセキュリティを有効にします。
- 必要に応じて、マスキング ルールを選択します。
- 1 つまたは複数の既存のセキュリティ プロファイルを関連付けるか、1 つまたは複数の新規のセキュリティ プロファイルを作成して、特定のユーザーまたはチームに適切なアクセスを付与します。
列セキュリティを有効にする
列をセキュリティで保護するには、次の手順を使用します。
Power Apps にサインインします。
ソリューションを選択します。
列を含むテーブルを持つアンマネージド ソリューションを選択するか、変更を保持する新しいソリューションを作成して、そのソリューションにテーブルを追加します。
ソリューション内の オブジェクト、テーブルで、テーブルを選択します。
スキーマ の下で、列 を選択します。
列の一覧で、列を選択します。
詳細オプションを展開し、全般の下で列のセキュリティを有効にするを選択します。
保存 を選びます。
チップ
開発者が環境内のセキュリティで保護されたすべての列の一覧を取得する方法 または コードを使用して列をセキュリティで保護する方法 をご確認ください
列のセキュリティ プロファイルにチームまたはユーザーを追加してアクセスを制御する
データ列セキュリティ プロファイルによって、以下が決定されます。
- アクセスが割り当てられたユーザーとチーム。
- セキュリティで保護された列へのアクセス許可。
データ列セキュリティ プロファイルを使用すると、次のアクセス許可をユーザーまたはチーム メンバーに付与することができます。
Permission | オプション | Result |
---|---|---|
読み取り |
可能 不許可 |
ユーザーが列のデータを表示できるかどうか。 列にマスキング ルールが適用されている場合は、マスクされた値が表示されます。 |
マスクなしで読み取る |
すべてのレコード 1 つのレコード 不許可 |
セキュリティで保護された列にマスキング ルールがある場合、開発者はマスクされていないデータを返すように要求するコードを記述できます。 この設定は、その要求が成功したかどうかを制御します。 既定の設定は 不許可 です。 マスキング ルールを使用して保護された列に権限を付与することに関する詳細 |
更新プログラム |
可能 不許可 |
ユーザーが列のデータを更新できるかどうか。 |
作成 |
可能 不許可 |
レコードの作成時に列にデータを設定できるかどうか。 |
これらの 4 つの特権の組合せを構成して、特定のデータ列に対するユーザー特権を決定できます。
重要
セキュリティが有効になっている列に、1 つ以上のセキュリティ プロファイルが割り当てられていなければ、システム管理者セキュリティ ロールを持つユーザーのみがこの列にアクセスできます。
データ列セキュリティ プロファイルで定義されていないユーザーは、フォームやビューの列に対するアクセス権がありません。 列の値が ******** と表示される場合は、列がセキュリティで保護されていることを示します。
列を追加し、データ列セキュリティ プロファイルのアクセス許可を設定する
列を追加し、データ列セキュリティ プロファイルのアクセス許可を設定するには、次の手順を使用します。
- Power Platform 管理センター にサインインします。
- ナビゲーション ウィンドウで、管理を選択します。
- 管理ウィンドウで環境を選択します。 環境を選択します。
- 設定>ユーザー + アクセス許可>列のセキュリティ プロファイル を選択します。
- 既存のプロファイルを選択するか、新しいプロファイル を選択して名前を入力し、説明を入力して 保存 を選択します。
- チーム または ユーザー タブを選択し、+ チームの追加 または + ユーザーの追加を選択し、アクセスを制御するチームまたはユーザーを選択してから、追加を選択します。
- 列のアクセス許可 タブを選択し、名前 列で 1 つ以上の列を選択してから 編集を選択します。 目的のアクセスの 4 つのプロパティを構成します。 これらのアクセス許可は、このセキュリティ プロファイルのユーザーが列の値を読み取ったり設定したりできるかどうかを制御します。
- 保存 を選びます。
どの列をセキュリティで保護できますか?
列が列レベルのセキュリティに適格である場合、Power Apps の列定義の 詳細オプション領域にあるデータ列セキュリティの有効化チェックボックスが有効になります。
この領域は 列を作成または編集するときに表示できます。
セキュリティで保護できない列には、次のものがあります。
- 仮想テーブルの列
- 検索列
- 数式列
- プライマリ名の列 (各テーブルが検索フィールドに値を表示するために必要な 1 行のテキスト列。通常、名前は
name
で終わります。) -
createdon
、modifiedon
、statecode
、statuscode
などのシステム列。
注意
- File データ型と Image データ型はセキュリティで保護できますが、マスクすることはできません。
- リッチ テキスト形式のテキスト データ型はセキュリティで保護できますが、リッチ テキストに埋め込まれた画像をマスクしたり、マスキングのためにバイパスしたりすることはできません。
列セキュリティを有効にする チェック ボックスが有効かどうかは、列のプロパティの値 CanBeSecuredForCreate
、CanBeSecuredForRead
、CanBeSecuredForUpdate
によって異なります。 このデータを表示するには、ご利用の環境でテーブル定義を参照する で説明されているメタデータ ブラウザー ソリューションを環境にインストールします。
ベスト プラクティス
計算列 にセキュリティで保護された列が含まれる場合、セキュリティで保護された列へのアクセス許可がないユーザーに対して計算列にデータが表示される場合があります。 元の列と計算列の両方をセキュリティで保護する必要があります。
複合列 は、複数の列からのデータを含みます。 たとえば、contact
テーブルfullname
と address1_composite
列は、複合列となります。 複合列に含まれるデータを完全に保護するには、テーブルの複数のフィールドで適切なデータ列セキュリティ プロファイルをセキュリティで保護して構成する必要があります。 たとえば、address1_composite
列を完全にセキュリティで保護するには、address1_
およびテーブルの両方が customeraddress
で始まるすべての列をセキュリティで保護する必要があります。
注意
列セキュリティの変更を有効にするには、クライアント上のエンド ユーザーによるブラウザーの更新 (モデル駆動型アプリなど) が必要です。 アクセスルールを動的に調整する場合は、この点を考慮する必要があります。
関連情報
アクセスを制御するため列のセキュリティを有効または無効にする
列レベル セキュリティの例
階層セキュリティ
コードを使用した列レベルのセキュリティ