オブジェクト レベルのセキュリティ

適用対象: 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 が構成されたセマンティック モデル オブジェクトを参照する視覚化では、削除されたオブジェクトまたは既存でないオブジェクトの場合と同じメッセージが表示されます。

Power BI 視覚化の OLS メッセージ

制限事項

1 つ以上のテーブルオブジェクトまたは列オブジェクトに対して OLS が構成されたモデルは、次の Power BI 機能ではサポートされていません。

  • Q&A 視覚化
  • クイック分析情報の視覚化
  • スマート説明の視覚化
  • Excel のデータ型ギャラリー

こちらもご覧ください

ロール
Roles オブジェクト (TMSL)
Tabular Model Scripting Language (TMSL)
表形式オブジェクト モデル (TOM)