Autorización del servicio Conectividad a datos empresariales

Última modificación: jueves, 15 de abril de 2010

Hace referencia a: SharePoint Server 2010

En este artículo
Autorización back-end
Autorización de nivel medio
Autorización back-end con UserContextFilter
Objetos de metadatos con acceso controlado y protegibles individualmente
Resumen de derechos

Puede usar cualquiera de los dos patrones de autorización para controlar el acceso de los usuarios a los datos administrados por Servicios de conectividad empresarial (BCS) de Microsoft: autorización back-end o autorización de nivel intermedio.

Autorización back-end

Si el servidor back-end puede llevar a cabo autorización por usuario, puede usar la autorización back-end para controlar el acceso de los usuarios. Puede usar la autorización back-end en las siguientes situaciones:

  • Se usa el modelo de suplantación y delegación para la autenticación y hay una autorización por usuario en el servidor back-end. En el modelo de suplantación y delegación, el cliente delega la autenticación al nivel intermedio, que suplanta al cliente y autentica en el servidor back-end en nombre del cliente. Sin embargo, si el servidor back-end no admite la autorización por usuario, es posible que deba usar el otro mecanismo de autorización descrito en este tema.

  • El servidor back-end admite la autorización por usuario, y usa autorización de nivel de aplicación, pasando el nombre de usuario en el filtro Username.

  • El servidor back-end ofrece limitación de peticiones de conexión u otras ventajas de rendimiento.

Autorización de nivel medio

En el modelo de autenticación de subsistema de confianza, el nivel medio autentica en el servidor back-end como una identidad fija, y el servidor back-end nunca conoce la identidad del usuario. Por lo tanto, si usa este modelo de autenticación, no puede usar la autorización back-end, incluso si el servidor back-end admite la autorización por usuario, ya que el servidor no puede autorizar cada usuario.

En estos casos, use la autorización de nivel intermedio del Servicio de conectividad de datos profesionales (BDC) en su lugar. BDC está diseñado para llevar a cabo la autorización por usuario en el nivel intermedio. Este modelo de autorización tiene las siguientes ventajas:

  • Agrupación de conexiones a la base de datos.

  • Un único modelo de autorización.

  • Compatibilidad con escenarios donde no hay autorización por usuario en el servidor back-end.

  • Control de acceso granular. BDC permite establecer listas de control de acceso (ACL) en los siguientes niveles:

    • Catálogo de metadatos   Es el objeto de nivel superior de BDC, que controla quién puede importar o exportar modelos BDC.

    • LobSystem

    • Entity

    • Method

    • MethodInstance

    Además, puede tener diferentes vistas de las entidades de BDC. Por lo tanto, puede controlar los campos que puede ver un usuario.

Autorización back-end con UserContextFilter

El filtro UserContextFilter indica a BDC que agregue el nombre del usuario actual a la llamada de método back-end. A continuación, el método back-end puede usar el nombre de usuario para comprobar el acceso del usuario o para limitar las instancias de la entidad devueltas desde el servidor back-end por el contexto del usuario actual.

Esto resulta especialmente útil cuando las aplicaciones back-end no tienen información de autorización o no la usan por motivo de licencias o limitación de peticiones de conexión. En estos casos, pueden usar una cuenta de grupo para autenticar y usar el nombre de usuario pasado para determinar y controlar el acceso a los datos.

Otro escenario para usar un filtro UserContext puede ser si un autor de metadatos crea metadatos que tomen un nombre de usuario como un filtro controlable por el usuario, y devuelve datos personales confidenciales; en este caso, un usuario podría ver los datos de otro usuario. Para evitar que esto ocurra, puede usar el filtro UserContext para pasar el nombre de usuario a la llamada de método.

Nota

El filtro UserContext es seguro y el valor del filtro no se puede reemplazar.

Para los usuarios de Windows, BDC pasa la propiedad System.Security.Principal.WindowsPrincipal.Identity en el formato nombrededominio\nombredeusuario.

Objetos de metadatos con acceso controlado y protegibles individualmente

Todos los objetos de la jerarquía de objetos de metadatos de BDC (Application, Entity, Method, MethodInstance, Parameter, TypeDescriptor, etc.) tienen una ACL que especifica los derechos que tienen las entidades de seguridad sobre el objeto. De los 13 objetos de metadatos, solo LobSystem, Entity, Method y MethodInstance tienen su propia ACL que se controla de forma individual. Estos objetos se denominan objetos de metadatos protegibles individualmente. Otros objetos de metadatos heredan la ACL de su objeto primario inmediato y se denominan objetos de metadatos con acceso controlado.

Resumen de derechos

En la siguiente tabla se muestran los derechos que el administrador o alguien con el derecho Administrar permisos puede establecer en una aplicación de BDC.

Nota importanteImportante

Después de cambiar los permisos de los usuarios en BDC, debe volver a ejecutar el rastreo para que les sea posible buscar en los datos profesionales. La razón es que las ACL se rastrean con los datos y, por lo tanto, no estarán actualizadas si las cambia.

Tabla 1. Resumen de los derechos que pueden establecerse en una aplicación de BDC

Derecho

Se aplica a

Descripción

Edición

Objetos de metadatos con control de acceso

  • Actualizar el objeto

  • Eliminar el objeto

  • Crear objeto secundario

  • Agregar propiedad

  • Quitar propiedad

  • Borrar propiedades

  • Agregar nombre para mostrar localizado

  • Quitar nombre para mostrar localizado

  • Borrar nombre para mostrar localizado

Establecer permisos

Objetos de metadatos protegibles individualmente

  • Establecer permisos

  • Copiar permisos a secundarios

Ejecutar (Ver)

MethodInstance

  • Ejecutar el objeto MethodInstance a través de varias llamadas a la API en tiempo de ejecución

Seleccionable en clientes

Aplicación y entidad

  • Usar en elementos web y en listas

  • Ver en el selector