標準デプロイとして Azure Private Link を有効にする
この記事では、Azure Private Link を使用して、ユーザーとその Databricks ワークスペースとの間、および古典的なコンピューティング プレーン上のクラスターと Databricks ワークスペース インフラストラクチャ内のコントロール プレーン上のコア サービスとの間のプライベート接続を有効にする方法について説明します。
Note
- Private Link の要件と概要については、Azure Private Link のバックエンド接続とフロントエンド接続の有効化に関する記事を参照してください。
- デプロイには、標準と簡略化の 2 種類があります。 この記事では、標準デプロイについて説明します。 これらのデプロイの種類を比較するには、「標準または簡略化されたデプロイを選択する」を参照してください。
標準デプロイでのフロントエンド接続の概要
パブリック インターネットに接続されていないクライアントのために Azure Databricks Web アプリケーションへのプライベート フロントエンド接続をサポートするには、Azure Databricks Web アプリケーションへのシングル サインオン (SSO) コールバックをサポートするため、ブラウザー認証プライベート エンドポイントを追加する必要があります。 通常、これらのユーザー接続は、オンプレミスのネットワークと VPN への接続を処理する VNet を通して行われ、これはトランジット VNet と呼ばれます。
ヒント
バックエンド Private Link 接続のみを実装する場合は、トランジット VNet またはブラウザー認証プライベート エンドポイントは必要なく、このセクションの残りの部分はスキップできます。
ブラウザー認証プライベート エンドポイントは、サブリソースの種類が browser_authentication
のプライベート接続です。 これは、トランジット VNet からのプライベート接続をホストし、適切な Azure Databricks コントロール プレーン インスタンスにログインした後、Microsoft Entra ID がユーザーをリダイレクトできるようにします
- ユーザー クライアント トランジット ネットワークからパブリック インターネットへの接続を許可することを計画している場合は、ブラウザー認証プライベート エンドポイントの追加は "推奨されますが必須ではありません"。
- クライアント トランジット ネットワークからパブリック インターネットへの接続を禁止することを計画している場合は、ブラウザー認証プライベート エンドポイントの追加は必須です。
"ブラウザー認証プライベート エンドポイント" は、同じプライベート DNS ゾーンを共有するリージョン内のすべてのワークスペース間で共有されます。 また、一部の企業向けの DNS ソリューションでは、ブラウザー認証のためのリージョン プライベート エンドポイントは事実上 1 つに制限されることに注意してください。
重要
Databricks では、Web 認証プライベート ネットワーク設定をホストするために、リージョンごとに "プライベート Web 認証ワークスペース" と呼ばれるワークスペースを作成することを強く推奨します。 こうすることで、ワークスペースを削除すると、そのリージョン内の他のワークペースに影響を与える可能性があるという問題が解決されます。 背景と詳細については、「手順 4: Web ブラウザー アクセスの SSO をサポートするプライベート エンドポイントを作成する」を参照してください。
ネットワーク フローとネットワーク オブジェクトの図
次の図は、Private Link の標準デプロイの一般的な実装におけるネットワーク フローを示しています。
このネットワーク オブジェクトのアーキテクチャを次の図に示します。
これを Private Link の簡略化されたデプロイと比較するには、「ネットワーク フローとネットワーク オブジェクトの図」を参照してください。
手順 1: リソース グループを作成する
- Azure portal で、リソース グループ ブレードに移動します。
- [リソース グループの作成] をクリックして、ワークスペースのリソース グループを作成します。 Azure サブスクリプション、リージョン、リソース グループの名前を設定します。 [確認と作成] をクリックしてから、[作成] をクリックします。
- 前の手順を繰り返して、Private Link エンドポイントやゾーンなどの Private Link リソース用にリソース グループを作成します。 リージョンがワークスペース リージョンと一致する必要はありません。 トランジット VNet に使用する予定のリージョンと一致する Azure リージョンを使用します。 ワークスペース リージョンとトランジット VNet リージョンが一致しない場合、リージョン間でデータを転送するための追加コストが発生します。
手順 2: ワークスペース VNet を作成または準備する
既にある VNet を使用する場合もありますが、Azure Databricks 専用に新しい VNet を作成することもできます。
VNet の IP 範囲とワークスペースの 2 つの必要なサブネットの要件については、「Azure Virtual Network で Azure Databricks をデプロイする (VNet インジェクション)」を参照してください。
Azure Databricks に使用する VNet とサブネットの IP 範囲で、一度に使用できるクラスター ノードの最大数を定義します。 これらの値は、組織のネットワーク要件と、Azure Databricks で一度に使用する予定の最大クラスター ノードに合わせて慎重に選択してください。 「アドレス空間とクラスター ノードの最大数」を参照してください。
たとえば、次の値を使用して VNet を作成できます。
- IP 範囲: 最初に既定の IP 範囲を削除してから、IP 範囲
10.28.0.0/23
を追加します。 - 範囲が
10.28.0.0/25
のサブネットpublic-subnet
を作成します。 - 範囲が
10.28.0.128/25
のサブネットprivate-subnet
を作成します。 - 範囲が
10.28.1.0/27
のサブネットprivate-link
を作成します。
手順 3: Azure Databricks ワークスペースとプライベート エンドポイントをプロビジョニングする
次の設定で、新しい Azure Databricks ワークスペースをデプロイします。
- コンピューティング リソースのネットワークの場合は、ご自分の VNet に Azure Databricks ワークスペースをデプロイします。 これは、Azure Virtual Network で Azure Databricks をデプロイする VNet インジェクション機能と呼ばれます。
- セキュリティで保護されたクラスター接続 (パブリック IP なし (NPIP) とも呼ばれます)。
- Private Link のサポート。
これらの設定でワークスペースをデプロイするには、Azure portal のユーザー インターフェイス、カスタム テンプレート (UI、Azure CLI、または PowerShell で適用できる)、Terraform など、いくつかのオプションがあります。 カスタム テンプレートを使用して、Private Link 対応のワークスペースを作成するには、こちらのテンプレートを使用します。
どの方法を選択した場合でも、新しいワークスペースを作成する際に、次の値を設定してください。
- パブリック ネットワーク アクセス (フロントエンド Private Link 用) (テンプレート内の
publicNetworkAccess
): Private Link のフロントエンド ユース ケースの設定を制御します。- これを
Enabled
(既定値) に設定すると、パブリック インターネット上のユーザーと REST API クライアントが Azure Databricks にアクセスできますが、「ワークスペース向けの IP アクセス リストを構成する」を使用して、承認済みソース ネットワークの特定の IP 範囲にアクセスを制限できます。 - これを
Disabled
に設定すると、パブリック インターネットからのユーザー アクセスが許可されません。 無効に設定した場合、フロントエンド接続には、Private Link 接続を使用してのみアクセスでき、パブリック インターネットからはアクセスできません。 IP アクセス リストは、Private Link 接続で有効ではありません。 - バックエンド Private Link のみ (フロントエンド Private Link なし) を使用する場合は、パブリック ネットワーク アクセスを
Enabled
に設定する必要があります。
- これを
- 必須の NSG ルール (バックエンド Private Link の場合) (テンプレート内の
requiredNsgRules
): 使用可能な値:- すべてのルール (既定値): この値はテンプレートでは
AllRules
となっています。 これは、ワークスペース コンピューティング プレーンに、コンピューティング プレーンからコントロール プレーンへのパブリック インターネット上の接続を許可する Azure Databricks ルールが含まれるネットワーク セキュリティ グループが必要であることを示しています。 バックエンド Private Link を使用していない場合に、この設定を使用します。 - Azure Databricks ルールなし: この値はテンプレートでは
NoAzureDatabricksRules
: この値を使用するのは、バックエンド Private Link を使用している場合、つまり、ワークスペース コンピューティング プレーンが Azure Databricks コントロール プレーンに接続するためのネットワーク セキュリティ グループ ルールを必要としない場合です。 バックエンド Private Link を使用している場合に、この設定を使用します。
- すべてのルール (既定値): この値はテンプレートでは
- セキュリティで保護されたクラスター クラスター接続 (パブリック IP なし) の有効化 (テンプレートでは
Disable Public Ip
): 常に [はい] (true
) に設定します。これにより、セキュリティで保護されたクラスター接続が有効になります。
[パブリック ネットワーク アクセス] (テンプレート内の publicNetworkAccess
) と[必須の NSG ルール] (テンプレート内の requiredNsgRules
) の設定を組み合わせて、サポートされる Private Link の種類を定義します。
次の表に、フロントエンドとバックエンドの 2 つの主要な Private Link ユース ケースでサポートされるシナリオを示します。
シナリオ | この値にパブリック ネットワーク アクセスを設定する | 必須の NSG ルールをこの値に設定する | これらのエンドポイントを作成する |
---|---|---|---|
フロントエンドまたはバックエンドの Private Link がない | Enabled | すべての規則 | 該当なし |
推奨される構成:フロントエンドとバックエンドの両方の Private Link。 フロントエンド接続が Private Link を必須とするようにロック ダウンされている。 | 無効 | NoAzureDatabricksRules | バックエンド用に 1 つ (必須)。 フロントエンド用に 1 つ (必須)。 さらに、リージョンごとに 1 つのブラウザー認証プライベート エンドポイント。 |
フロントエンドとバックエンドの両方の Private Link。 ハイブリッド フロントエンド接続では、通常、「ワークスペース向けの IP アクセス リストを構成する」を使用して、Private Link またはパブリック インターネットを許可します。 オンプレミスのユーザー アクセスに Private Link を使用するが、特定のインターネット CIDR 範囲を許可する必要がある場合は、このハイブリッド アプローチを使用します。 追加の範囲は、SCIM や Azure Machine Learning などの Azure サービスに使用したり、JDBC、クラウド自動化、または管理ツール用の外部アクセスを提供したりするために使用できます。 | Enabled | NoAzureDatabricksRules | バックエンド用に 1 つ (必須)。 フロントエンド用の 1 つのエンドポイント (省略可能)。 さらに、リージョンごとに 1 つのブラウザー認証プライベート エンドポイント。 |
フロントエンドのみの Private Link。 フロントエンド接続は、Private Link を必須とするようにロック ダウンされている (パブリック ネットワーク アクセスが無効になっている)。 バックエンドの Private Link はない。 | これはサポートされていないシナリオです。 | これはサポートされていないシナリオです。 | これはサポートされていないシナリオです。 |
フロントエンドのみの Private Link。 ハイブリッド フロントエンド接続を使用すると、おそらくは「ワークスペース向けの IP アクセス リストを構成する」を使用して、Private Link またはパブリック インターネットが可能になる。 バックエンドの Private Link はない。 | Enabled | すべての規則 | フロントエンド用の 1 つのエンドポイント (省略可能)。 さらに、リージョンごとに 1 つのブラウザー認証プライベート エンドポイント。 |
バックエンドのみの Private Link。 フロントエンドで、おそらくは「ワークスペース向けの IP アクセス リストを構成する」を使用して、パブリック インターネットを使用する。 フロントエンドの Private Link はない。 | Enabled | NoAzureDatabricksRules | バックエンド用の 1 つのエンドポイント (必須)。 |
次のワークスペース構成設定を設定します。
- [価格レベル] を Premium に設定する (テンプレート内では、この値は
premium
) - バックエンド接続を有効にする場合は、[パブリック IP の無効化] (セキュリティで保護されたクラスター接続) を [はい] に設定します (テンプレートでは、この値は
true
)。 - [ネットワーク] > [自分の仮想ネットワーク (VNet) に Azure Databricks ワークスペースをデプロイします] を [はい] に設定します (テンプレート内では、この値は
true
)
Note
一般に、新しいワークスペースの作成時に Private Link を有効にする必要があります。 ただし、Private Link のフロントエンドまたはバックエンド アクセスがまったくなかった既存のワークスペースがある場合、または [パブリック ネットワーク アクセス] (有効) と[必須の NSG ルール] (すべてのルール) に既定値を使用した場合は、フロントエンド Private Link を後で追加できます。 ただし、[パブリック ネットワーク アクセス] は引き続き有効になるため、一部の構成オプションのみが使用できます。
ワークスペースを作成する方法は 2 つあります。
Azure portal UI でワークスペースとプライベート エンドポイントを作成する
新しい Azure Databricks ワークスペースを作成する場合、Azure portal には、2 つの Private Link フィールド (パブリック ネットワーク アクセスと必須の NSG ルール) が自動的に含まれます。
ご自分の VNet (VNet インジェクション) を使用してワークスペースを作成するには、次のようにします。 サブネットを構成してサイズを設定するには、「Azure Virtual Network で Azure Databricks をデプロイする (VNet インジェクション)」のワークスペースの手順に従いますが、[作成] はまだ押さないでください。
次のフィールドを設定します。
- [価格レベル] を
premium
に設定します。そうしないと、UI に Private Link フィールドが表示されません。 - [ネットワーク] > [セキュリティで保護されたクラスター接続による Azure Databricks ワークスペースをデプロイします (パブリック IP なし)] を [はい] に設定します。
- [ネットワーク] > [自分の仮想ネットワーク (VNet) に Azure Databricks ワークスペースをデプロイします] を [はい] に設定します。
- 前の手順で作成した VNet に従ってサブネットを設定します。 詳細については、VNet インジェクションの記事を参照してください。
- 「手順 3: Azure Databricks ワークスペースとプライベート エンドポイントをプロビジョニングする」のシナリオの表に従って、Private Link ワークスペース フィールドの [パブリック ネットワーク アクセス] と [必須の NSG ルール] を設定します。
次のスクリーンショットは、Private Link 接続の最も重要な 4 つのフィールドを示しています。
- [価格レベル] を
バックエンド接続用のプライベート エンドポイントを作成します。
前掲のスクリーンショットに表示されているフィールドの下にある [プライベート エンドポイント] セクションを探します。 表示されない場合は、[価格レベル] を Premium に設定していない可能性があります。
[+ 追加] をクリックします。
Azure portal に、作成ワークスペース内に [プライベート エンドポイントの作成] ブレードが表示されます。
ワークスペース内からプライベート エンドポイントを作成すると、このオブジェクトの種類の Azure フィールドの一部が、自動設定され、編集できないために、表示されません。 一部のフィールドは表示されますが、編集する必要はありません。
[Azure Databricks サブリソース] フィールドが表示され、値 databricks_ui_api が自動的に設定されます。 そのサブリソース値は、ワークスペースの現在の Azure Databricks コントロール プレーンを表します。 このサブリソース名の値は、バックエンド接続とフロントエンド接続の両方のプライベート エンドポイントに使用されます。
リソース グループ、VNet、サブネットを設定した後は、カスタム DNS ではなく、Azure で作成された組み込み DNS を使用すると、プライベート DNS ゾーンに自動的に値が設定されます。
重要
使用するプライベート DNS ゾーンが、Azure によって自動的に選択されない場合があります。 [プライベート DNS ゾーン] フィールドの値を確認し、必要に応じて変更します。
[場所] を、ワークスペースのリージョンに一致するように設定します。 フロントエンド プライベート エンドポイント接続の場合はリージョンが一致する必要がないですが、バックエンド プライベート エンドポイント リージョンとワークスペース リージョンは一致する必要があることに注意してください。
仮想ネットワークをご自分のワークスペース VNet に設定します。
ワークスペースでサブネットを Private Link 固有のサブネットに設定します。 詳細については、ネットワーク要件を参照してください。
組み込みの Azure DNS で通常使用する場合は、[プライベート DNS ゾーンと統合する] を [はい] に設定します。 残りの手順は、[はい] を選択していることを前提としています。
組織が独自のカスタム DNS を保持している場合は、これを [いいえ] に設定することもできますが、先に進む前に、DNS の構成に関する Microsoft のこちらの記事を確認してください。 質問がある場合は、Azure Databricks アカウント チームにお問い合わせください。
[OK] をクリックしてプライベート エンドポイントを作成し、ワークスペースの作成ブレードに戻ります。
ワークスペース作成フロー内から直接作成できるプライベート エンドポイントは 1 つだけです。 トランジット VNet から別個のフロントエンド プライベート エンドポイントを作成するには、追加のプライベート エンドポイントを作成する必要がありますが、それは、ワークスペースがデプロイされた後に行う必要があります。
ワークスペースの作成を完了するには、[確認と作成]、[作成] の順にクリックします。
ワークスペースがデプロイされるまで待ってから、[リソースに移動] をクリックします。 これは、Azure Databricks ワークスペースの Azure portal オブジェクトです。 このリソースに簡単にアクセスできるように、Azure ダッシュボードにピン留めすることを検討してください。
追加のフロントエンド プライベート エンドポイントを作成して、トランジット VNet を Azure Databricks コントロール プレーンに接続します。
- Azure portal のワークスペース オブジェクトで、[ネットワーク] をクリックします。
- [プライベート エンドポイント接続] タブをクリックします
- [+ プライベート エンドポイント] をクリックします.
- フロントエンド接続のリソース グループにリソース グループを設定します。
- リージョンの場合、フロントエンド プライベート エンドポイントはトランジット VNet と同じリージョン内に存在する必要がありますが、ワークスペースまたはコントロール プレーンとは異なるリージョンに存在してもかまいません。
カスタム テンプレートを使用してワークスペースを作成し、必要に応じてフロントエンド プライベート エンドポイントを追加する
ワークスペースの作成に標準の Azure portal UI を使用したくない場合は、テンプレートを使用してワークスペースをデプロイできます。 以下からテンプレートを使用できます。
Private Link 用のオールインワン デプロイ ARM テンプレートにより、次のリソースが作成されます。
ネットワーク セキュリティ グループ
リソース グループ
ワークスペースのサブネット (標準の 2 つのサブネット) と Private Link (追加のサブネット) を含む VNet
Azure Databricks ワークスペース
プライベート DNS ゾーンを使用するバックエンド Private Link エンドポイント
Note
テンプレートを使うと、トランジット VNet からフロントエンド エンドポイントは作成されません。 ワークスペースの作成後に、そのエンドポイントを手動で追加できます。
テンプレートのメイン ページからテンプレートを直接デプロイできます
直接デプロイするには、[Azure にデプロイする] をクリックします。 ソースを表示するには、[GitHub で参照する] をクリックします。
どちらの場合も、テンプレートに次のパラメーター値を設定します。
pricingTier
をpremium
に設定します。 これをstandard
のままにすると、Azure portal には、Private Link に固有の構成フィールドが表示されません。enableNoPublicIp
(パブリック IP の無効化) をtrue
に設定する- 「手順 3: Azure Databricks ワークスペースとプライベート エンドポイントをプロビジョニングする」の表に従って、
publicNetworkAccess
とrequiredNsgRules
を設定します networkSecurityGroup
をワークスペース NSG の ID に設定します。
ワークスペースがデプロイされるまで待ちます。
ご自分のワークスペースを表す新しい **Azure Databricks Service リソースに移動します。 これは、Azure Databricks ワークスペースの Azure portal オブジェクトです。 このリソースに簡単にアクセスできるように、Azure ダッシュボードにピン留めすることを検討してください。
(フロントエンド Private Link のみ) トランジット VNet へのフロントエンド接続を作成します。
- 左側のナビゲーションで、[設定]>[ネットワーク] をクリックします。
- [プライベート エンドポイント接続] タブをクリックします
- [+ プライベート エンドポイント] をクリックします.
- フロントエンド接続のリソース グループにリソース グループを設定します。
- リージョンの場合、フロントエンド プライベート エンドポイントはトランジット VNet と同じリージョン内に存在する必要がありますが、ワークスペースまたはコントロール プレーンとは異なるリージョンに存在してもかまいません。
手順 4: Web ブラウザー アクセスの SSO をサポートするプライベート エンドポイントを作成する
重要
フロントエンド Private Link を実装しない場合、この手順をスキップします。 また、リージョン内のすべてのワークスペースで Private Link フロントエンド接続がサポートされているとき、クライアント ネットワーク (トランジット VNet) でパブリック インターネット アクセスが許可される場合、この手順で説明する構成は推奨されますが必須ではありません。
Azure Databricks Web アプリケーションに対するユーザー認証では、Microsoft Entra ID SSO 実装の一部として OAuth が使用されます。 認証中、ユーザーのブラウザーから Azure Databricks コントロール プレーンに接続します。 さらに、OAuth フローには、Microsoft Entra ID からのネットワーク コールバック リダイレクトが必要です。 フロントエンド Private Link を構成した場合、追加の構成がないと、SSO ネットワーク リダイレクトは失敗します。 これは、トランジット VNet 内のユーザーが Azure Databricks に対して認証できないことを意味します。 この問題は、フロントエンド接続を介した Web アプリケーション UI へのユーザー ログインには適用されますが、REST API 接続には適用されないことに注意してください。REST API 認証では SSO コールバックが使用されないからです。
Web ブラウザー認証をサポートするには、クライアント ネットワーク (トランジット VNet) でパブリック インターネットへのアクセスが許可されない場合、シングル サインオン (SSO) 認証コールバックをサポートするため、ブラウザー認証プライベート エンドポイントを作成する必要があります。 ブラウザー認証プライベート エンドポイントは、サブリソース browser_authentication
のプライベート エンドポイントです。 ブラウザー認証プライベート エンドポイントを作成すると、SSO ログイン時に、Azure Databricks によって、Microsoft Entra ID からのコールバックの DNS レコードが自動的に構成されます。 DNS の変更は、既定で、ワークスペース VNet に関連付けられているプライベート DNS ゾーンで行われます。
組織にワークスペースが複数ある場合、適切に構成されたネットワーク構成とは、各プライベート DNS ゾーンの Azure Databricks リージョンごとにブラウザー認証プライベート エンドポイントが 1 つであることを理解しておくことが重要です。 ブラウザー認証プライベート エンドポイントは、同じプライベート DNS ゾーンを共有するリージョン内のすべての Private Link ワークスペースに対してプライベート Web 認証を構成します。
たとえば、同じプライベート DNS ゾーンを共有する 10 個の運用ワークスペースが米国西部リージョンにある場合、これらのワークスペースをサポートする 1 つのブラウザー認証プライベート エンドポイントを使用します。
重要
- だれかがそのリージョンのブラウザー認証プライベート エンドポイントをホストするワークスペースを削除すると、そのリージョン内で、そのブラウザー認証プライベート エンドポイントと SSO コールバックの関連 DNS 構成に依存していた他のワークスペースのユーザー Web 認証が中断されます。
- ワークスペースの削除によるリスクを軽減し、運用ワークスペースの標準的なワークスペース構成を促進するために、Databricks では、リージョンごとに プライベート Web 認証ワークスペースを作成することが強く推奨されています。
- 運用以外のデプロイの場合は、追加のプライベート Web 認証ワークスペースを省略することで、実装を簡略化できます。 その場合、Web 認証エンドポイントは、そのリージョン内の他のワークスペースのいずれかに接続されます。
プライベート Web 認証ワークスペースは、Azure Databricks ワークスペースと同じリージョンに作成するワークスペースであり、その唯一の目的は、特定のトランジット VNet からそのリージョン内の実際の運用環境の Azure Databricks ワークスペースへのブラウザー認証プライベート エンドポイント接続をホストすることです。 他のすべての方法で、プライベート Web 認証ワークスペースが何かに使用されることはありません。たとえば、ジョブやその他のワークロードの実行には使用しません。 ブラウザー認証プライベート エンドポイント以外の実際のユーザー データや受信ネットワーク接続は必要ありません。 ユーザー アクセスを許可しないように構成できます。 ワークスペース設定の [パブリック ネットワーク アクセス] を [無効] に設定し、ワークスペースに対するフロントエンド プライベート エンドポイントを作成しないと、ユーザーはワークスペースへのユーザー ログインにアクセスできなくなります。
Private Link 接続のためにプライベート Web 認証ワークスペースが他のオブジェクトとどのように連携するのかを思い描くには、この記事に前掲した図を参照してください。
プライベート Web 認証ワークスペースは、リージョン内のすべてのワークスペースで、ログイン中のユーザー SSO のためのコールバック サービスとして機能します。 通常のワークスペースへのログインが完了すると、プライベート Web 認証ワークスペースは次のログインまで使用されません。
プライベート Web 認証ワークスペースの作成を選択するかどうかに関係なく、ブラウザー認証プライベート エンドポイントの宛先をホストするリージョンのワークスペースを 1 つ選択する必要があります。 Azure portal で、ブラウザー認証プライベート エンドポイントを含む Azure Databricks ワークスペース オブジェクトを 1 つ選択します。 実行時の実際のネットワーク アクセスは、トランジット VNet から Microsoft Entra ID です。 Microsoft Entra ID を使用して正常にログインすると、ユーザーの Web ブラウザーが正しいコントロール プレーン インスタンスにリダイレクトされます。
ヒント
プライベート DNS 構成を共有するワークスペースが複数ある場合、Databricks では、プライベート Web 認証ワークスペースの構成が強く推奨されています。 次のいずれかの条件でプライベート Web 認証ワークスペースを省略することを選択できます。
- リージョン内のワークスペースが 1 つだけであり、後で追加することはないと確信しています。
- ワークスペースを削除する必要はないと確信しています。
- 非運用環境のデプロイ。
いずれの場合も、プライベート Web 認証ワークスペースを省略し、代わりに、ブラウザー認証プライベート エンドポイントをホストするいずれかの運用環境ワークスペースを選択します。 ただし、そのワークスペースを最終的に削除すると、フロントエンド Private Link がサポートされている他のワークスペースのユーザー認証が直後に禁止されるというリスクにご注意ください。
SSO をサポートするプライベート エンドポイントを作成するには、次のようにします。
省略可能の手順ですが、Web 認証サービスをホストするプライベート Web 認証ワークスペースを作成することをお勧めします。
プライベート Web 認証ワークスペースをホストするリソース グループを作成します。 Azure Databricks ワークスペースをデプロイしたリージョンごとに 1 つ作成します。
Azure Databricks ワークスペースをデプロイしたリージョンごとに 1 つのプライベート Web 認証ワークスペースを作成します。
- Azure portal、Azure CLI、PowerShell、または Terraform を使用して、新しい Azure Databricks ワークスペースを作成できます。
- サービス レベルを Premium に設定します。
- ワークスペースが削除されることがないように、名前を
WEB_AUTH_DO_NOT_DELETE_<region>
に設定します。 - [必須の NSG ルール] (
requiredNsgRules
) を値NoAzureDatabricksRules
に設定します。 - [セキュリティで保護されたクラスター接続 (NPIP)] (
disablePublicIp
) を [有効] に設定します。 - 他の運用ワークスペースと同じリージョンにワークスペースを作成します。
- VNet インジェクションを使用します。 メイン ワークスペース VNet に使用する VNet とは別の VNet を作成または使用します。
- [パブリック ネットワーク アクセス] (
publicNetworkAccess
) を [無効] に設定します。 - このワークスペースに Azure Databricks ワークロードを配置しないでください。
- ブラウザー認証プライベート エンドポイント以外のプライベート エンドポイントを追加しないでください。 たとえば、
databricks_ui_api
サブリソースがあるプライベート エンドポイントを作成しないでください。ワークスペースへのフロントエンドまたはバックエンド接続が有効になりますが、これは必要ないからです。
VNet インジェクションを使用したワークスペースのデプロイの詳細については、「Azure Virtual Network で Azure Databricks をデプロイする (VNet インジェクション)」を参照してください。
ワークスペースを作成するには、標準のオールインワン ARM テンプレートを使用し、上記のワークスペース構成要件に従うことができます。
プライベート Web 認証ワークスペースを作成した後、ワークスペースが削除されないようにロックを設定します。 Azure portal の Azure Databricks サービス インスタンスに移動します。 左側のナビゲーションで、[ロック] をクリックします。 [+ 追加] をクリックします。 [ロックの種類] を [削除] に設定します。 ロックに名前を付けます。 [OK] をクリックします。
Azure portal で、ご自分のワークスペースを示す Azure Databricks Service インスタンスに移動します。
- プライベート Web 認証ワークスペースを使用している場合は、プライベート Web 認証ワークスペースの Azure Databricks Service インスタンス オブジェクトに移動します。
- プライベート Web 認証ワークスペースを使用していない場合は、Web 認証プライベート エンドポイントをホストするワークスペースを 1 つ選択します。 そのワークスペースを削除すると、そのリージョン内で、Private Link フロントエンド接続を使用する他のすべてのワークスペースに必要な DNS レコードが削除されることに注意してください。 Azure portal で、このワークスペースの Azure Databricks サービス インスタンス ブレードを開きます。
[設定]>[ネットワーク]>[プライベート エンドポイント接続] に移動します。
[+ 追加] ボタンをクリックして、このワークスペースのプライベート エンドポイントを作成します。
Azure portal に、ワークスペース作成フロー内に [プライベート エンドポイントの作成] ブレードが表示されます。
リソース ステップで、[ターゲット サブリソース] フィールドを browser_authentication に設定します。
[リソースの種類] と [リソース] のフィールドで、編集中の Azure Databricks Service ワークスペース インスタンスが自動的に参照されることに注意してください。
仮想ネットワーク ステップ:
- 仮想ネットワークをトランジット VNet に設定します。
- サブネットをトランジット VNet 内の Private Link 特定のサブネットに設定します。 このサブネットは、VNet インジェクションに使用される標準サブネットにすることはできません。 そのサブネットをまだ作成していない場合は、今すぐ、別のブラウザー ウィンドウで作成します。 詳細については、ネットワーク要件を参照してください。
DNS ステップ:
組み込みの Azure DNS で通常使用する場合は、[プライベート DNS ゾーンと統合する] を [はい] に設定します。
組織が独自のカスタム DNS を保持している場合は、[プライベート DNS ゾーンと統合する] を [いいえ] に設定することもできますが、先に進む前に、DNS 構成に関する Microsoft のこちらの記事を参照してください。 質問がある場合は、Azure Databricks アカウント チームにお問い合わせください。
この記事の残りの手順では、[はい] を選択していることを前提としています。
[リソース グループ] フィールドが適切なリソース グループに設定されていることを確認します。 正しいリソース グループに事前に設定されている可能性がありますが、そうすることは保証されていません。 フロントエンドのプライベート エンドポイントと同じ VNet に設定します。
重要
これは構成ミスがよく発生するステップなので、このステップは慎重に行ってください。
[OK] をクリックして、プライベート エンドポイントを作成します。
組み込みの Azure DNS と統合すると、作成したブラウザー認証プライベート エンドポイントによって DNS が自動的に構成されたことを確認できるようになりました。 たとえば、プライベート DNS ゾーン内を見ると、名前が
.pl-auth
で終わる新しいA
レコードが 1 つ以上表示されます。 これらは、リージョン内の各コントロール プレーン インスタンスの SSO コールバックを示すレコードです。 そのリージョンに複数の Azure Databricks コントロール プレーン インスタンスがある場合は、複数のA
レコードが存在するようになります。
[カスタム DNS]
カスタム DNS を使用する場合は、SSO 認証コールバックをサポートするように適切な DNS 構成が構成されていることを保証する必要があります。 ガイダンスについては、Azure Databricks アカウント チームにお問い合わせください。
フロントエンド プライベート エンドポイントを使用していて、ユーザーがカスタム DNS を有効にしたトランジット VNet から Azure Databricks ワークスペースにアクセスする場合は、ワークスペース URL を使用してワークスペースのプライベート エンドポイント IP アドレスにアクセスできるようにする必要があります。
Azure への条件付き転送を構成するか、カスタム DNS (オンプレミスまたは内部 DNS) でワークスペース URL の DNS A
レコードを作成することが必要になる場合があります。 Private Link 対応サービスへのアクセスを有効にする方法の詳細については、「Azure プライベート エンドポイント DNS 構成」を参照してください。
たとえば、リソース URL を内部 DNS のフロントエンド プライベート エンドポイント IP アドレスに直接マップする場合は、次の 2 つのエントリが必要です。
1 つの DNS
A
レコードで、ワークスペースごとの URL (adb-1111111111111.15.azuredatabricks.net
) をフロントエンド プライベート エンドポイントの IP アドレスにマップします。1 つまたは複数の DNS
A
レコードで、Microsoft Entra ID OAuth フローの応答 URL (例:westus.pl-auth.azuredatabricks.net
) を、フロントエンド プライベート エンドポイントの IP アドレスにマップします。 1 つのリージョンに複数のコントロール プレーン インスタンスがある場合があるため、コントロール プレーン インスタンスごとに 1 つずつ、複数A
のレコードを追加する必要がある場合があります。Note
カスタム DNS を使用している場合、使用したいリージョンで使用する必要がある "コントロール プレーン インスタンス ドメイン" のセットを取得するには、Azure Databricks アカウント チームにお問い合わせください。 リージョンによっては複数のコントロール プレーン インスタンスがあります。
ワークスペースのプライベート エンドポイント アクセスに必要な個々の A
レコードに加えて、リージョンごとに 1 つ以上の OAuth (browser_authentication
) DNS レコードのセットを構成する必要があります。 これにより、コントロール プレーンへの browser_authentication
プライベート エンドポイントがそのリージョン内のワークスペース間で共有されるため、リージョン内のすべてのワークスペースへの OAuth アクセス全体にプライベート クライアント アクセスが提供されます。
また、パブリック インターネットへのアクセスが許可されており、すべてのビジネス ユニットでユーザーからワークスペースへの単一のプライベート エンドポイント IP アドレスを共有することが共通の DNS が原因で問題になる場合は、OAuth トラフィックをパブリック ネットワーク経由で送信するよう許可できます。
これらの構成が準備されると、Azure Databricks ワークスペースにアクセスし、ワークロードのクラスターを開始できるようになります。
手順 5: ワークスペースへのユーザー SSO 認証をテストする
新しいワークスペースへの認証をテストする必要があります。 最初の認証試行は、Azure portal 内からワークスペースを起動します。 ワークスペース オブジェクトに [ワークスペースの起動] ボタンがあり、これが重要です。 クリックすると、Azure Databricks によって、ワークスペースへのログインと最初のワークスペース管理者ユーザー アカウントのプロビジョニングが試行されます。 認証をテストして、ワークスペースが正しく動作していることを保証することが重要です。
[ワークスペースの起動] ボタンをクリックします。
トランジット VNet またはそこにピアリングされるネットワークの場所からのネットワーク アクセスをテストします。 たとえば、オンプレミス ネットワークがトランジット VNet にアクセスできる場合は、オンプレミス ネットワークからユーザー SSO を確認できます。 テスト ネットワークからトランジット サブネットへのネットワーク アクセスを確認します。
- フロントエンド Private Link を有効にした場合は、トランジット VNet から認証が正常に行われることをテストする必要があります。 既に ExpressRoute または VPN を使用してオンプレミス ネットワークをトランジット VNet に接続しており、かつユーザーとしてトランジット VNet に接続できるルーティング可能な場所にいる場合は、現在のネットワークからログインして Azure Databricks 認証をテストできます。
トランジット サブネットにアクセスできるネットワークの場所にいない場合は、トランジット サブネットまたはそこに到達可能なネットワークの場所に仮想マシンを作成することで、接続をテストできます。 たとえば、Windows 10 仮想マシンを使用します。
- Azure portal の仮想マシン ブレードに移動します。
- テスト VNet とサブネットに Windows 10 仮想マシンを作成します。
- Microsoft リモート デスクトップなどの RDP クライアントを使用して接続します。
VM または他のテスト コンピューター内から、Web ブラウザーを使用して Azure portal に接続し、ワークスペースを起動します。
- Azure portal で、Azure Databricks ワークスペース オブジェクトを見つけます。
- [ワークスペースの起動] をクリックしてウィンドウ タブを起動し、Azure portal へのログインに使用したユーザー ID を使用して Azure Databricks にログインします。
- ログインが成功することを確認します。
認証のトラブルシューティング
エラー: "構成済みのプライバシー設定では、現在のネットワーク経由でワークスペース <your-workspace-id>
へのアクセスを許可しません。 詳細については、管理者に問い合わせてください。" というメッセージが表示された場合。
このエラーは、おそらく次のことを意味します。
- (Private Link 接続からではなく) パブリック インターネット経由でワークスペースに接続しようとしている。
- パブリック ネットワーク アクセスをサポートしないようにワークスペースを構成している。
このセクションの前述の手順を確認します。
エラー: "エラー コード DNS_PROBE_FINISHED_NXDOMAIN のブラウザー エラー"
このエラーは、ターゲット リージョン内の Azure Databricks コントロール プレーン インスタンスの適切な DNS 構成を見つけることができなかったため、Azure Databricks Web アプリケーションへのユーザーのログインが失敗したことを意味します。 名前 <control-plane-instance-short-name>.pl-auth
を指す DNS レコードが見つかりませんでした。 ブラウザー認証プライベート エンドポイントが正しく構成されていない可能性があります。 「手順 4: Web ブラウザー アクセスの SSO をサポートするプライベート エンドポイントを作成する」セクションをもう一度慎重に確認してください。 質問がある場合は、Azure Databricks アカウント チームにお問い合わせください。
手順 6: バックエンド Private Link 接続をテストする (バックエンド接続に必要)
バックエンド Private Link 接続を追加した場合は、正常に動作していることをテストすることが重要です。 Azure Databricks Web アプリケーションにログインしただけでは、バックエンド接続はテストされません。
Azure Databricks ワークスペースにまだログインしていない場合は、ワークスペース URL を使用するか、Azure portal で Azure Databricks Service インスタンスの [ワークスペースの起動] ボタンから再度ログインします。
左側のナビゲーションで、[コンピューティング] をクリックします。
[クラスターの作成] をクリックし、クラスター名を入力して、[クラスターの作成] をクリックします。 クラスターの作成の詳細については、「コンピューティング構成リファレンス」を参照してください。
クラスターが正常に開始されたように見えるまで待ちます。 これには数分かかることがあります。 ページを最新の情報に更新して、最新の状態を取得します。
起動に失敗する場合は、クラスター ページで [イベント ログ] をクリックし、最新のエントリを確認します。 一般的な Private Link の構成エラーの場合、イベント ログには、10 から 15 分の待機後に次のようなエラーが含まれます。
Cluster terminated. Reason: Control Plane Request Failure
このエラーが発生した場合は、この記事の手順を慎重に再確認してください。 質問がある場合は、Azure Databricks アカウント チームにお問い合わせください。
プライベート エンドポイントを持つ Azure Databricks ワークスペースを削除する方法
重要
プライベート Web 認証ワークスペースを使用するお勧めのデプロイ スタイル (省略可能) を使用する場合は、ワークスペースに関連付けられているワークスペースまたはブラウザー認証プライベート エンドポイントを決して削除しないことが重要です。 「手順 4: Web ブラウザー アクセスの SSO をサポートするプライベート エンドポイントを作成する」を参照してください。
Azure Databricks ワークスペースにプライベート エンドポイントがあると、Azure によって、その削除がブロックされます。
重要
Azure Databricks ワークスペースを削除する前に、プライベート エンドポイントを削除する必要があります。
- Azure portal で、ご自分のワークスペースを表す Azure Databricks Service インスタンスを開きます。
- 左側のナビゲーションで、[設定] > [ネットワーク] をクリックします。
- [プライベート エンドポイント接続] タブをクリックします
- プライベート Web 認証ワークスペースを使用していない場合は、組織がこのワークスペースを OAuth CNAME リンクとして使用していて、同じコントロール プレーン インスタンスを使用する他のワークスペースと共有されている可能性があるかどうかを確認します。 その場合は、このワークスペースから CNAME に依存する可能性があるプライベート エンドポイントを削除する前に、他のワークスペースのネットワーク オブジェクトを構成して、CNAME が別のワークスペースから有効なゾーン
A
レコードを引き続きポイントするようにします。 「手順 4: Web ブラウザー アクセスの SSO をサポートするプライベート エンドポイントを作成する」を参照してください。 - プライベート エンドポイントごとに、行を選択し、[削除] アイコンをクリックします。 [はい] をクリックして削除を確定します。
完了したら、Azure portal からワークスペースを削除できます。
保留中の承認を確認する、または保留中のプライベート エンドポイントを承認する
トランジット VNet のプライベート エンドポイントを作成した Azure ユーザーにワークスペースの所有者または共同作成者アクセス許可がない場合は、ワークスペースの所有者または共同作成者アクセス許可を持つ別のユーザーが、プライベート エンドポイント作成要求を手動で承認する必要があります。
次の接続の状態があります。
- 承認済み: このエンドポイントは承認され、それ以上のアクションは必要ありません。
- 保留中: エンドポイントは、ワークスペースの所有者または共同作成者のアクセス許可を持つ管理者の承認が必要です。
- 切断: このエンドポイントは、この接続の関連オブジェクトが削除されました。
- 拒否: このエンドポイントは拒否されました。
接続状態をチェックするには、次のようにします。
Azure portal で、最近作成したプライベート エンドポイントが 1 つ以上含まれるワークスペースに移動します。
[ネットワーク] をクリックします。
[プライベート エンドポイント接続] タブをクリックします
エンドポイントの一覧で、[接続状態] 列を確認します。
- すべての接続状態の値が [承認済み] である場合、プライベート エンドポイントの承認に必要なアクションはありません。
- いずれかの値が [保留中] の場合は、ワークスペースの所有者または共同作成者のアクセス許可を持つユーザーの承認が必要です。
ワークスペースの所有者または共同作成者のアクセス許可がある場合は、次のようにします。
保留中のエンドポイント行を 1 つ以上選択します。
接続を承認する場合は、[承認] ボタンをクリックします。
接続を否認する場合は、[拒否] ボタンをクリックします。
ワークスペースの所有者または共同作成者のアクセス許可がない場合は、ワークスペース管理者に連絡して接続を承認してもらってください。