Seguridad de nivel de objeto
Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
La seguridad del modelo de datos comienza con la implementación eficaz de roles y filtros de nivel de fila para definir permisos de usuario en los objetos y los datos del modelo de datos. Para los modelos tabulares 1400 y superiores, también puede definir la seguridad de nivel de objeto (OLS), que incluye la seguridad de nivel de tabla y la seguridad de nivel de columna en el objeto Roles. Cuando se configuran, se protegen los datos de tabla y columna, junto con los metadatos para evitar que un usuario malintencionado detecte que existe un objeto de este tipo.
OLS se puede configurar mediante el editor tabular de código abierto, el lenguaje de scripting de modelos tabulares (TMSL) o el modelo de objetos tabulares (TOM).
Seguridad de nivel de tabla
Con la seguridad de nivel de tabla, no solo puede restringir el acceso a los datos de tabla, sino también los metadatos confidenciales del nombre de tabla. Establezca la propiedad metadataPermission de la clase tablePermissions en el objeto Roles en none.
En este ejemplo, la propiedad metadataPermission de la clase tablePermissions de la tabla Product se establece en none:
"roles": [
{
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"tablePermissions": [
{
"name": "Product",
"metadataPermission": "none"
}
]
}
Seguridad de nivel de columna
De forma similar a la seguridad de nivel de tabla, con la seguridad de nivel de columna, no solo puede restringir el acceso a los datos de columna, sino también a metadatos de nombres de columna confidenciales. Establezca la propiedad metadataPermission de la clase columnPermissions en el objeto Roles en none.
En este ejemplo, la propiedad metadataPermission de la clase columnPermissions de la columna Tasa base de la tabla Employees está establecida en none:
"roles": [
{
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"tablePermissions": [
{
"name": "Employee",
"columnPermissions": [
{
"name": "Base Rate",
"metadataPermission": "none"
}
]
}
]
}
Restricciones
La seguridad de nivel de tabla no se puede establecer para un modelo si interrumpe una cadena de relaciones. Se genera un error en tiempo de diseño. Por ejemplo, si hay relaciones entre las tablas A y B y B y C, no se puede proteger la tabla B. Si la tabla B está protegida, una consulta de la tabla A no puede transitar las relaciones entre la tabla A y B y B y C. En este caso, se podría configurar una relación independiente entre las tablas A y C.
La seguridad de nivel de fila y la seguridad de nivel de objeto no se pueden combinar de diferentes roles porque podría introducir acceso no deseado a los datos protegidos. Se genera un error en el momento de la consulta para los usuarios que son miembros de esta combinación de roles.
Los cálculos dinámicos (medidas, KPI, DetailRows) se restringen automáticamente si hacen referencia a una tabla o columna protegidas. Aunque no hay ningún mecanismo para proteger explícitamente una medida, es posible proteger implícitamente una medida mediante la actualización de la expresión para hacer referencia a una tabla o columna protegidas.
Las relaciones que hacen referencia a un trabajo de columna protegido siempre que la tabla en la que se encuentra la columna no esté protegida.
Power BI
Las visualizaciones que hacen referencia a un objeto de modelo semántico con OLS configurado muestran el mismo mensaje que para un objeto eliminado o no existente.
Limitaciones
Los modelos con OLS configurados para uno o varios objetos de tabla o columna no se admiten con estas características de Power BI:
- Q&visualizaciones A
- Visualizaciones de conclusiones rápidas
- Visualizaciones de Narración inteligente
- Galería de tipos de datos de Excel
Consulte también
Roles
Objeto Roles (TMSL)
Tabular Model Scripting Language (TMSL)
Modelo de objetos tabulares (TOM).