チュートリアル:サーバー管理者とユーザー ロールを構成する

このチュートリアルでは、SQL Server Management Studio (SSMS) を使用して Azure 内のサーバーに接続し、サーバー管理者とモデル データベースのロールを構成します。 また、Tabular Model Scripting Language (TMSL) についても紹介します。 TMSL は、1200 以上の互換性レベルの表形式モデル用 JSON ベース スクリプト言語です。 多くの表形式モデリング タスクの自動化に使用できます。 TMSL は PowerShell でよく使用されますが、このチュートリアルでは SSMS で XMLA クエリ エディターを使用します。 このチュートリアルでは、以下のタスクを実行します。

  • ポータルからサーバー名を取得する
  • SSMS を使用してサーバーに接続する
  • サーバー管理者ロールにユーザーまたはグループを追加する
  • モデル データベース管理者ロールにユーザーまたはグループを追加する
  • 新しいモデル データベース ロールを追加し、ユーザーまたはグループを追加する

Azure Analysis Services のユーザー セキュリティの詳細については、「認証とユーザーのアクセス許可」を参照してください。

前提条件

Azure portal にサインインする

ポータルにサインインします。

サーバー名を取得する

SSMS からサーバーに接続するには、まずサーバー名が必要です。 ポータルからサーバー名を取得できます。

Azure portal でサーバーを選び、[概要]>[サーバー名] でサーバー名をコピーします。

Get server name in Azure

SSMS で接続する

残りのタスクについては、SSMS を使用してサーバーに接続し、サーバーを管理します。

  1. SSMS のオブジェクト エクスプローラーで、[接続]>[Analysis Services] の順にクリックします。

    Connect

  2. [サーバーに接続] ダイアログ ボックスの [サーバー名] に、ポータルからコピーしたサーバー名を貼り付けます。 [認証][Active Directory - MFA サポートで汎用] を選択し、ユーザー アカウントを入力して [接続] を押します。

    Connect in SSMS

    ヒント

    [Active Directory - MFA サポートで汎用] を選択することをお勧めします。 この種類の認証は、対話型ではない多要素認証をサポートします。

  3. オブジェクト エクスプローラーで、サーバー オブジェクトを展開して表示します。 右クリックして、サーバーのプロパティを表示します。

    Object Explorer in SSMS

サーバー管理者ロールにユーザー アカウントを追加する

このタスクでは、お使いの Microsoft Entra ID のユーザーまたはグループ アカウントを、サーバー管理者ロールに追加します。 セキュリティ グループを指定する場合は、obj:groupid@tenantid を使用してください。

  1. オブジェクト エクスプローラーでサーバー名を右クリックし、 [プロパティ] をクリックします。

  2. [分析サーバーのプロパティ] ウィンドウで、 [セキュリティ]>[追加] の順にクリックします。

  3. [ユーザーまたはグループを選択します] ウィンドウ内で、お使いの Microsoft Entra ID のユーザーまたはグループ アカウントを入力し、[追加] をクリックします。

    Add server admin

  4. [OK] をクリックし、 [分析サーバーのプロパティ] を閉じます。

    ヒント

    また、ポータルで Analysis Services 管理者を使用してサーバー管理者を追加することもできます。

モデル データベース管理者ロールにユーザーを追加する

このタスクでは、モデルに既に存在する Internet Sales Administrator ロールにユーザーまたはグループ アカウントを追加します。 このロールには、adventureworks サンプル モデル データベースのフル コントロール (管理者) アクセス許可があります。 このタスクでは、作成されたスクリプトで CreateOrReplace TMSL コマンドを使用します。

  1. オブジェクト エクスプローラーで、 [データベース]>[adventureworks]>[ロール] を展開します。

  2. Internet Sales Administrator を右クリックし、 [ロールをスクリプト化]>[作成または置換]>[新しいクエリ エディター ウィンドウ] をクリックします。

    New Query Editor Window

  3. XMLAQuery 内で、"memberName": の値を、お使いの Microsoft Entra ID のユーザーまたはグループ アカウントに変更します。 既定では、サインインに使っているアカウントが含まれています。ただし、既にサーバー管理者なので、独自のアカウントを追加する必要はありません。

    TMSL script in XMLA query

  4. F5 キーを押してスクリプトを実行します。

新しいモデル データベース ロールを追加し、ユーザーまたはグループを追加する

このタスクでは、TMSL スクリプト内で Create コマンドを使用して新しい Internet Sales Global ロールを作成し、そのロールに対して "読み取り" アクセス許可を指定し、お使いの Microsoft Entra ID のユーザーまたはグループ アカウントを追加します。

  1. オブジェクト エクスプローラー[adventureworks] を右クリックし、 [新しいクエリ]>[XMLA] の順にクリックします。

  2. 次の TMSL スクリプトをコピーしてクエリ エディターに貼り付けます。

    {
    "create": {
      "parentObject": {
        "database": "adventureworks",
       },
       "role": {
         "name": "Internet Sales Global",
         "description": "All users can query model data",
         "modelPermission": "read",
         "members": [
           {
             "memberName": "globalsales@adventureworks.com",
             "identityProvider": "AzureAD"
           }
         ]
       }
      }
    }
    
  3. オブジェクト "memberName": "globalsales@adventureworks.com" の値を、お使いの Microsoft Entra ID 内のユーザーまたはグループ アカウントに変更します。

  4. F5 キーを押してスクリプトを実行します。

変更を確認する

  1. オブジェクト エクスプローラーでサーバー名をクリックし、 [更新] をクリックするか、F5 キーを押します。

  2. [データベース]>[adventureworks]>[ロール] を展開します。 前のタスクで追加したユーザー アカウントと新しいロールの変更が表示されていることを確認します。

    Verify in Object Explorer

リソースをクリーンアップする

不要になったら、ユーザーまたはグループのアカウントとロールを削除します。 これを行うには、 [ロールのプロパティ]>[メンバーシップ] を使用してユーザー アカウントを削除するか、ロールを右クリックして [削除] をクリックします。

次のステップ

このチュートリアルでは、Azure AS サーバーに接続し、SSMS の adventureworks サンプル モデル データベースとプロパティを調べる方法について説明しました。 また、SSMS および TMSL スクリプトを使用して既存のロールと新しいロールにユーザーまたはグループを追加する方法について説明しました。 サーバーとサンプル モデル データベース用にユーザー アクセス許可を構成したので、PowerBI などのクライアント アプリを使用して自分と他のユーザーが接続できます。 さらに学習するには、次のチュートリアルに進んでください。