データベース セキュリティを構成Configure database security

Common Data Service では、ロールベースのセキュリティ モデルを使用して、データベースへのアクセスをセキュリティで保護します。The Common Data Service uses a role-based security model to help secure access to the database. このトピックでは、アプリのセキュリティ保護に必要なセキュリティ アーティファクトを作成する方法を説明します。This topic explains how to create the security artifacts that you must have to help secure an app. これらのユーザー ロールは、データへの実行時アクセスを制御するもので、環境管理者や環境作成者を管理する環境ロールとは別のものです。The user roles control run-time access to data and are separate from the Environment roles that govern environment administrators and environment makers. 環境の概要については、「Environments overview (環境の概要)」を参照してください。For an overview of environments, see Environments overview.

アプリのユーザーがこれらのエンティティへのアクセスでどのレベルを必要としているかを理解することが重要です。It's important that you understand what level of access to these entities users of the app require. Common Data Service では、エンティティに対する作成、読み取り、更新、削除 (CRUD) のアクセス許可をサポートしています。The Common Data Service supports create, read, update, and delete (CRUD) permissions on entities.

  • 作成 - ユーザーはエンティティに新しいエントリを作成できます。Create – A user can create new entries in the entity.
  • 読み取り - ユーザーはエンティティの既存のエントリを表示および検索できます。Read – A user can view and search existing entries in the entity.
  • 更新 - ユーザーはエンティティの既存のエントリを更新または編集できます。Update – A user can update or edit an existing entry in the entity.
  • 削除 - ユーザーはエンティティの既存のエントリを削除できます。Delete – A user can delete or remove an existing entry in the entity.

最もよく使用される 2 つのアクセス許可レベルは、読み取り専用アクセスとフル アクセスです。The two permission levels that are most often used are read-only access and full access. Common Data Service には、すべてのエンティティに対する、これら 2 つのアクセス許可レベルでのアクセス許可セットが含まれています。The Common Data Service includes permission sets at these two permission levels for all its entities. 表示アクセス許可セットは、エンティティへの読み取りアクセスを提供します。View permission sets provide read access to an entity. 管理アクセス許可セットは、エンティティへのフル アクセスを提供します。Maintain permission sets provide full access to an entity.

このセキュリティ モデルでは、これらのアクセス許可の任意の組み合わせをユーザー ロールに割り当てることができます。The security model enables any combination of these permissions to be assigned to a user role. ロールでは、ロールに追加されたすべてのアクセス許可セットで付与されるさまざまなアクセス許可が組み合わされます。Roles combine the various permissions that are granted across the permission sets that are added to them. したがって、ロールのメンバーは、そのロールに含まれるアクセス許可セットがアクセスを許可するすべてのデータにアクセスできます。Therefore, the members of a role can access all the data that the permission sets that are included in the role give them access to. Common Data Service セキュリティ モデルの詳細については、「Security model (セキュリティ モデル)」を参照してください。For more information about the Common Data Service security model, see Security model.

エンティティの識別Identify the entities

アプリに正しいアクセス制御を構成するには、アプリで使用されるエンティティを把握する必要があります。To configure the correct access controls for an app, you must know what entities the app uses. アプリで使用されるエンティティの一覧を表示するには、次の手順に従います。To see a list of the entities that an app uses, follow these steps.

  1. Microsoft PowerApps Studio でアプリを開きます。Open the app in Microsoft PowerApps Studio.
  2. [コンテンツ] タブで、[データ ソース] をクリックまたはタップします。On the Content tab, click or tap Data sources. 右側のウィンドウに、データ ソースの一覧が表示されます。The list of data sources appears in the right pane.

セキュリティの構成Configure security

新しいエンティティを作成する際は、そのエンティティのデータへのアクセスを提供するために、新しいアクセス許可セットを作成するか、既存のアクセス許可セットを編集する必要もあります。When you create a new entity, you must also create a new permission set or edit an existing permission set to provide access to the entity's data. アプリを作成する場合は、そのアプリの実行に必要なすべてのエンティティへのアクセスを提供するアクセス許可セットも作成することをお勧めします。When you create an app, we recommend that you also create a permission set that provides access to all the entities that are required in order to run the app. セキュリティは管理センターで管理されます。Security is managed in the admin center.

  1. 管理センターを開きます。Open the admin center.
  2. データベースを含む環境をクリックまたはタップします。Click or tap the environment that contains your database.
  3. [セキュリティ] をクリックまたはタップします。Click or tap Security. [アクセス許可セット] タブと [ユーザー ロール] タブを使用して、データベースのセキュリティを構成できます。You can then use the Permission sets and User roles tabs to configure security on your database.

アクセス許可セットの作成Create a permission set

新しいアプリへのアクセスを有効にするには、最初に新しいアクセス許可セットを作成する必要があります。To enable access to a new app, you must first create a new permission set.

  1. [アクセス許可セット] をクリックまたはタップします。Click or tap Permission sets.
  2. [新しいアクセス許可セット] をクリックまたはタップして、アクセス許可セットを作成します。Click or tap New permission set to create a permission set.
  3. アクセス許可セットの名前と説明を入力し、[作成] をタップまたはクリックします。Enter a name and description for the permission set, and then tap or click Create. 新しいアクセス許可セットがアクセス許可セットの一覧に表示されます。The new permission set appears in the list of permission sets.
  4. 作成したアクセス許可セットをクリックまたはタップします。Click or tap the permission set that you just created.
  5. [エンティティ] タブをクリックまたはタップします。[エンティティ] タブには、データベース内のすべてのエンティティの一覧が表示されています。Click or tap the Entities tab. The Entities tab contains a list of all the entities in your database. アプリで使用される各エンティティについて、許可するアクセス許可のチェック ボックスをオンにします。For each entity that is used in your app, select the check box for the permission to allow.
  6. [Save] (保存) をクリックまたはタップします。Click or tap Save.

ポリシーの作成 (Technical Preview)Create a policy (Technical Preview)

エンティティ内のレコードへのアクセスを有効化または制限するには、最初にポリシーを作成する必要があります。To enable or restrict access to the records in an entity, you must first create a policy.

  1. [ポリシー] をクリックまたはタップします。Click or tap Policies.
  2. [新しいポリシー] をクリックまたはタップします。Click or tap New policy.
  3. ポリシーの名前と説明を入力します。Enter a name and description for the policy.
  4. 作成するポリシーの種類を選択します。Select the type of policy to create. 候補リストのポリシーを作成する場合は、使用する候補リストを入力します。If you're creating a picklist policy, enter the picklist to use.
  5. 使用する演算子を選択します。Select the operator to use.
  6. 照合するポリシーの値を選択します。Select the value for the policy to check against.
  7. [作成] をクリックまたはタップします。Click or tap Create.

ポリシーの割り当て (Technical Preview)Assign a policy (Technical Preview)

ポリシーを適用するには、アクセス許可セットのデータ エンティティにポリシーを割り当てる必要があります。To apply a policy, you must assign it to a data entity in a permission set.

  1. [アクセス許可セット] をクリックまたはタップします。Click or tap Permission Sets.
  2. ポリシーを割り当てるアクセス許可セットをクリックまたはタップします。Click or tap the permission set to assign a policy under.
  3. ポリシーを割り当てるエンティティの [編集] ボタンをクリックまたはタップします。Click or tap the Edit button for the entity to assign a policy to.
  4. [ポリシーの割り当て] セクションを展開します。Expand the Policy assignment section.
  5. ポリシーを適用するデータ操作 ([作成][読み取り][更新]、または [削除]) を選択します。Select the data operations to apply a policy to (Create, Read, Update, or Delete).
  6. ポリシーの基になるエンティティ フィールドを選択します。Select the entity field that the policy will be based on.
  7. 割り当てるポリシーを選択します。Select the policy to assign.
  8. [割り当て] をクリックまたはタップします。Click or tap Assign.
  9. [Save] (保存) をクリックまたはタップします。Click or tap Save.

ロールの作成と割り当てCreate and assign a role

アクセス許可セットに正しいアクセス許可が追加された後、ユーザーに割り当てることのできるロールを作成できます。After the correct permissions are included in a permission set, you can create a role that can be assigned to users.

  1. [ユーザー ロール] をクリックまたはタップします。Click or tap User roles.
  2. [新しいロール] をクリックまたはタップします。Click or tap New role.
  3. ロールの名前と説明を入力し、[作成] をクリックまたはタップします。Enter a name and description for the role, and then click or tap Create. 新しいロールが [ユーザー] ロール一覧に表示されます。The new role appears in the User roles list.
  4. 作成したロールをクリックまたはタップします。Click or tap the role that you just created.
  5. [アクセス許可セット] タブをクリックまたはタップします。Click or tap the Permission sets tab.
  6. 先ほど作成したアクセス許可セットの名前を入力します。Enter the name of the permission set that you created earlier. 入力時に表示されるドロップダウン リストで、アクセス許可セットをクリックまたはタップしてロールに追加します。In the drop-down list that appears as you type, click or tap the permission set to add it to the role. ロールに必要なすべてのアクセス許可セットに対して、この手順を繰り返します。Repeat this step for every other permission set that you want for the role.
  7. ロールの [ユーザー] タブをクリックまたはタップします。Click or tap the Users tab for the role.
  8. ロールに追加するユーザーまたはグループの名前または電子メール アドレスを入力します。Enter the names or email addresses of the users or groups to add to the role. 入力時に表示されるドロップダウン リストで、ユーザーをクリックまたはタップします。In the drop-down list that appears as you type, click or tap the user. ロールが割り当てられるユーザーまたはグループが一覧に追加されます。Users and groups that the role will be assigned to are added to the list.
  9. [Save] (保存) をクリックまたはタップします。Click or tap Save.

これで、このロールのユーザーまたはグループは、ロールに関連付けられたアクセス許可セットによってアクセスが許可されるデータにアクセスできるようになりました。The users or groups in this role can now access the data that any permission set that is associated with the role gives them access to. ユーザーがデータベースのデータを使用するには、セキュリティ ロールと、データを使用する PowerApps アプリへのアクセスが必要です。To use the data in your database, a user must have a security role and access to a PowerApps app that uses the data.

アクセス許可セットとロールの編集Edit permission sets and roles

作成したロールとアクセス許可セットを編集するには、[編集] ボタンをクリックします。To edit roles and permission sets after they have been created, click the Edit button.

ロールまたはアクセス許可セットを削除するには、[削除] ボタンを使用します。To delete a role or permission set, use the Delete button.

すぐに使用できるセキュリティ ロールOut-of-box security roles

すぐに使用できるセキュリティ ロールは 2 つ用意されています。Two security roles are provided out of the box:

  • データベースの所有者 - データベースの所有者ロールは、管理担当のユーザー向けです。Database Owner – The Database Owner role is intended for users who have an administrative function. 環境の作成者は、自動的にこのロールに割り当てられます。The creator of the environment is automatically assigned to this role. このロールのユーザーは常に、データベースのすべてのエンティティへのフル アクセス権があり、Users in this role always have full access to all entities in the database. 追加された新しいエンティティに対してもフル アクセス権を持ちます。They even have full access to new entities that are added. このロールのユーザーは、データベースのエンティティ スキーマを作成および編集することもできます。Users in this role can also create and edit entity schemas in the database. このロールにアクセス許可セットを追加する必要はなく、You don't have to add permission sets to this role. ユーザーを割り当てるだけで済みます。You just have to assign users to it.
  • 組織のユーザー - 組織のユーザー ロールは、すべてのユーザーに割り当てられる既定のロールです。Organization User – The Organization User role is the default role that is assigned to all users. このロールの目的は、すべてのユーザーがパブリック データを含むエンティティにアクセスできるようにすることです。The purpose of this role is to give all users access to the entities that contain public data. アプリが制限モードで共有されている場合、アプリで使用されるエンティティはこのロールに含まれている必要があります。If an app is shared in restricted mode, the entities that the app uses should be contained in this role. 組織のすべてのユーザーには既にこのロールが割り当てられているので、このロールを割り当てる必要はありません。You don't have to assign this role, because it's already assigned to everyone in your organization. 必要なのは、組織全体に付与するアクセス許可セットの追加のみです。You just have to add the permission sets that you want to give to your whole organization.