この記事では、Azure Databricks アカウントのパートナー OAuth アプリケーションを有効または無効にする方法について説明します。
dbt Core、Power BI、Tableau Desktop、Tableau Cloud などの OAuth アプリケーションは、アカウントに対して既定で有効になっています。
注
OAuth アプリケーションの更新処理には 30 分かかる場合があります。
Azure Databricks UI を使用してカスタム OAuth アプリケーションを有効にする
Azure Databricks UI を使用して、追加のカスタム OAuth アプリケーションを有効にすることができます。
この UI でカスタム OAuth アプリケーションを有効にするには、次のようにします。
アカウント コンソールにログインし、サイドバーの [設定] アイコンをクリックします。
[App connections] (アプリの接続) タブで、[接続の追加] をクリックします。
次の詳細を入力します。
接続の名前。
OAuth 接続のリダイレクト URL。
アクセス スコープの場合、スコープによって、アプリケーションがアクセスできる API が決まります。
- BI アプリケーションの場合、接続されているアプリが Databricks SQL API にアクセスできるようにするには、
SQLスコープが必要です。 - クエリの実行以外の目的で Databricks API にアクセスする必要があるアプリケーションの場合は、
ALL APIsスコープが必要です。
次のスコープは自動的に許可されます。
-
openid、email、profile: ID トークンを生成するために必要です。 -
offline_access: 更新トークンを生成するために必要です。
アプリケーションに対してこれらのスコープを許可しない場合は、 POST /api/2.0/accounts/{account_id}/oauth2/custom-app-integrations API を使用してカスタム アプリケーションを作成することで、きめ細かいスコープを管理できます。
- BI アプリケーションの場合、接続されているアプリが Databricks SQL API にアクセスできるようにするには、
アクセス トークンの Time-to-Live (TTL) (分)。 既定値:
60。更新トークンの Time-to-Live (TTL) (分)。 既定値:
10080。クライアント シークレットを生成するかどうか。 これは、パブリックでない (機密) クライアントの場合に必要です。
[ 作成された接続 ] ダイアログ ボックスには、接続のクライアント ID とクライアント シークレット (該当する場合) が表示されます。
[Generate a client secret] (クライアント シークレットの生成) を選択した場合は、クライアント シークレットをコピーして安全に保存します。 後でクライアント シークレットを取得することはできません。
既存のカスタム OAuth アプリケーションのリダイレクト URL、トークンの TTL、更新トークンの TTL はこの UI で編集できます。アカウント コンソールの [設定]>[App connections] (アプリ接続) ページでアプリケーション名をクリックしてください。 また、既存の公開済み OAuth アプリケーション (dbt Core、Power BI、Tableau) もこの UI で表示できます。
UI で発行済み OAuth アプリケーションとカスタム OAuth アプリケーションの両方を無効にするには、アプリケーション名またはアプリケーション名の横にある kebab メニューをクリックし、[ 削除] をクリックします。
注
アプリケーションを無効にするとアプリケーションの接続が切断されるため、OAuth アプリケーションを無効にする場合は注意が必要です。 発行された OAuth アプリケーションを UI で無効にした場合、UI で再度有効にすることはできません。 公開済みアプリケーションをもう一度有効にするには、「CLI を使用して dbt Core、Power BI、Tableau Desktop、または Tableau Cloud などの OAuth アプリケーションを再度有効にする」を参照してください。
注
追加の OAuth セキュリティ機能 (単一使用の更新トークンなど) は、API 経由でのみ構成できます。 セキュリティを強化するために 単一使用の更新トークン を有効にするには、「単一使用の更新トークン」を参照してください。
Databricks CLI を使用してアプリを有効または無効にする
このセクションでは、Databricks CLI を使用して、アカウントに対して既定で有効になっているパートナー OAuth アプリケーションを無効にする方法と、無効にした後で再び有効にする方法について説明します。 Tableau Server (既定で有効になっていない) を、有効または無効にする方法についても説明します。
開始する前に
Databricks CLI を使用してパートナー OAuth アプリケーション統合を有効または無効にする前に、次を実行します。
Databricks CLI をインストールし、Databricks CLI と Databricks アカウントの間の認証を設定します。
既存の OAuth アプリケーションを無効にするまたは変更するには、統合 ID を見つけます。
dbt Core、Power BI、Tableau Desktop、または Tableau Cloud の場合は、次のコマンドを実行します。
databricks account published-app-integration listカスタム アプリケーション (Tableau Server など) の場合は、次のコマンドを実行します。
databricks account custom-app-integration list
各 OAuth アプリケーションの一意の統合 ID が返されます。
CLI を使用して dbt Core、Power BI、Tableau Desktop、または Tableau Cloud などの OAuth アプリケーションを無効にする
dbt Core、Power BI、Tableau Desktop、Tableau Cloud などの OAuth アプリケーションを無効にするには、次のコマンドを実行します。<integration-id> は、削除する OAuth アプリケーションの統合 ID に置き換えてください。
databricks account published-app-integration delete <integration-id>
CLI を使用して dbt Core、Power BI、Tableau Desktop、または Tableau Cloud などの OAuth アプリケーションを再度有効にする
dbt Core、Power BI、Tableau Desktop、Tableau Cloud などは OAuth アプリケーションとして、アカウントにおいて既定で有効になっています。 これらの OAuth アプリケーションのいずれかを無効にした後で再度有効にするには、次のコマンドを実行し、 <application-id> を databricks-dbt-adapter、 power-bi、 tableau-desktop 、または 7de584d0-b7ad-4850-b915-be7de7d58711 (Tableau Cloud) に置き換えます。
databricks account published-app-integration create <application-id>
OAuth アプリケーションの一意の統合 ID が返されます。
CLI を使用してカスタム OAuth アプリケーションを有効にする
dbt Core、Power BI、Tableau Desktop、Tableau Cloud などの OAuth アプリケーションは、アカウントに対して既定で有効になっています。 Azure Databricks CLI を使用して、追加のカスタム OAuth アプリケーションを有効にすることができます。
カスタム Tableau Server OAuth アプリケーションを有効にする手順については、「Tableau Server からの Azure Databricks サインオンを構成する」をご参照ください。 CLI を使用してカスタム OAuth アプリケーションを有効にする一般的な手順については、次をご参照ください。
custom-app-integration createコマンドを実行します。 次の例では、非パブリック (機密) アプリケーションを作成します。databricks account custom-app-integration create --confidential --json '{"name":"<name>", "redirect_urls":["<redirect-url>"], "scopes":[<scopes>]}'-
<name>は、カスタム OAuth アプリケーションの名前に置き換えます。 -
<redirect-url>は、アプリケーションのリダイレクト URL に置き換えます。 -
<scopes>は、アプリケーションに許可するスコープの一覧に置き換えます。- BI アプリケーションの場合、接続されているアプリが Databricks SQL API にアクセスできるようにするには、
SQLスコープが必要です。 - SQL 以外の目的で Databricks API にアクセスする必要があるアプリケーションの場合は、
ALL APIsスコープが必要です。 - ID トークンを生成するには、
openid、email、profileスコープが必要です。 - 更新トークンを生成するには、
offline_accessスコープが必要です。
- BI アプリケーションの場合、接続されているアプリが Databricks SQL API にアクセスできるようにするには、
サポートされている値について詳しくは、REST API リファレンス内の「POST /api/2.0/accounts/{account_id}/oauth2/custom-app-integrations」をご参照ください。
クライアント ID が生成されます。 非パブリック (機密) アプリケーションの場合、クライアント シークレットも生成されます。 次の出力が返されます。
{"integration_id":"<integration-id>","client_id":"<client-id>","client_secret":"<client-secret>"}注
OAuth アプリケーションを有効にするには、処理に 30 分かかる場合があります。
-
該当する場合は、クライアント シークレットを安全に保存してください。
重要
後でクライアント シークレットを取得することはできません。
CLI を使用してカスタム OAuth アプリケーションを無効にする
既存の OAuth アプリケーション (Tableau Server など) を無効にするには、次のコマンドを実行します。<integration-id> は、無効にする OAuth アプリケーションの統合 ID に置き換えてください。
databricks account custom-app-integration delete <integration-id>