Configurar seguridad de base de datosConfigure database security

Common Data Service usa un modelo de seguridad basado en rol que ayuda a proteger el acceso a la base de datos.The Common Data Service uses a role-based security model to help secure access to the database. En este tema se explica cómo crear los artefactos de seguridad necesarios para ayudarle proteger una aplicación.This topic explains how to create the security artifacts that you must have to help secure an app. Estos roles de usuario controlan el acceso en tiempo de ejecución a los datos y son independientes de los roles de entorno que rigen los administradores de entorno y los creadores de entorno.The user roles control run-time access to data and are separate from the Environment roles that govern environment administrators and environment makers. Para obtener información general acerca de los entornos, consulte Environments overview (Introducción a los entornos).For an overview of environments, see Environments overview.

Es importante que sepa el nivel de acceso a estas entidades que necesitan los usuarios de la aplicación.It's important that you understand what level of access to these entities users of the app require. Common Data Service admite los permisos de creación, lectura, actualización y eliminación (CRUD) en las entidades.The Common Data Service supports create, read, update, and delete (CRUD) permissions on entities.

  • Crear: el usuario puede crear entradas nuevas en la entidad.Create – A user can create new entries in the entity.
  • Leer: el usuario puede ver y buscar entradas existentes en la entidad.Read – A user can view and search existing entries in the entity.
  • Actualizar: el usuario puede actualizar o editar una entrada existente en la entidad.Update – A user can update or edit an existing entry in the entity.
  • Eliminar: el usuario puede eliminar o quitar una entrada existente en la entidad.Delete – A user can delete or remove an existing entry in the entity.

Los dos niveles de permiso que se usan con más frecuencia son el acceso de solo lectura y el acceso total.The two permission levels that are most often used are read-only access and full access. Common Data Service incluye conjuntos de permisos en estos dos niveles de permisos para todas sus entidades.The Common Data Service includes permission sets at these two permission levels for all its entities. Los conjuntos de permisos de visualización proporcionan acceso de lectura a una entidad.View permission sets provide read access to an entity. Los conjuntos de permisos de mantenimiento proporcionan acceso completo a una entidad.Maintain permission sets provide full access to an entity.

El modelo de seguridad permite cualquier combinación de estos permisos que se asignarán a un rol de usuario.The security model enables any combination of these permissions to be assigned to a user role. Los roles combinan los distintos permisos concedidos en los conjuntos de permisos que se les han agregado.Roles combine the various permissions that are granted across the permission sets that are added to them. Por lo tanto, los miembros de un rol pueden acceder a todos los datos a los que tienen acceso los conjuntos de permisos que se incluyen en el rol.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. Para más información acerca del modelo de seguridad de Common Data Service, consulte Modelo de seguridad.For more information about the Common Data Service security model, see Security model.

Identificación de las entidadesIdentify the entities

Para configurar los controles de acceso correctos para una aplicación, debe saber qué entidades usa la aplicación.To configure the correct access controls for an app, you must know what entities the app uses. Para ver una lista de las entidades que usa una aplicación, siga estos pasos.To see a list of the entities that an app uses, follow these steps.

  1. Abra la aplicación en Microsoft PowerApps Studio.Open the app in Microsoft PowerApps Studio.
  2. En la pestaña Contenido, pulse o haga clic en Orígenes de datos.On the Content tab, click or tap Data sources. La lista de orígenes de datos se muestra en el panel derecho.The list of data sources appears in the right pane.

Configuración de la seguridadConfigure security

Cuando se crea una entidad nueva, también debe crear un conjunto de permisos nuevo o editar uno existente para proporcionar acceso a los datos de la entidad.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. Cuando se crea una aplicación, es aconsejable crear también un conjunto de permisos que proporcione acceso a todas las entidades que se necesitan para ejecutar la aplicación.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. La seguridad se administra en el centro de administración.Security is managed in the admin center.

  1. Anta el centro de administración.Open the admin center.
  2. Pulse o haga clic en el entorno que contiene la base de datos.Click or tap the environment that contains your database.
  3. Pulse o haga clic en Seguridad.Click or tap Security. Puede usar entonces las pestañas Conjuntos de permisos y Roles de usuario para configurar la seguridad en la base de datos.You can then use the Permission sets and User roles tabs to configure security on your database.

Creación de un conjunto de permisosCreate a permission set

Para habilitar el acceso a una nueva aplicación, es preciso crear primero un conjunto de permisos nuevo.To enable access to a new app, you must first create a new permission set.

  1. Pulse o haga clic en Conjuntos de permisos.Click or tap Permission sets.
  2. Pulse o haga clic en Nuevo conjunto de permisos para crear un conjunto de permisos.Click or tap New permission set to create a permission set.
  3. Escriba un nombre y una descripción para el conjunto de permisos, y, después, pulse o haga clic en Crear.Enter a name and description for the permission set, and then tap or click Create. El nuevo conjunto de permisos aparece en la lista de conjuntos de permisos.The new permission set appears in the list of permission sets.
  4. Pulse o haga clic en el conjunto de permisos que acaba de crear.Click or tap the permission set that you just created.
  5. Pulse o haga clic en la pestaña Entidades. La pestaña Entidades contiene una lista de todas las entidades de la base de datos.Click or tap the Entities tab. The Entities tab contains a list of all the entities in your database. Para cada entidad que se usa en la aplicación, active la casilla para el permiso que desea permitir.For each entity that is used in your app, select the check box for the permission to allow.
  6. Haga clic o pulse en Guardar.Click or tap Save.

Creación de una directiva (Technical Preview)Create a policy (Technical Preview)

Para habilitar o restringir el acceso a los registros de una entidad, primero debe crear una directiva.To enable or restrict access to the records in an entity, you must first create a policy.

  1. Pulse o haga clic en Directivas.Click or tap Policies.
  2. Pulse o haga clic en Nueva directiva.Click or tap New policy.
  3. Escriba un nombre y una descripción para la directiva.Enter a name and description for the policy.
  4. Seleccione el tipo de directiva que quiere crear.Select the type of policy to create. Si va a crear una directiva de la lista desplegable, escriba la lista que desea usar.If you're creating a picklist policy, enter the picklist to use.
  5. Seleccione el operador que quiere utilizar.Select the operator to use.
  6. Seleccione el valor de la directiva para comprobar.Select the value for the policy to check against.
  7. Pulse o haga clic en Crear.Click or tap Create.

Asignación de una directiva (Technical Preview)Assign a policy (Technical Preview)

Para aplicar una directiva, debe asignarla a una entidad de datos de un conjunto de permisos.To apply a policy, you must assign it to a data entity in a permission set.

  1. Pulse o haga clic en Conjuntos de permisos.Click or tap Permission Sets.
  2. Pulse o haga clic en el conjunto de permisos al que asignar una directiva.Click or tap the permission set to assign a policy under.
  3. Pulse o haga clic en el botón Editar de la entidad que se va a asignar una directiva.Click or tap the Edit button for the entity to assign a policy to.
  4. Expanda la sección Asignación de directiva.Expand the Policy assignment section.
  5. Seleccione las operaciones de datos a las que se va a aplicar la directiva (Crear, Leer, Actualizar o Eliminar).Select the data operations to apply a policy to (Create, Read, Update, or Delete).
  6. Seleccione el campo de entidad en el que se basará la directiva.Select the entity field that the policy will be based on.
  7. Seleccione la directiva que se va a asignar.Select the policy to assign.
  8. Pulse o haga clic en Asignar.Click or tap Assign.
  9. Haga clic o pulse en Guardar.Click or tap Save.

Creación y asignación de un rolCreate and assign a role

Después de incluir los permisos adecuados en un conjunto de permisos, puede crear un rol que se puede asignar a los usuarios.After the correct permissions are included in a permission set, you can create a role that can be assigned to users.

  1. Pulse o haga clic en Roles de usuario.Click or tap User roles.
  2. Pulse o haga clic en Nuevo rol.Click or tap New role.
  3. Escriba un nombre y una descripción para el rol y, después, pulse o haga clic en Crear.Enter a name and description for the role, and then click or tap Create. El nuevo rol aparece en la lista de roles Usuario.The new role appears in the User roles list.
  4. Pulse o haga clic en el rol que acaba de crear.Click or tap the role that you just created.
  5. Pulse o haga clic en la pestaña Conjuntos de permisos.Click or tap the Permission sets tab.
  6. Escriba el nombre del conjunto de permisos que ha creado antes.Enter the name of the permission set that you created earlier. En la lista desplegable que aparece a medida que escribe, haga clic o pulse en el conjunto de permisos para agregarlo al rol.In the drop-down list that appears as you type, click or tap the permission set to add it to the role. Repita este paso para cada conjunto de permisos que desee para el rol.Repeat this step for every other permission set that you want for the role.
  7. Pulse o haga clic en la pestaña Usuarios del rol.Click or tap the Users tab for the role.
  8. Escriba los nombres o las direcciones de correo electrónico de los usuarios o grupos que desea agregar al rol.Enter the names or email addresses of the users or groups to add to the role. En la lista desplegable que aparece a medida que escribe, haga clic o pulse en el usuario.In the drop-down list that appears as you type, click or tap the user. Los usuarios y grupos a los que se va a asignar el rol se agregan a la lista.Users and groups that the role will be assigned to are added to the list.
  9. Haga clic o pulse en Guardar.Click or tap Save.

Los usuarios o grupos de este rol ahora pueden acceder a los datos a los que el conjunto de permisos que está asociado al rol les da acceso.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. Para utilizar los datos de la base de datos, el usuario debe tener un rol de seguridad y acceder a una aplicación de PowerApps que use los datos.To use the data in your database, a user must have a security role and access to a PowerApps app that uses the data.

Edición de conjuntos de permisos y rolesEdit permission sets and roles

Para editar roles y conjuntos de permisos cuando se hayan creado, haga clic en el botón Editar.To edit roles and permission sets after they have been created, click the Edit button.

Para eliminar un rol o un conjunto de permisos, use botón Eliminar.To delete a role or permission set, use the Delete button.

Roles de seguridad de fábricaOut-of-box security roles

Hay dos roles de seguridad de fábrica:Two security roles are provided out of the box:

  • Propietario de la base de datos: el rol de propietario de la base de datos está pensado para usuarios que tengan una función administrativa.Database Owner – The Database Owner role is intended for users who have an administrative function. El creador del entorno se asigna automáticamente a este rol.The creator of the environment is automatically assigned to this role. Los usuarios de este rol siempre tendrán acceso completo a todas las entidades de la base de datos.Users in this role always have full access to all entities in the database. Incluso tienen acceso completo a las nuevas entidades que se agregan.They even have full access to new entities that are added. Los usuarios de este rol también pueden crear y editar esquemas de entidades en la base de datos.Users in this role can also create and edit entity schemas in the database. No tiene que agregar conjuntos de permisos a este rol.You don't have to add permission sets to this role. Solo tendrá que asignarle usuarios.You just have to assign users to it.
  • Usuario de la organización: este rol es el rol predeterminado que se asigna a todos los usuarios.Organization User – The Organization User role is the default role that is assigned to all users. El propósito de este rol es proporcionar a todos los usuarios acceso a las entidades que contienen datos públicos.The purpose of this role is to give all users access to the entities that contain public data. Si una aplicación se comparte en modo restringido, las entidades que usa la aplicación deben incluirse en este rol.If an app is shared in restricted mode, the entities that the app uses should be contained in this role. No tiene que asignar este rol, porque ya está asignado a todas las personas de su organización.You don't have to assign this role, because it's already assigned to everyone in your organization. Solo tiene que agregar los conjuntos de permisos que desea dar a toda la organización.You just have to add the permission sets that you want to give to your whole organization.