Tableau Server（Windows）にてAzure ADアカウントによる認証を実施するための環境構築手順

## 概要

Tableau Serverにて、Azure ADアカウントによる認証を実施する手順を紹介します。

Tableauアカウントによる認証とAzure ADアカウントによる認証のいずれかしか利用できないことに注意してください。
> DAP とローカルという、2 つの相互排他的なアイデンティティ ストア オプションがあります。

引用元：[認証](https://help.tableau.com/current/server/ja-jp/security_auth.htm)

Tableau Serverの環境構築手順については、下記を参考にしてください。

- [Azureにて検証用Tableau Server（Windows Server）の構築手順（SSL設定あり）](https://qiita.com/manabian/items/2dd2c39dd89076c18b2d)

Tableau Onlineでの実施方法については、下記を参考にしてください。

- [Tableu Onlineに対してAzure ADアカウントによるシングルサインオンの設定](https://qiita.com/manabian/items/661be0326d55533bdb05)

## バージョン

- Tablaeu Server 2020.02
- Widnows Server 2019

## 手順
### 1. Tabaleau Services Managerにて初期設定
1-1. Tableau Serverにて、Tablaeu Server管理者アカウントとするAzure ADアカウントを、下記のように設定します。

| 番号 | 項目                 | 設定値                   |
| ---- | -------------------- | ------------------------ |
| 1    | ユーザー名           | Azure ADのメールアドレス |
| 2    | 表示名               | Tableau Serverでの表示名 |
| 3    | パスワード           | 適当な値                 |
| 4    | メール（オプション） | Azure ADのメールアドレス |
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/e8073910-df13-ca93-e44d-406b51625d07.png)

1-2. CRTファイルとKEYファイルを作成します。作成方法については、下記記事を参考にしてください

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/13b49671-fa4b-d742-71c8-2454e3d118d4.png)
引用元：[Azureにて検証用Tableau Server（Windows Server）の構築手順（SSL設定あり）](https://qiita.com/manabian/items/2dd2c39dd89076c18b2d#3-tableau-server%E3%81%B8%E3%81%AE%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8B%E3%82%89%E3%81%AE%E6%8E%A5%E7%B6%9A%E3%82%92https%E6%8E%A5%E7%B6%9A%E3%81%AB%E5%A4%89%E6%9B%B4)

1-3. Tabaleau Services Managerにて、"CONFIGURATION"→"User identity & Access"→"Authentication Method"→"Authentication Method"を"SAML"に変更し、"Enable SAML authentication for the server"にチェックを入れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/92171497-7aee-2dc4-eacb-56e6d99805fc.png)

1-4. "Step 1"にて、下記の設定を行います。

| 番号 | 項目                      | 設定値                  |
| ---- | ------------------------- | ----------------------- |
| 1    | Tableau Server return URL | Tableau Serverへの接続URL |
| 2    | SAML entity ID            | 適当な値                |
| 3    | SAML certificate file     | 作成したCRTファイル     |
| 4    | SAML key file             | 作成したKEYファイル     |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/5683ca13-cdec-591b-0ca8-b70b36d9b46c.png)

1-5. "Step 2"にある"Download XML Metadata File"を選択し、ファイルをダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/77552b71-ecb1-d7f4-f3e9-ae733588e11a.png)

### 2. Azure Active Directoryにてアプリケーションの作成
2-1. Azure Active Directoryにある”エンタープライズアプリケーション”を選択し、”新しいアプリケーション”を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/a2de7f03-a1fd-43c0-893a-0466ecd02af1.png)

2-2. "ギャラリーから追加する"で”Tableau Server”を探し、適切な名前を設定した上で"追加"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/32c499ff-6524-f584-b338-386151465caa.png)

2-3. "シングルサインオン"→"SAML"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/07683504-76e5-102d-ffd2-9ccae07830d7.png)

2-4. "メタデータ ファイルをアップロードする"を選択して、1の手順でダウンロードしたXMLファイルを選択し、"追加"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/d069ad9e-af62-129b-f3c9-9c490ce5acb4.png)

2-5. "サインオンURL"にTableau Serverへの接続URLを設定し、"保存"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/70b04089-214d-aad7-44fb-867bcb793805.png)

2-6. "ユーザー属性とクレーム"にある"編集"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/1c815a26-c4ac-cd60-f5be-10553193d3a9.png)

2-7. 下記表に示す設定を変更します。

| 番号 | 項目                                                       | 設定値    |
| ---- | ---------------------------------------------------------- | --------- |
| 1    | 一意のユーザー識別子(名前ID)                             | user.mail |
| 2    | username                                                   | user.mail |
| 3    | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name | user.mail |
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/2fbe37e4-6322-d9f3-fe37-8f219ac0e5b0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/c656335a-4c55-ab22-0df8-b168bcae3833.png)

2-8. 上記表の項目に変更したことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/cbe99e96-1407-2933-2200-c45bb7e09b9e.png)

2-9. "フェデレーション メタデータ XML"の"ダウンロード"を選択し、ファイルをダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/c01468db-3ee8-f257-f07e-95dedf27a937.png)

2-10.  ”ユーザーとグループ”→”ユーザーの追加”を選択し、ログイン許可したいユーザーを登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/7489f518-722b-7d70-4f8e-d409dc3446ca.png)


### 3. Tabaleau Services Managerにて追加設定
3-1. "Step 4"にて"Select File"を選択し、2の手順でダウンロードしたファイルをアップロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/58019c6c-6e03-57c4-79cb-bb48a36299ea.png)

3-2. "Save Pending Changes"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/82e225a5-61a3-a5ac-8fd5-8ae115ee0027.png)

3-3. 右上に表示された"Pending Changes"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/f0d2ea26-c6d1-78de-d69e-dfaa19b0abed.png)

3-4. "Apply Changes and Restart"を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/05f8a9ea-b5f7-77eb-73a3-eaafa4b6e7ee.png)

3-5. 処理が完了するまで待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/c96afc57-4a31-6d60-1407-6ab46b6b9b11.png)

3.6.クライアントのブラウザにて、Tableau Serverに接続できることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/65fbd854-f911-6b1e-a966-0e6455f6a40d.png)


## よくあるエラー
### 問題1. Tableau ServerにてAzure ADアカウントのユーザーを作成せずに、SAML認証に設定変更してしまった。
解決策）"Enable SAML authentication for the server"のチェックを外することでSAML認証を無効、設定反映によるTableau Server再起動を実施してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/15bda5a7-ef0b-bce7-d98e-76613bbb9a87.png)


## 参考リンク

- [Tableau auth with SAML on Azure AD](https://medium.com/@tableauman/tableau-auth-with-saml-on-azure-ad-167e1d5daf4c)