OAuth と最新の認証用に Azure AD を構成する

Azure Synapse、Azure SQL Database、Azure Databricks、Azure Data Lake Gen2、OneDrive、SharePoint Online、SharePoint Lists (JDBC) のコネクタは、Tableau Server の OAuth クライアントを設定することで、Azure AD を介した認証を行うことができます。

: Azure AD の OAuth サポートは、Microsoft SQLServer ドライバー 17.3 以降でのみサポート(新しいウィンドウでリンクが開く)されています。

ステップ 1: Azure 用の OAuth クライアントを登録する

以下の手順に従って、特定の Azure テナントで Azure 用の OAuth アプリケーションを登録および設定します。

  1. Azure ポータルにサインインします。
  2. 複数のテナントにアクセスできる場合は、アプリケーションを登録するテナントを選択します。
  3. Azure Active Directory を検索して選択します。
  4. [管理][アプリの登録] を選択し、[新規登録] を選択します。
  5. 「Tableau Server Oauth」または同様の値を [名前] として入力します。
  6. アプリ登録ページの [サポートされているアカウントの種類] フィールドで、このアプリケーションを使用できるユーザーを選択します。
  7. : アプリケーションのクライアント ID とクライアント シークレットを別のテナントのアカウントに使用する場合は、2 番目のオプション (マルチテナント) を選択してください。

  8. [リダイレクト URI] (オプション) フィールドで [Web] を選択し、サーバーのインターネット アドレスに文字列 /auth/add_oauth_token を追加して入力します。
  9. 例: https://your_server_url.com/auth/add_oauth_token

  10. [登録] を選択します。登録が完了すると、Azure ポータルに、アプリケーション (クライアント) ID を含むアプリ登録の [概要] ウィンドウが表示されます。クライアント ID とも呼ばれるこの値は、Microsoft ID プラットフォームでアプリケーションを一意に識別します。
  11. この値をコピーして、以下のステップで [your_client_id] フィールドとして使用します。
  12. 左側のバーで [証明書とシークレット] を選択し、[新しいクライアント シークレット] を選択します。
  13. シークレットの説明を追加します。
  14. [クライアント シークレットの有効期間] を選択します。
  15. [追加] を選択し、シークレットをコピーします。シークレットは、以下のステップで [your_client_secret] として使用します。
  16. 左側のバーで [API パーミッション] を選択します。
  17. [パーミッションの追加] を選択します。
  18. [Microsoft グラフ] を選択します。
  19. [委任されたパーミッション] を選択します。
  20. [パーミッションの選択] で、すべての OpenId 権限 (email、offline_access、openid、profile) を選択します。
  21. [パーミッションの追加] を選択します。
  22. その他のパーミッションを追加します。有効にするコネクタについて、次の手順を行います。
    • Azure SQL データベース
      1. [パーミッションの追加] をクリックします。
      2. [マイ API] を選択します。
      3. [Azure SQL データベース] を選択し、[委任されたパーミッション] を選択します。
      4. [user_impersonation] を選択し、[パーミッションの追加] をクリックします。
    • OneDrive および SharePoint Online
      1. [パーミッションの追加] をクリックします。
      2. [Microsoft グラフ] を選択します。
      3. [委任されたパーミッション] をクリックします。
      4. [パーミッションの選択] のフィルター検索ボックスに、次のパーミッションを入力して追加します。
      • Files.Read.All
      • Sites.Read.All
      • User.Read
    • SharePoint リスト (JDBC)
      1. [パーミッションの追加] をクリックします。
      2. [Microsoft グラフ] を選択します。
      3. [委任されたパーミッション] をクリックします。
      4. [パーミッションの選択] のフィルター検索ボックスに User.Read パーミッションを入力して追加します。
      5. もう一度 [パーミッションの追加] をクリックします。
      6. [SharePoint] を選択します。
      7. [委任されたパーミッション] をクリックします。
      8. [AllSites] セクションを展開し、AllSites.Manage パーミッションを選択して追加します。

ステップ 2: Azure 用に Tableau Server を構成する

Tableau Server を構成するには、Tableau Server Manager (TSM) コマンドを実行する必要があります。Azure Data Lake Storage Gen2 では、Azure Synapse、Azure SQL Database、または Azure Databricks などで実行する一般的なコマンドとは異なるコマンド セットが必要です。

Azure Data Lake StorageGen2 用の既定の OAuth クライアントを構成する

Data Lake Storage Gen2 用に Tableau Server を構成するには、次の構成パラメーターが必要です。

  • Azure OAuth クライアント ID: このクライアント ID はステップ 1 の手順で生成されます。1 番目の tsm コマンドで、この値を [your_client_id] にコピーします。
  • Azure OAuth クライアント シークレット: このクライアント シークレットは、ステップ 1 の手順で生成されます。2 番目の tsm コマンドで、この値を [your_client_secret] にコピーします。
  • Tableau Server URL: Tableau Server URL を入力します。例: https://myco.com3 番目の tsm コマンドで、この値を [your_server_url] にコピーします。

次の tsm コマンドを実行して、Azure Data Lake Storage Gen2 用に Tableau Server の OAuth を構成します。

  • tsm configuration set -k oauth.azuredatalake_storage_gen2.client_id -v [your_client_id] --force-keys
  • tsm configuration set -k oauth.azuredatalake_storage_gen2.client_secret -v [your_client_secret] --force-keys
  • tsm configuration set -k oauth.azuredatalake_storage_gen2.redirect_uri -v http://[your_server_url]/auth/add_oauth_token --force-keys
  • tsm pending-changes apply

Azure Synapse、Azure SQL Database、Azure Databricks 用の既定のクライアントを構成する

Tableau Server を構成するには、次の構成パラメーターが必要です。

  • Azure OAuth クライアント ID: ステップ 1 の手順で生成されます。この値を tsm コマンドの [your_client_id] にコピーします。
  • Azure OAuthClient シークレット: ステップ 1 の手順で生成されます。2 番目の tsm コマンドで、この値を [your_client_secret] にコピーします。
  • Tableau Server URL: これは Tableau Server URL です。例: https://myserver.com3 番目の tsm コマンドで、この値を [your_server_url] にコピーします。
  • 構成 ID: 以下の tsm コマンドのパラメーター oauth.config.id の値です。有効な値は次のとおりです。
    • Azure Synapse: azure_sql_dw
    • Azure SQL Database: azure_sqldb
    • Databricks: databricks

次の tsm コマンドを実行して、Azure Synapse、Azure SQL Database、または Azure Databricks 用に Azure AD を構成します。たとえば、Azure Synapse を設定する場合は、次のようになります。

tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"azure_sql_dw\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}]" --force-keys

tsm pending-changes apply

OneDrive および SharePoint Online の既定の OAuth クライアントを構成する

OneDrive および SharePoint Online 用に Tableau Server を構成するには、次の構成パラメーターが必要です。

  • Azure OAuth クライアント ID: このクライアント ID はステップ 1 の手順で生成されます。1 番目の tsm コマンドで、この値を [your_client_id] にコピーします。
  • Azure OAuth クライアント シークレット: このクライアント シークレットは、ステップ 1 の手順で生成されます。2 番目の tsm コマンドで、この値を [your_client_secret] にコピーします。
  • Tableau Server URL: これは Tableau Server URL です。例: https://myco.com3 番目の tsm コマンドで、この値を [your_server_url] にコピーします。

次の tsm コマンドを実行して、OneDrive および SharePoint Online 用に Tableau Server の OAuth を構成します。

  • tsm configuration set -k oauth.onedrive_and_sharepoint_online.client_id -v [your_client_id] --force-keys
  • tsm configuration set -k oauth.onedrive_and_sharepoint_online.client_secret -v [your_client_secret] --force-keys
  • tsm configuration set -k oauth.onedrive_and_sharepoint_online.redirect_uri -v http://[your_server_url]/auth/add_oauth_token --force-keys
  • tsm pending-changes apply

OneDrive 用 (非推奨) の既定の OAuth クライアントを構成する

OneDrive (非推奨) 用に Tableau Server を構成するには、次の構成パラメーターが必要です。

  • Azure OAuth クライアント ID: このクライアント ID はステップ 1 の手順で生成されます。1 番目の tsm コマンドで、この値を [your_client_id] にコピーします。
  • Azure OAuth クライアント シークレット: このクライアント シークレットは、ステップ 1 の手順で生成されます。2 番目の tsm コマンドで、この値を [your_client_secret] にコピーします。
  • Tableau Server URL: これは Tableau Server URL です。例: https://myco.com3 番目の tsm コマンドで、この値を [your_server_url] にコピーします。

次の tsm コマンドを実行して、OneDrive用 (非推奨) に Tableau Server の OAuth を構成します。

  • tsm configuration set -k oauth.onedrive.client_id -v [your_client_id] --force-keys
  • tsm configuration set -k oauth.onedrive.client_secret -v [your_client_secret] --force-keys
  • tsm configuration set -k oauth.onedrive.redirect_uri -v http://[your_server_url]/auth/add_oauth_token --force-keys
  • tsm pending-changes apply

サーバーの再起動シナリオ

既定の OAuth クライアントを構成した後に、次のシナリオが発生する可能性があります。

  • 保留中の変更を適用する際に、サーバーの再起動が必要になる場合は、再起動プロンプトが表示されます。
  • --ignore-prompt オプションを使用してプロンプトを表示しないようにすることができます。ただし、これを行っても、再起動は停止されません。
  • 変更を適用する際に、サーバーの再起動が必要ない場合は、プロンプトは表示されずに変更が適用されます。詳細については、「tsm pending-changes apply」を参照してください。

複数のコネクタの設定

複数のコネクタを設定する場合は、すべてを 1 つのコマンドにまとめる必要があります。例:

tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"azure_sql_dw\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}, {\"oauth.config.id\":\"azure_sqldb\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}, {\"oauth.config.id\":\"databricks\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}]" --force-keys

tsm pending-changes apply

サイトのカスタム OAuth の構成

サイトに対して、カスタム Azure Data Lake Storage Gen2、Azure Synapse、Azure SQL Database、および Databricks OAuth クライアントを構成できます。

カスタム OAuth クライアントを構成して、1) サーバー用に構成されている場合は OAuth クライアントを上書きするか、2) 一意の OAuth クライアントを必要とするデータに安全に接続するためのサポートを有効にすることを検討してください。

カスタム OAuth クライアントが構成されている場合、サイトレベルの構成はサーバー側の構成よりも優先され、作成されたすべての新しい OAuth 認証資格情報では既定でサイトレベルの OAuth クライアントが使用されます。構成を有効にするために、Tableau Server を再起動する必要はありません。

重要: カスタム OAuth クライアントを構成する前に確立された既存の OAuth 認証資格情報は一時的に使用できますが、データ アクセスが中断されないように、サーバー管理者とユーザーの双方が保存された認証資格情報を更新する必要があります。

ステップ 1: OAuth クライアントID、クライアン トシークレット、リダイレクト URL の準備

カスタム OAuth クライアントを構成する前に、以下の情報が必要です。この情報を準備したら、サイトのカスタム OAuth クライアントを登録できます。

  • OAuth クライアント ID とクライアント シークレット: 最初に OAuth クライアントをデータ プロバイダー (コネクタ) に登録して、Tableau Server 用に生成されたクライアント IDとシークレットを取得します。

  • リダイレクト URL: 正しいリダイレクト URL であることを確認します。これは、以下のステップ 2 の登録プロセスで必要になります。

    https://<your_server_name> .com / auth / add_oauth_token

    例: https://example.com/auth/add_oauth_token

ステップ 2: OAuth クライアント ID とクライアント シークレットを登録する

以下の手順に従って、カスタム OAuth クライアントをサイトに登録します。

  1. 管理者の認証資格情報を使用して Tableau Server にサインインし、[設定] ページに移動します。

  2. [OAuth Clients Registry (OAuth クライアント レジストリ)] で、[Add OAuth Client (Oauth クライアントの追加)] ボタンをクリックします。

  3. 上記のステップ 1 の情報を含む、必要な情報を入力します。

    1. [接続タイプ] で、カスタム OAuth クライアントを設定するコネクタを選択します。

    2. クライアント IDクライアント シークレットリダイレクト URL には、上記のステップ 1 で準備した情報を入力します。

    3. [Add OAuth Client (Oauthクライアントの追加)] ボタンをクリックして、登録プロセスを完了します。

  4. (オプション) サポートされているすべてのコネクタに対して、ステップ 3 を繰り返します。

  5. [設定] ページの下部または上部にある [保存] ボタンをクリックして、変更を保存します。

ステップ 3: 保存された認証資格情報の検証と更新

データ アクセスが中断されないようにするため、サーバー管理者 (およびサイト ユーザー) は、以前に保存した認証資格情報を削除してから、サイトのカスタム Oauth クライアントを使用できるように再度追加する必要があります。

  1. [マイ アカウント設定] ページに移動します。

  2. [データ ソースの保存済み認証資格情報] で、次の手順を実行します。

    1. 上記のステップ 2 でカスタム OAuth クライアントを構成したコネクタの既存の、保存済み認証資格情報の横にある [削除] をクリックします。

    2. コネクタ名の横にある [追加] をクリックし、プロンプトに従って 1) 上記のステップ 2 で構成したカスタム OAuth クライアントに接続し、2) 最新の認証資格情報を保存します。

ステップ 4: 保存した認証資格情報を更新するようにユーザーに通知する

上記のステップ 2 で構成したカスタム OAuth クライアントのコネクタの保存済み認証資格情報を更新するようにサイト ユーザーに通知します。サイトのユーザーは、保存済み認証資格情報の更新で説明されている手順を使用して、保存された認証資格情報を更新できます。

OAuth 認証用フォワード プロキシ

Tableau Server の Oauth 認証を使用したフォワード プロキシの設定 (Windows のみ) の詳細については、Tableau ヘルプの「OAuth 認証用フォワード プロキシの設定」(新しいウィンドウでリンクが開く)を参照してください。

フィードバックをありがとうございます。フィードバックは正常に送信されました。ありがとうございます!