Seguridad de nivel de objetoObject-level security

Se aplica a: SíSQL Server Analysis Services SíAzure Analysis ServicesAPPLIES TO: yesSQL Server Analysis Services yesAzure Analysis Services

Seguridad del modelo de datos se inicia con la implementación de forma eficaz roles y los filtros de fila para definir permisos de usuario en objetos del modelo de datos y los datos.Data model security starts with effectively implementing roles and row-level filters to define user permissions on data model objects and data. A partir de modelos tabulares 1400, también puede definir la seguridad de nivel de objeto, que incluye seguridad de nivel de tabla y la seguridad de nivel de columna en la objeto Roles.Beginning with tabular 1400 models, you can also define object-level security, which includes table-level security and column-level security in the Roles object.

Seguridad de nivel de tablaTable-level security

Con la seguridad de nivel de tabla, puede no sólo restringe el acceso a datos de la tabla, pero también existe nombres de tablas confidenciales, ayudando a evitar que usuarios malintencionados detecten si una tabla.With table-level security, you can not only restrict access to table data, but also sensitive table names, helping prevent malicious users from discovering if a table exists.

Seguridad de nivel de tabla está establecido en los metadatos basados en JSON en Model.bim, Tabular Model Scripting Language (TMSL), o el modelo de objetos tabulares (TOM).Table-level security is set in the JSON-based metadata in the Model.bim, Tabular Model Scripting Language (TMSL), or Tabular Object Model (TOM). Establecer el metadataPermission propiedad de la permisos de tabla clase en el objeto Roles a ninguno.Set the metadataPermission property of the tablePermissions class in the Roles object to none.

En este ejemplo, la propiedad metadataPermission de la clase de permisos de tabla para la tabla Product se establece en none:In this example, the metadataPermission property of the tablePermissions class for the Product table is set to none:

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Product",
        "metadataPermission": "none"
      }
    ]
  }

Seguridad de nivel de columnaColumn-level security

Similar a la seguridad de nivel de tabla, con seguridad de nivel de columna puede no sólo restringir el acceso a datos de columna, sino también los nombres de columna confidencial, ayudando a evitar que usuarios malintencionados detecten una columna.Similar to table-level security, with column-level security you can not only restrict access to column data, but also sensitive column names, helping prevent malicious users from discovering a column.

Seguridad de nivel de columna se establece en los metadatos basados en JSON en Model.bim, Tabular Model Scripting Language (TMSL), o el modelo de objetos tabulares (TOM).Column-level security is set in the JSON-based metadata in the Model.bim, Tabular Model Scripting Language (TMSL), or Tabular Object Model (TOM). Establecer el metadataPermission propiedad de la permisos de columna clase en el objeto Roles a ninguno.Set the metadataPermission property of the columnPermissions class in the Roles object to none.

En este ejemplo, la propiedad metadataPermission de la clase de permisos de columna para la columna de la tasa Base en la tabla Employees se establece en none:In this example, the metadataPermission property of the columnPermissions class for the Base Rate column in the Employees table is set to none:

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Employee",
        "columnPermissions": [
          {
            "name": "Base Rate",
            "metadataPermission": "none"
          }
        ]
      }
    ]
  }

RestrictionsRestrictions

  • Seguridad de nivel de tabla no se puede establecer para un modelo si divide una cadena de relación.Table-level security cannot be set for a model if it breaks a relationship chain. Se genera un error en tiempo de diseño.An error is generated at design time. Por ejemplo, si hay relaciones entre las tablas A y B y B y C, no puede proteger la tabla B. Si la tabla B está protegida, una consulta en una tabla no se permite el tránsito 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 B.For example, if there are relationships between tables A and B, and B and C, you cannot secure table B. If table B is secured, a query on table A cannot transit the relationships between table A and B, and B and C. In this case, a separate relationship could be configured between tables A and B.

    Seguridad de nivel de tabla

  • Seguridad de nivel de fila y la seguridad de nivel de objeto no pueden combinarse de roles diferentes porque el acceso no deseado podría introducir a los datos protegidos.Row-level security and object-level security cannot be combined from different roles because it could introduce unintended access to secured data. Se genera un error en tiempo de consulta para los usuarios que son miembros de este tipo una combinación de roles.An error is generated at query time for users who are members of such a combination of roles.

  • Cálculos dinámicos (medidas, KPI, DetailRows) se restringen automáticamente si hacen referencia a una tabla protegida o columna.Dynamic calculations (measures, KPIs, DetailRows) are automatically restricted if they reference a secured table or column. Aunque no hay ningún mecanismo para proteger de forma explícita una medida, es posible proteger implícitamente una medida mediante la actualización de la expresión para hacer referencia a una tabla protegida o columna.While there is no mechanism to explicitly secure a measure, it is possible to implicitly secure a measure by updating the expression to refer to a secured table or column.

  • Las relaciones que hacen referencia a una columna protegida trabajar siempre la tabla en la columna no es segura.Relationships that reference a secured column work provided the table the column is in is not secured.

Vea tambiénSee Also

RolesRoles
Objeto Roles (TMSL)Roles object (TMSL)
Tabular Model Scripting Language (TMSL)Tabular Model Scripting Language (TMSL)
Modelo de objetos tabulares (TOM).Tabular Object Model (TOM).