このページでは、Azure マネージド ID 認証を設定して使用して、Azure Databricks アカウントとワークスペースを自動化する方法について説明します。
Azure は、アプリケーションが Microsoft Entra ID 認証をサポートするリソース (Azure Databricks アカウントやワークスペースを含む) で認証するための Microsoft Entra ID の ID を自動的に管理します。 この認証方法では、資格情報の管理を必要とせずに Microsoft Entra ID トークンを取得します。
このページでは、ユーザー割り当てマネージド ID を作成し、それを Azure Databricks アカウント、ワークスペース、Azure 仮想マシン (Azure VM) に割り当てる手順について説明します。 その後、Azure VM に Databricks CLI をインストールして構成し、Azure マネージド ID 認証を使用し、コマンドを実行して Azure Databricks アカウントとワークスペースを自動化します。
- マネージド ID の詳細については、「Azure リソースのマネージド ID とは」を参照してください。
- Azure Databricks の Azure マネージド ID 認証の詳細については、「 Azure マネージド ID を使用した認証」を参照してください。
注
Azure リソースのマネージド ID は、Azure Databricks でも認証をサポートする Microsoft Entra ID マネージド サービス プリンシパルとは異なります。 代わりに Azure Databricks 認証に Microsoft Entra ID マネージド サービス プリンシパルを使用する方法については、次を参照してください。
要求事項
- マネージド ID を作成して割り当てるための Azure RBAC アクセス許可。
- Azure Databricks にマネージド ID を割り当てるアカウントまたはワークスペース管理者ロール。 「 アカウント管理者ロールをユーザーに割り当てる」 と「 ワークスペース管理者ロールをユーザーに割り当てる」を参照してください。
- Azure VM を作成し、それにマネージド ID を割り当てるための仮想マシン共同作成者とマネージド ID オペレーターのロール。
手順 1: ユーザー割り当てマネージド ID を作成する
Azure リソースのユーザー割り当てマネージド ID を作成します。 Azure では、システム割り当てマネージド ID とユーザー割り当てマネージド ID の両方がサポートされています。 Databricks では、Azure Databricks での Azure マネージド ID 認証にユーザー割り当てマネージド ID を使用することをお勧めします。
ユーザー割り当てマネージド ID を作成するには、「 Azure portal を使用してユーザー割り当てマネージド ID を管理する」の手順に従います。
マネージド ID を作成したら、マネージド ID の概要ページから クライアント ID の値をコピーします。 この値は、手順 2、3、7 で必要になります。
手順 2: マネージド ID をアカウントに割り当てる
マネージド ID を Azure Databricks アカウントに割り当てます。 Databricks は、マネージド ID をサービス プリンシパルとして扱います。 アカウント レベルのアクセスが必要ない場合は、手順 3 に進みます。
「アカウントにサービス プリンシパルを追加する」の手順に従います。 Microsoft Entra ID managed を選択し、手順 1 のクライアント ID を Microsoft Entra アプリケーション ID として貼り付けます。
手順 3: マネージド ID をワークスペースに割り当てる
マネージド ID を Azure Databricks ワークスペースに割り当てます。 Databricks は、マネージド ID をサービス プリンシパルとして扱います。 「サービス プリンシパルをワークスペースに割り当てる」の手順に従います。
サービス プリンシパルを追加する場合:
- ワークスペースで ID フェデレーションが有効になっている場合: 手順 2 で作成したサービス プリンシパルを選択します。
- ワークスペースで ID フェデレーションが有効になっていない場合: 手順 1 の クライアント ID をApplicationId として使用します。
手順 4: ワークスペースの Azure リソース ID を取得する
Azure Databricks ワークスペースに Azure が割り当てるリソース ID を取得します。 この値は、手順 7 で必要になります。
Azure Databricks ワークスペースで、上部のバーでユーザー名をクリックし、[ Azure Portal] をクリックします。
サイド ウィンドウの [設定] セクションで、[ プロパティ] をクリックします。
[ 要点 ] セクションで、[ ID] の 値をコピーします。 次のようになります。
/subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Databricks/workspaces/<workspace-id>
手順 5: Azure VM を作成してログインする
Azure VM は、マネージド ID をサポートするリソースの種類の 1 つです。 この VM を使用して、マネージド ID 認証を使用して Databricks CLI を実行します。
注
この Azure VM はデモンストレーションのみを目的としており、運用環境用に最適化されていない設定を使用します。
SSH 認証を使用して Ubuntu Server VM を作成して接続するには、「 クイック スタート: Azure portal で Linux 仮想マシンを作成する」の手順に従います。
VM を作成する場合:
- イメージとして Ubuntu Server 22.04 LTS を使用します。
- 認証の種類として [SSH 公開キー ] を選択します。
- ダウンロードした秘密キー ファイル (
.pem) の場所と VM のパブリック IP アドレスを書き留めます。これは、VM に接続するために必要になります。
手順 6: マネージド ID を Azure VM に割り当てる
Azure が認証に使用できるように、マネージド ID を Azure VM に関連付けます。 既存の VM へのユーザー割り当てマネージド ID の割り当てを参照してください。
- Azure portal で、Azure VM の設定ページに移動し、[設定] セクションの [ID] をクリックします。
- [ ユーザー割り当て ] タブで、[ + 追加] をクリックします。
- 手順 1 で作成したマネージド ID を選択し、[ 追加] をクリックします。
手順 7: 認証を構成する
Azure マネージド ID 認証を使用するように、Azure VM に Databricks CLI をインストールして構成します。
CLI をインストールする
Azure VM 上の SSH セッションから、Databricks CLI をインストールします。
sudo apt install unzip
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sudo sh
インストールを確認します。
databricks -v
構成プロファイルを追加する
ホーム ディレクトリ (.databrickscfg) に~/.databrickscfg ファイルを作成または編集し、次の内容を含めます。
Azure Databricks 構成プロファイルを参照してください。
次の値を置き換えます。
-
<account-console-url>Azure Databricks アカウントコンソール の URL を使用します。 -
<account-id>Azure Databricks アカウント ID を使用します。 「アカウント ID を特定する」を参照してください。 -
<azure-managed-identity-application-id>を、手順 1 のマネージド ID の クライアント ID 値として指定します。 -
<workspace-url>ワークスペース ごとの URL (たとえば、https://adb-1234567890123456.7.azuredatabricks.net) を使用します。 -
<azure-workspace-resource-id>手順 4 の Azure リソース ID を使用します。 - 必要に応じて、推奨される構成プロファイル名
AZURE_MI_ACCOUNTとAZURE_MI_WORKSPACEを別の名前に置き換えます。
アカウント レベルの操作が必要ない場合は、[AZURE_MI_ACCOUNT]セクションを省略します。
[AZURE_MI_ACCOUNT]
host = <account-console-url>
account_id = <account-id>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
[AZURE_MI_WORKSPACE]
host = <workspace-url>
azure_workspace_resource_id = <azure-workspace-resource-id>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
手順 8: 構成をテストする
Azure VM 上の SSH セッションから Databricks CLI コマンドを実行して、構成をテストします。
アカウント レベルのアクセスをテストするには (手順 7 で構成した場合):
databricks account users list -p AZURE_MI_ACCOUNT
ワークスペース レベルのアクセスをテストするには:
databricks users list -p AZURE_MI_WORKSPACE
手順 7 で構成プロファイルの名前を変更した場合は、 AZURE_MI_ACCOUNT または AZURE_MI_WORKSPACE をカスタム名に置き換えます。