Objek peran (TMSL)
Berlaku untuk: SQL Server 2016 dan yang lebih baru Analysis Services Azure Analysis Services Fabric/Power BI Premium
Menentukan peran pada model yang menentukan kumpulan izin. Keanggotaan peran terdiri dari prinsip keamanan Windows. Anda dapat mengatur filter pada peran untuk membatasi akses ke objek tertentu.
Definisi objek
Semua objek memiliki sekumpulan properti umum, termasuk nama, jenis, deskripsi, koleksi properti, dan anotasi. Objek peran juga memiliki properti berikut.
modelPermission
Menetapkan cakupan izin pada database. Nilai yang valid tidak ada,
baca,
readRefresh,
Refresh
dan administrator.
Anggota
Anggota terdiri dari nama anggota dan ID, di mana nama anggota adalah alias atau nama yang mudah diingat dari prinsip keamanan Windows, dan ID adalah pengidentifikasi keamanan. Keduanya ditentukan dalam definisi peran.
tablePermissions
Izin tabel adalah objek bernama dengan izin yang ditentukan melalui ekspresi DAX. Properti ini bersifat opsional, digunakan untuk menerapkan filter keamanan.
Penggunaan
Objek peran digunakan dalam perintah Alter (TMSL), perintah Create (TMSL), perintah CreateOrReplace (TMSL), dan perintah Delete (TMSL).
Objek Peran adalah properti Model, tetapi juga dapat ditentukan sebagai properti objek Database mengingat pemetaan satu-ke-satu antara Model dan Database.
Saat membuat, mengganti, atau mengubah objek peran, tentukan semua properti baca-tulis dari definisi objek. Kelalaian properti baca-tulis dianggap sebagai penghapusan.
Sintaks Penuh
Di bawah ini adalah representasi skema objek peran model.
"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
}
}