SSMSでのロールの作成と管理

適用対象: Azure Analysis Services Power BI Premiumを SQL Server Analysis Servicesする

この記事では、SQL Server Management Studio (SSMS) を使用してロールを作成し、ロールのアクセス許可を定義し、デプロイされた表形式モデルまたはPower BI Premiumデータセットのユーザーを追加する方法について説明します。 Visual Studioを使用して表形式モデル プロジェクトのロールを作成および管理する方法については、「Visual Studioでのロールの作成と管理」を参照してください。

SSMS を使用する

新しいロールを作成するには

  1. SQL Server Management Studioで、新しいロールを作成する表形式モデル データベースを展開し、[ロール] を右クリックし、[新しいロール] をクリックします。

  2. [ロールの作成] ダイアログ ボックスの [ページの選択] ウィンドウで [全般]をクリックします。

  3. 全般設定のウィンドウの [名前] フィールドにロールの名前を入力します。

    メンバーの種類 (Finance Manager や人事スペシャリストなど) を明確に識別する名前を使用し、名前にコンマが含まれていないことを確認します。 既定では、既定ロールの名前に番号が付き、新しいロールを作成するたびにその番号が増加します。

  4. [このロールにデータベースの権限を設定します]で、次の権限オプションのいずれかを選択します。

    権限 説明
    フル コントロール (管理者) メンバーは、モデル スキーマを変更したり、すべてのデータを表示したりできます。
    データベースの処理 メンバーは、処理およびすべて処理の各操作を実行できます。 モデル スキーマを変更することはできませんし、データを表示することもできません。
    読み取り メンバーは、データを表示できますが (行フィルターに従って)、モデル スキーマを変更することはできません。
  5. [ロールの作成] ダイアログ ボックスの [ページの選択] ウィンドウで [メンバーシップ]をクリックします。

  6. メンバーシップ設定ウィンドウで、[ 追加] をクリックし、[ ユーザーまたはグループの選択 ] ダイアログ ボックスで、メンバーとして追加するユーザーまたはグループを追加します。

  7. 作成するロールに読み取りアクセス許可がある場合は、DAX 数式を使用して任意のテーブルの行フィルターを追加できます。 行フィルターを追加するには、[ ロールのプロパティ - <ロール名> ] ダイアログ ボックスの [ ページの選択] で[ 行フィルター] をクリックします。

  8. 行フィルター ウィンドウでテーブルを選択し、[DAX フィルター] フィールドをクリックし、[DAX フィルター - <テーブル名>] フィールドに DAX 数式を入力します。

    Note

    DAX フィルター - <テーブル名> フィールドには、オートコンプリート クエリ エディターまたは関数の挿入機能が含まれていません。

  9. [ OK] を クリックしてロールを保存します。

ロールをコピーするには

  1. SQL Server Management Studioで、コピーするロールを含む表形式モデル データベースを展開し、[ロール] を展開してから、ロールを右クリックして、[複製] をクリックします。

ロールを編集するには

  • SQL Server Management Studioで、編集するロールを含む表形式モデル データベースを展開し、[ロール] を展開し、ロールを右クリックして、[プロパティ] をクリックします。

    [ ロールのプロパティ<]> ダイアログ ボックスでは、アクセス許可の変更、メンバーの追加または削除、行フィルターの追加/編集を行うことができます。

ロールを削除するには

  • SQL Server Management Studioで、削除するロールを含む表形式モデル データベースを展開し、[ロール] を展開してから、ロールを右クリックして、[削除] をクリックします

スクリプト

デプロイされたモデルとデータセットのロールは、 表形式モデル スクリプト言語 (TMSL) を使用して Roles オブジェクトを作成または変更することでスクリプト化できます。 TMSL スクリプトは、SSMS で、または Invoke-ASCmd PowerShell コマンドレットを使用して実行できます。

データベース オブジェクト >ScriptScript>データベース asCREATE>または REPLACE ToNew>クエリ エディター ウィンドウを右クリックします。 ロールは、次のように roles オブジェクトで定義されます。

        "roles": [
          {
            "name": "Sales Manager",
            "modelPermission": "read"
          },
          {
            "name": "Sales Analyst US",
            "modelPermission": "read",
            "tablePermissions": [
              {
                "name": "DimGeography",
                "filterExpression": "DimGeography[CountryRegionCode] = \"US\" "
              }
            ]
          }
        ],

こちらもご覧ください

ロール