Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La seguridad de las celdas se usa para permitir o denegar el acceso para medir los datos dentro de un cubo. En la ilustración siguiente se muestra una combinación de métricas permitidas y denegadas en una tabla dinámica, cuando el usuario se conecta con un rol que solo permite acceder a ciertas métricas. En este ejemplo, Reseller Sales Amount y Reseller Total Product Cost son las únicas medidas disponibles a través de este rol. Todas las demás medidas se deniegan implícitamente (los pasos que se usan para obtener este resultado se proporcionan a continuación en la sección siguiente, Permitir el acceso a medidas específicas).
Los permisos de celda se aplican a los datos dentro de la celda y no a sus metadatos. Observe cómo la celda sigue siendo visible en los resultados de una consulta, mostrando un valor de #N/A en lugar del valor real de la celda. El #N/A valor aparece en la celda a menos que la aplicación cliente traduzca el valor u otro valor se especifique estableciendo la propiedad Secured Cell Value en la cadena de conexión.
Para ocultar la celda por completo, debe limitar las dimensiones de miembros, los atributos de dimensión y los miembros del atributo de dimensión que se pueden ver. Para obtener más información, consulte Concesión de acceso personalizado a datos de dimensión (Analysis Services).
Como administrador, puede especificar si los miembros de rol tienen permisos de lectura, lectura contingente, o lectura y escritura en celdas de un cubo. Colocar permisos en una celda es el nivel más bajo de seguridad permitido, por lo que antes de empezar a aplicar permisos en este nivel, es importante tener en cuenta algunos hechos:
La seguridad de nivel de celda no puede expandir los derechos que se han restringido en un nivel superior. Un ejemplo: si un rol deniega el acceso a los datos de dimensión, la seguridad de nivel de celda no puede invalidar el conjunto denegado. Otro ejemplo: considere un rol con
Readpermiso sobre un cubo y permiso de lectura y escritura en una celda; el permiso de datos de celda no será de lectura y escritura; seráRead.Los permisos personalizados a menudo deben coordinarse entre los miembros de dimensión y las celdas dentro del mismo rol. Por ejemplo, supongamos que desea denegar el acceso a varias medidas relacionadas con el descuento para diferentes combinaciones de revendedores. Dados los revendedores como datos de dimensión y Cantidad de descuento como medida, tendría que combinar dentro de los mismos permisos de rol en la medida (mediante las instrucciones de este tema), así como en los miembros de dimensión. Consulte Concesión de acceso personalizado a datos de dimensión (Analysis Services) para obtener más información sobre cómo establecer permisos de dimensión.
La seguridad de nivel de celda se especifica mediante expresiones MDX. Dado que una celda es una tupla (es decir, un punto de intersección en varias dimensiones y medidas potencialmente múltiples), es necesario usar MDX para identificar celdas específicas.
Permitir el acceso a medidas específicas
Puede usar la seguridad de las celdas para elegir explícitamente qué medidas están disponibles. Una vez que identifique específicamente qué miembros están permitidos, todas las demás medidas dejan de estar disponibles. Este es quizás el escenario más sencillo de implementar a través del script MDX, como se muestra en los pasos siguientes.
En SQL Server Management Studio, conéctese a la instancia de Analysis Services, seleccione una base de datos, abra la carpeta Roles y, a continuación, haga clic en un rol de base de datos (o cree un rol de base de datos). La membresía debiera ya estar especificada, y el rol debe tener
Readacceso al cubo. Consulte Conceder permisos de cubo o modelo (Analysis Services) si necesita ayuda con este paso.En Datos de celda, compruebe la selección del cubo para asegurarse de que ha elegido la correcta y, a continuación, seleccione Habilitar permisos de lectura.
Si selecciona solo esta casilla y no proporciona una expresión MDX, el efecto es el mismo que denegar el acceso a todas las celdas del cubo. Esto se debe a que el conjunto permitido predeterminado es un conjunto vacío cada vez que Analysis Services resuelve un subconjunto de celdas de cubo.
Escriba la siguiente expresión MDX.
(Measures.CurrentMember IS [Measures].[Reseller Sales Amount]) OR (Measures.CurrentMember IS [Measures].[Reseller Total Product Cost])Esta expresión identifica explícitamente qué medidas son visibles para los usuarios. No habrá otras medidas disponibles para los usuarios que se conecten a través de este rol. Observe que CurrentMember (MDX) establece el contexto y va seguido de la medida permitida. El efecto de esta expresión es mostrar el valor si el miembro actual incluye Reseller Sales Amount o Reseller Total Product Cost. De lo contrario, deniegue el acceso. La expresión tiene varias partes, con cada parte entre paréntesis. El
ORoperador se usa para especificar varias medidas.
Denegar el acceso a medidas específicas
La siguiente expresión MDX, también especificada en Crear Rol | Datos de Celda | Permitir la lectura del contenido del cubo, tiene el efecto opuesto, haciendo que ciertas medidas no estén disponibles. En este ejemplo, el importe del descuento y el porcentaje de descuento se hacen no disponibles utilizando los operadores NOT y AND. Todas las demás medidas serán visibles para los usuarios que se conectan a través de este rol.
(NOT Measures.CurrentMember IS [Measures].[Discount Amount]) AND (NOT Measures.CurrentMember IS [Measures].[Discount Percentage])
En Excel, la seguridad de las celdas es evidente en la siguiente ilustración:
Establecer permisos de lectura en medidas calculadas
Los permisos de una medida calculada se pueden establecer independientemente de sus partes constituyentes. Vaya a la sección siguiente sobre Read-Contingent si desea coordinar los permisos entre una medida calculada y sus medidas dependientes.
Para comprender cómo funcionan los permisos de lectura para una medida calculada, considere Reseller Gross Profit en AdventureWorks. Se deriva de las medidas Reseller Sales Amount (Importe de ventas de revendedor) y Reseller Total Product Cost (Costo total del producto). Siempre que un rol tenga permiso de lectura en las celdas de Reseller Gross Profit, esta medida se puede ver incluso si los permisos están expresamente denegados en las demás medidas. Como demostración, copie la siguiente expresión MDX en Crear rol | Datos de celda | Permitir la lectura del contenido del cubo.
(NOT Measures.CurrentMember IS [Measures].[Reseller Sales Amount])
AND (NOT Measures.CurrentMember IS [Measures].[Reseller Total Product Cost])
En Excel, conéctese al cubo mediante el rol actual y elija las tres medidas para ver los efectos de la seguridad de las celdas. Observe que las medidas del conjunto denegado no están disponibles, pero la medida calculada es visible para el usuario.
Establecer permisos Read-Contingent en medidas calculadas
La seguridad de celdas ofrece una alternativa, Read-Contingent, para establecer permisos en las celdas relacionadas que participan en un cálculo. Considere de nuevo el ejemplo Reseller Gross Profit . Al escribir la misma expresión MDX proporcionada en la sección anterior, esta vez se coloca en la segunda área de texto del cuadro de diálogo Crear Rol | para datos de celda (en el área de texto siguiente Permitir la lectura del contenido de celdas dependiendo de la seguridad de la celda), el resultado es evidente al verlo en Excel. Dado que Reseller Gross Profit depende del importe de ventas del revendedor y del costo total del producto del revendedor, el beneficio bruto ahora es inaccesible porque sus partes constituyentes son inaccesibles.
Nota:
¿Qué ocurre si establece los permisos Read-Contingent y de lectura en una celda dentro del mismo rol? El rol proporcionará permisos de lectura en la celda y no permisos condicionales de lectura.
Recuerde desde las secciones anteriores que al activar solo la casilla Habilitar permisos contingentes de lectura, sin proporcionar una expresión MDX, se deniega el acceso a todas las celdas del cubo. Esto se debe a que el conjunto permitido predeterminado es un conjunto vacío cada vez que Analysis Services resuelve un subconjunto de celdas de cubo.
Establecer permisos de lectura y escritura en una celda
Los permisos de lectura y escritura en una celda se usan para habilitar la escritura diferida, siempre que los miembros tengan permisos de lectura y escritura en el propio cubo. Los permisos concedidos en el nivel de celda no pueden ser mayores que los permisos concedidos en el nivel de cubo. Consulte Set Partition Writeback (Establecer escritura diferida de particiones ) para obtener más información.
Véase también
Generador MDX (Analysis Services - Datos multidimensionales)
El script MDX básico (MDX)
Conceder permisos de proceso (Servicios de análisis)
Otorgar permisos en una dimensión (Analysis Services)
Otorgar acceso personalizado a datos de dimensiones (Analysis Services)
Otorgar permisos de cubo o modelo (Servicios de Análisis)