これまで、このブログにて、SQL Server Analysis ServicesにSSASプロジェクトをデプロイする方法について述べてきたが、外部からこのSSASプロジェクトにアクセスできない、という問題があったため、今回、Active Directoryを利用することにした。
Active Directoryとは、ネットワーク上のマシンをドメインという単位でまとめて管理するための仕組みで、同じドメイン内であれば他のPCに対しても自分のアカウントでログインすることができる。詳しくは以下のサイト等を参照のこと。
http://www.se-support.com/server/activedirectory.html
SQL Server Databaseであれば、以下の画面の、SQL Server認証を使って、ユーザーIDとパスワードを入力すれば、ネットワークがつながっている外部のパソコンからログインすることができる。
しかし、SQL Server Analysis Servicesについては、認証方式が以下の画面のようになっているため、SQL Server認証を使うことができない。
ちなみに、Windows認証はこれまで使用してきた認証方法で、OSログインができていれば、ユーザー情報を入力しなくてもログインができる方式である。なお、他のActive Directory xxxと書かれている認証方式については、Azure Active Directoryを利用する方式であり、Active Directoryとは別の方式である。これはSQL Serverでは利用できない。
そこで、Active Directoryを使って、接続したいPCを同一ドメインに参加させることで、Windows認証によるログインができるようにした。以下のように、3台の仮想マシンを用意した。
- domain-main-vm ⇒ SQL Serverを搭載していないWindowsマシンで、ドメインコントローラの役割をもつ
- domain-sub-vm-1 ⇒ SQL Serverを搭載しているWindowsマシンで、SQL Server Analysis Servicesに配置済のSSASプロジェクトがある
- domain-sub-vm-2 ⇒ SQL Serverを搭載しているWindowsマシンで、domain-sub-vm-1のSQL Server Analysis Servicesにアクセスする役割をもつ
上記3台のマシンが同一ドメイン上にない場合は、以下のように、domain-sub-vm-2からdomain-sub-vm-1にアクセスし、domain-sub-vm-1のSSASプロジェクトを参照することはできない。
しかし、上記3台のマシンが同一ドメイン上にある場合は、以下のように、domain-sub-vm-2からdomain-sub-vm-1にアクセスし、domain-sub-vm-1のSSASプロジェクトを参照することができる。
なお、この処理ができるまでの過程については、このブログにて、同名の記事(2)~(4)にて記載している。