Objeto Roles (TMSL)
Aplica-se a: SQL Server 2016 e posteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium
Define uma função no modelo que especifica uma coleção de permissões. A associação de função consiste em entidades de segurança do Windows. Você pode definir filtros em uma função para restringir o acesso a objetos específicos.
Definição do objeto
Todos os objetos têm um conjunto comum de propriedades, incluindo nome, tipo, descrição, uma coleção de propriedades e anotações. Os objetos de função também têm as propriedades a seguir.
modelPermission
Estabelece um escopo de permissões em um banco de dados. Os valores válidos não são nenhum,
ler,
readRefresh,
Atualizar
e administrador.
members
Os membros consistem em um nome de membro e ID, em que o nome do membro é o alias ou o nome amigável de uma entidade de segurança do Windows, e a ID é o identificador de segurança. Ambos são especificados na definição de função.
tablePermissions
Uma permissão de tabela é um objeto nomeado com permissões definidas por meio de uma expressão DAX. Essa propriedade é opcional, usada para aplicar um filtro de segurança.
Uso
Os objetos de função são usados no comando Alter (TMSL),no comando Create (TMSL), no comando CreateOrReplace (TMSL) e no comando Delete (TMSL).
Um objeto Role é uma propriedade de um Model, mas também pode ser especificado como uma propriedade de um objeto Database, considerando o mapeamento um-para-um entre Model e Database.
Ao criar, substituir ou alterar um objeto de função, especifique todas as propriedades de leitura/gravação da definição de objeto. A omissão de uma propriedade de leitura/gravação é considerada uma exclusão.
Sintaxe completa
Abaixo está a representação de esquema de um objeto de função de um modelo.
"roles": {
"type": "array",
"items": {
"description": "ModelRole object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"modelPermission": {
"enum": [
"none",
"read",
"readRefresh",
"refresh",
"administrator"
]
},
"annotations": {
"type": "array",
"items": {
"description": "Annotation object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"additionalProperties": false
}
},
"members": {
"type": "array",
"items": {
"anyOf": [
{
"description": "WindowsModelRoleMember object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"memberName": {
"type": "string"
},
"memberId": {
"type": "string"
},
"annotations": {
"type": "array",
"items": {
"description": "Annotation object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
{
"description": "ExternalModelRoleMember object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"memberName": {
"type": "string"
},
"memberId": {
"type": "string"
},
"identityProvider": {
"type": "string"
},
"memberType": {
"enum": [
"auto",
"user",
"group"
]
},
"annotations": {
"type": "array",
"items": {
"description": "Annotation object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
]
}
},
"tablePermissions": {
"type": "array",
"items": {
"description": "TablePermission object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"filterExpression": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"annotations": {
"type": "array",
"items": {
"description": "Annotation object of Tabular Object Model (TOM)",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
}