Oggetto Roles (TMSL)
Si applica a: SQL Server 2016 e versioni successive di Analysis Services Azure Analysis Services Fabric/Power BI Premium
Definisce un ruolo nel modello che specifica una raccolta di autorizzazioni. L'appartenenza al ruolo è costituita da entità di sicurezza di Windows. È possibile impostare filtri in un ruolo per limitare l'accesso a oggetti specifici.
Definizione dell'oggetto
Tutti gli oggetti hanno un set comune di proprietà, tra cui nome, tipo, descrizione, raccolta di proprietà e annotazioni. Gli oggetti ruolo hanno anche le proprietà seguenti.
modelPermission
Stabilisce un ambito di autorizzazioni in un database. I valori validi non sono nessuno,
Leggere
readRefresh,
aggiornare
e amministratore.
members
I membri sono costituiti da un nome membro e un ID, dove il nome membro è l'alias o il nome descrittivo di un'entità di sicurezza di Windows e l'ID è l'identificatore di sicurezza. Entrambi vengono specificati nella definizione del ruolo.
tablePermissions
Un'autorizzazione di tabella è un oggetto denominato con autorizzazioni definite tramite un'espressione DAX. Questa proprietà è facoltativa, utilizzata per applicare un filtro di sicurezza.
Utilizzo
Gli oggetti ruolo vengono usati nel comando Alter (TMSL),nel comando Create (TMSL), nel comando CreateOrReplace (TMSL) e nel comando Delete (TMSL).
Un oggetto Role è una proprietà di un modello, ma può essere specificato anche come proprietà di un oggetto Database, dato il mapping uno-a-uno tra Model e Database.
Durante la creazione, la sostituzione o la modifica di un oggetto ruolo, specificare tutte le proprietà di lettura-scrittura della definizione dell'oggetto. L'omissione di una proprietà di lettura-scrittura viene considerata un'eliminazione.
Sintassi completa
Di seguito è riportata la rappresentazione dello schema di un oggetto ruolo di un modello.
"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
}
}