このチュートリアルでは、SQL Server Management Studio (SSMS) を使用して Azure のサーバーに接続し、サーバー管理者とモデル データベース ロールを構成します。 また、 表形式モデル スクリプト言語 (TMSL) についても説明します。 TMSL は、1200 以上の互換性レベルの表形式モデル用の JSON ベースのスクリプト言語です。 これを使用して、多くの表形式モデリング タスクを自動化できます。 TMSL は PowerShell でよく使用されますが、このチュートリアルでは SSMS で XMLA クエリ エディターを使用します。 このチュートリアルでは、次のタスクを実行します。
- ポータルからサーバー名を取得する
- SSMS を使用してサーバーに接続する
- サーバー管理者ロールにユーザーまたはグループを追加する
- モデル データベース管理者ロールにユーザーまたはグループを追加する
- 新しいモデル データベース ロールを追加し、ユーザーまたはグループを追加する
Azure Analysis Services のユーザー セキュリティの詳細については、「 認証とユーザーのアクセス許可」を参照してください。
[前提条件]
- サブスクリプション内の Microsoft Entra ID。
- サブスクリプションに Azure Analysis Services サーバー を作成しました。
- サーバー管理者のアクセス許可を持っている。
- adventureworks サンプル モデル をサーバーに追加します。
- 最新バージョンの SQL Server Management Studio (SSMS) をインストールします。
Azure portal にサインインする
ポータルにサインイン します。
サーバー名を取得する
SSMS からサーバーに接続するには、まずサーバー名が必要です。 サーバー名はポータルから取得できます。
Azure portal>サーバー >Overview>Server name で、サーバー名をコピーします。
SSMS で接続する
残りのタスクでは、SSMS を使用してサーバーに接続して管理します。
SSMS >Object エクスプローラーで、[ 接続>Analysis Services] をクリックします。
[ サーバーへの接続 ] ダイアログ ボックスの [ サーバー名] に、ポータルからコピーしたサーバー名を貼り付けます。 [認証] で、[MFA サポートを使用した Active Directory ユニバーサル] を選択し、ユーザー アカウントを入力して Connect キーを押します。
ヒント
MFA サポートを使用して Active Directory ユニバーサルを選択することをお勧めします。 この種類の認証では、 非対話型および多要素認証がサポートされます。
オブジェクト エクスプローラーで、展開してサーバー オブジェクトを表示します。 右クリックすると、サーバーのプロパティが表示されます。
サーバー管理者ロールにユーザー アカウントを追加する
このタスクでは、Microsoft Entra ID のユーザーまたはグループ アカウントをサーバー管理者ロールに追加します。 セキュリティ グループを指定する場合は、 obj:groupid@tenantidを使用します。
オブジェクト エクスプローラーで、サーバー名を右クリックし、[プロパティ] をクリックします。
[ Analysis Server のプロパティ ] ウィンドウで、[ セキュリティ>追加] をクリックします。
[ ユーザーまたはグループの選択 ] ウィンドウで、Microsoft Entra ID にユーザーまたはグループ アカウントを入力し、[ 追加] をクリックします。
[ OK] をクリックして、 Analysis Server のプロパティを閉じます。
ヒント
ポータルで Analysis Services 管理者 を使用して、サーバー管理者を追加することもできます。
モデル データベース管理者ロールにユーザーを追加する
このタスクでは、モデルに既に存在するユーザーまたはグループ アカウントを Internet Sales Administrator ロールに追加します。 このロールには、adventureworks サンプル モデル データベースに対するフル コントロール (管理者) アクセス許可があります。 このタスクでは、作成したスクリプトで CreateOrReplace TMSL コマンドを使用します。
オブジェクト エクスプローラーで、Databases>adventureworks>Roles を展開します。
[Internet Sales Administrator] を右クリックし、[スクリプト ロールとして>作成または置換を>新しいクエリ エディター ウィンドウへ]をクリックします。
XMLAQuery で、"memberName" の値を Microsoft Entra ID のユーザーまたはグループ アカウントに変更します。 既定では、サインインしているアカウントが含まれています。ただし、既にサーバー管理者であるため、独自のアカウントを追加する必要はありません。
F5 キーを押してスクリプトを実行します。
新しいモデル データベース ロールを追加し、ユーザーまたはグループを追加する
このタスクでは、TMSL スクリプトの Create コマンドを使用して、新しい Internet Sales Global ロールを作成し、ロールの 読み取り アクセス許可を指定し、Microsoft Entra ID からユーザーまたはグループ アカウントを追加します。
オブジェクト エクスプローラーでadventureworks を右クリックし、[新しいクエリ>XMLA] をクリックします。
次の 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" } ] } } }"memberName": "globalsales@adventureworks.com"オブジェクトの値を、Microsoft Entra ID のユーザーまたはグループ アカウントに変更します。F5 キーを押してスクリプトを実行します。
変更を確認する
オブジェクト エクスプローラーで、サーバー名をクリックし、[最新の情報に更新] をクリックするか、F5 キーを押します。
[データベース>adventureworks>Roles を展開します。 前のタスクで追加したユーザー アカウントと新しいロールの変更が表示されていることを確認します。
リソースをクリーンアップする
不要になったら、ユーザーまたはグループのアカウントとロールを削除します。 これを行うには、 ロールのプロパティ>メンバーシップ を使用してユーザー アカウントを削除するか、ロールを右クリックして [削除] をクリック します。
次のステップ
このチュートリアルでは、Azure AS サーバーに接続し、SSMS の adventureworks サンプル モデルのデータベースとプロパティを調べる方法について説明しました。 また、SSMS スクリプトと TMSL スクリプトを使用して、既存のロールと新しいロールにユーザーまたはグループを追加する方法についても説明しました。 サーバーとサンプル モデル データベースに対してユーザーアクセス許可が構成されたので、Power BI などのクライアント アプリケーションを使用して、ユーザーと他のユーザーがそれに接続できます。 詳細については、次のチュートリアルに進んでください。