Roles オブジェクト (TMSL)
適用対象:SQL Server 2016 以降の Analysis Services Azure Analysis Services Fabric/Power BI Premium
アクセス許可のコレクションを指定するモデルのロールを定義します。 ロール メンバーシップは、Windows セキュリティ プリンシパルで構成されます。 ロールにフィルターを設定して、特定のオブジェクトへのアクセスを制限できます。
オブジェクト定義
すべてのオブジェクトには、名前、型、説明、プロパティ コレクション、注釈など、共通のプロパティ セットがあります。 Role オブジェクトには、次のプロパティもあります。
modelPermission
データベースに対するアクセス許可のスコープを確立します。 有効な値は none です。
read、
readRefresh、
更新
管理者に問い合わせてください。
members
メンバーは、メンバー名と ID の両方で構成されます。ここで、メンバー名は Windows セキュリティ プリンシパルの別名またはフレンドリ名であり、ID はセキュリティ識別子です。 どちらもロール定義で指定されます。
tablePermissions
テーブルのアクセス許可は、DAX 式を使用して定義されたアクセス許可を持つ名前付きオブジェクトです。 このプロパティは省略可能で、セキュリティ フィルターを適用するために使用されます。
使用
ロール オブジェクトは、 Alter コマンド (TMSL)、 Create コマンド (TMSL)、 CreateOrReplace コマンド (TMSL)、Delete コマンド (TMSL) で使用されます。
Role オブジェクトは Model のプロパティですが、Model と Database の間の 1 対 1 のマッピングを使用して、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
}
}