Power BIでのAzureデータソースへのセキュアな接続

# はじめに
Power BIでAzure SQL Database をデータソースとして使用する際のゲートウェイを用いたセキュアな接続について、自社環境で検証した手順を記載します。データソースへのアクセスとしてSQLのパブリックアクセスを許可する方法もありますが、扱うデータの重要性からセキュリティが気になるケースもあると思います。その際にこの方式ではパブリックを開放せずにアクセス・データ更新が可能となります。

# 概要
ここでは、ゲートウェイとして、[オンプレミスデータゲートウェイ] を使用する方式について記載します。
[仮想ネットワークデータゲートウェイ] を使用する方法もありますが、記載時点でプレビュー段階であり、またPower BI Premiumが必要となります。

https://learn.microsoft.com/ja-jp/data-integration/gateway/service-gateway-onprem

https://learn.microsoft.com/ja-jp/data-integration/vnet/overview

https://learn.microsoft.com/ja-jp/data-integration/vnet/use-data-gateways-sources-power-bi


## 準備・必要となるリソース
Power BI関連
* Power BIアカウント
* データゲートウェイ インストーラ
* Power BI Desktop インストーラ

※Azure環境のSQLをデータソースとするため以下も必要
* Azure アカウント
* SQL認証アカウント

## 設定手順

**1. ゲートウェイ導入**
1. ゲートウェイインストーラ取得
    以下URLからインストーラ取得　※標準モード(個人用ではない)
    https://www.microsoft.com/ja-jp/download/details.aspx?id=53127

    導入要件は以下URLから確認
    https://learn.microsoft.com/ja-jp/data-integration/gateway/service-gateway-install
    <br>


2. ゲートウェイインストール
    対象VMにインストール
    (この記事ではデータソースであるAzure SQL DatabaseにエンドポイントアクセスできるAzure VMに導入)
    * インストール先
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/adf24d60-4bea-30af-02a2-a771246a5bb5.png)

    * ログインID(ゲートウェイを使用するメールアドレス/Power BI管理アカウント)
    *ゲートウェイの接続ユーザは個人のIDでなく専用のIDを推奨
        * ゲートウェイの名前
        * 回復キー
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/52aca459-441b-28ca-132c-2866eedc4cb1.png)

    * 導入後デートウェイの確認画面
   　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/94af9d0b-28b0-b359-abb6-011e4c1b30c3.png)

    
3. Power BI Serviceからゲートウェイ確認
    Power BI Service "ゲートウェイの管理"画面でゲートウェイが追加されていることを確認
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/c6c8e0b9-134d-f7b8-8527-873f6e047ae0.png)
    <br>

**2. Power BI Desktop導入**
1. Power BI Desktop導入
    * データソースにアクセスできるマシンにPowe BI Desktopをインストール
    　以下URLからインストーラ取得
    　https://learn.microsoft.com/ja-jp/power-bi/fundamentals/desktop-get-the-desktop

        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/fb769c9e-83b5-0059-31b9-c2738b67b731.png)

    * 導入後のPower BI Desktop起動画面
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/a55cecde-46cb-d6da-dd43-8615b3c77234.png)

    

**3. データセットの発行・コネクション設定**
1. Power BI Desktopからデータ取得(データソースへの接続）
    * Power BI Desktopで対象のデータソースからデータ取得
        SQLデータベースへの認証を入力
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/e9501a29-37d4-7a34-55c1-cca474b17007.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/63e45ae6-89d0-10b6-c120-85d46ef93fda.png)


2. Power BI Serviceにデータセット発行
    * Power BI Desktopの”発行”で、Power BI Serviceにデータセット発行
データセットの名前を付けて保存、Power BI Serviceへの認証
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/23c2f61e-578c-8587-1c4c-577840e4902c.png)

    * Power BI Serviceでデータセットが登録されていることを確認　　
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/fbe9990f-0edf-5590-1a45-193631b63a5f.png)


    
    

3. データセットのコネクション設定
    * データセットの管理設定で、"ゲートウェイ経由"のコネクション設定を実施
        * データセットの管理画面で、[Gateway Connections]欄で、ゲートウェイ利用を”on”に設定
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/38c2358b-a78e-105e-10e8-ae1b2073ff99.png)

      * ゲートウェイ利用のコネクションを作成
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/dd4c83ca-f66f-aa15-738e-f56d310cc872.png)

      * [Gateway Connections]欄で作成した”コネクション”を使用していることを確認
      ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/914707a3-8560-86e6-63ef-caeebc9c69e9.png)


      * データセットの[Refresh]で、ゲートウェイ経由でデータセットの更新できることを確認
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2563999/d0092571-36f0-7337-db97-72b08bf1b005.png)



## まとめ
実機検証にもとづき、Power BIでのゲートウェイを使用したデータソース(Azure SQL Database)へのアクセス設定の手順を記載しました。このあたりの内容は、Microsoft Learn/docsにもありますが、複数のdocsを合わせて読まないと全体像がつかみづらいこともあるかと思い、この記事が参考になれば幸いです。