オブジェクト レベルのセキュリティ
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
データ モデルのセキュリティは、 ロール と行レベルのフィルターを効果的に実装して、データ モデル オブジェクトとデータに対するユーザーのアクセス許可を定義することから始まります。 表形式の 1400 以降のモデルでは、Roles オブジェクトにテーブル レベルのセキュリティと列レベルのセキュリティを含む オブジェクト レベルのセキュリティ (OLS) を定義することもできます。 構成すると、テーブルと列のデータがセキュリティで保護され、メタデータと共に、悪意のあるユーザーがそのようなオブジェクトが存在することを検出するのを防ぐのに役立ちます。
OLS は、オープンソースの 表形式エディター、 表形式モデル スクリプト言語 (TMSL)、または 表形式オブジェクト モデル (TOM) を使用して構成できます。
テーブルレベルのセキュリティ
テーブル レベルのセキュリティを使用すると、テーブル データへのアクセスを制限するだけでなく、機密性の高いテーブル名メタデータも制限できます。 Roles オブジェクトの tablePermissions クラスの metadataPermission プロパティを none に設定します。
この例では、Product テーブルの tablePermissions クラスの metadataPermission プロパティが none に設定されています。
"roles": [
{
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"tablePermissions": [
{
"name": "Product",
"metadataPermission": "none"
}
]
}
列レベルのセキュリティ
テーブル レベルのセキュリティと同様に、列レベルのセキュリティでは、列データへのアクセスを制限するだけでなく、機密性の高い列名メタデータも制限できます。 Roles オブジェクトの columnPermissions クラスの metadataPermission プロパティを none に設定します。
この例では、Employees テーブルの Base Rate 列の columnPermissions クラスの metadataPermission プロパティが none に設定されています。
"roles": [
{
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"tablePermissions": [
{
"name": "Employee",
"columnPermissions": [
{
"name": "Base Rate",
"metadataPermission": "none"
}
]
}
]
}
制限
テーブル レベルのセキュリティは、リレーションシップ チェーンが壊れた場合、モデルに対して設定できません。 デザイン時にエラーが生成されます。 たとえば、テーブル A とテーブル B と B と C の間にリレーションシップがある場合、テーブル B をセキュリティで保護することはできません。テーブル B がセキュリティで保護されている場合、テーブル A に対するクエリは、テーブル A と B、および B と C の間のリレーションシップを転送できません。この場合、テーブル A と C の間に個別のリレーションシップを構成できます。
行レベルのセキュリティとオブジェクト レベルのセキュリティは、セキュリティで保護されたデータに意図しないアクセスを導入する可能性があるため、異なるロールから組み合わせることはできません。 このようなロールの組み合わせのメンバーであるユーザーに対して、クエリ時にエラーが生成されます。
動的計算 (メジャー、KPI、DetailRows) は、セキュリティで保護されたテーブルまたは列を参照する場合に自動的に制限されます。 メジャーを明示的にセキュリティで保護するメカニズムはありませんが、セキュリティで保護されたテーブルまたは列を参照するように式を更新することで、メジャーを暗黙的にセキュリティで保護できます。
セキュリティで保護された列を参照するリレーションシップは、列が存在するテーブルがセキュリティで保護 されていない 場合に機能します。
Power BI
OLS が構成されたセマンティック モデル オブジェクトを参照する視覚化では、削除されたオブジェクトまたは既存でないオブジェクトの場合と同じメッセージが表示されます。
制限事項
1 つ以上のテーブルオブジェクトまたは列オブジェクトに対して OLS が構成されたモデルは、次の Power BI 機能ではサポートされていません。
- Q&A 視覚化
- クイック分析情報の視覚化
- スマート説明の視覚化
- Excel のデータ型ギャラリー
こちらもご覧ください
ロール
Roles オブジェクト (TMSL)
Tabular Model Scripting Language (TMSL)
表形式オブジェクト モデル (TOM)