Roles 物件 (TMSL)
適用於: SQL Server 2016 和更新版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium
定義模型上指定許可權集合的角色。 角色成員資格是由 Windows 安全性主體所組成。 您可以設定角色的篩選,以限制對特定物件的存取。
物件定義
所有物件都有一組通用的屬性,包括名稱、類型、描述、屬性集合和批注。 Role 物件也有下列屬性。
modelPermission
建立資料庫的許可權範圍。 有效值為 none、
讀
readRefresh,
刷新
和系統管理員。
成員
成員包含成員名稱和標識碼,其中成員名稱是 Windows 安全性主體的別名或易記名稱,而標識碼是安全性識別符。 這兩者都是在角色定義中指定。
tablePermissions
數據表許可權是具名物件,具有透過 DAX 運算式定義的許可權。 這個屬性是選擇性的,用來套用安全性篩選條件。
用法
角色 物件用於 Alter 命令 (TMSL)、Create 命令 (TMSL)、CreateOrReplace 命令 (TMSL),以及 Delete 命令 (TMSL)。
Role 物件是 Model 的屬性,但也可以指定為 Database 對象的屬性,因為 Model 與 Database 之間的一對一對應。
建立、取代或改變角色物件時,請指定物件定義的所有讀寫屬性。 讀取寫入屬性的遺漏會被視為刪除。
完整語法
以下是模型之角色對象的架構表示。
"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
}
}