Roles-Objekt (TMSL)
Gilt für: SQL Server 2016 und höher Analysis Services Azure Analysis Services Fabric/Power BI Premium
Definiert eine Rolle im Modell, die eine Sammlung von Berechtigungen angibt. Die Rollenmitgliedschaft besteht aus Windows-Sicherheitsprinzipalen. Sie können Filter für eine Rolle festlegen, um den Zugriff auf bestimmte Objekte einzuschränken.
Objektdefinition
Alle Objekte verfügen über einen gemeinsamen Satz von Eigenschaften, einschließlich Name, Typ, Beschreibung, einer Eigenschaftenauflistung und Anmerkungen. Rollenobjekte verfügen außerdem über die folgenden Eigenschaften.
modelPermission
Richtet einen Berechtigungsbereich für eine Datenbank ein. Gültige Werte sind keine,
read,
readRefresh,
Aktualisieren
und Administrator.
members
Member bestehen aus einem Membernamen und einer ID, wobei member name der Alias oder Anzeigename eines Windows-Sicherheitsprinzipals und die ID der Sicherheitsbezeichner ist. Beide werden in der Rollendefinition angegeben.
tablePermissions
Eine Tabellenberechtigung ist ein benanntes Objekt mit über einen DAX-Ausdruck definierten Berechtigungen. Diese Eigenschaft ist optional und wird zum Anwenden eines Sicherheitsfilters verwendet.
Verbrauch
Rollenobjekte werden in alter command (TMSL), Create command (TMSL), CreateOrReplace command (TMSL) und Delete command (TMSL) verwendet.
Ein Role-Objekt ist eine Eigenschaft eines Modells, kann aber auch als Eigenschaft eines Database-Objekts angegeben werden, wenn die 1:1-Zuordnung zwischen Model und Database gegeben wird.
Geben Sie beim Erstellen, Ersetzen oder Ändern eines Rollenobjekts alle Lese-/Schreibeigenschaften der Objektdefinition an. Das Auslassen einer Lese-/Schreibeigenschaft wird als Löschung betrachtet.
Vollständige Syntax
Im Folgenden finden Sie die Schemadarstellung eines Rollenobjekts eines Modells.
"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
}
}