LoginSignup
1
0

More than 1 year has passed since last update.

Databricks自動化における認証処理

Last updated at Posted at 2023-02-12

Authentication for Databricks automation | Databricks on AWS [2023/1/4時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

Databricksにおいて、認証とは(ユーザー、サービスプリンシパル、グループなどの)Databricksアイデンティティを検証することを意味します。Databricksでは、アイデンティティを検証するために(アクセストークンやユーザー名、パスワードなどの)資格情報を使用します。

Databricksが呼び出し元のアイデンティティを検証した後に、検証されたアイデンティティが指定された場所にあるリソースに対して十分な権限を有しているかどうかを特定するために、Databricksでは承認と呼ばれるプロセスを使用します。本書では承認の詳細については触れません。

ツールが自動化処理やAPIリクエストを行う際、Databricksでアイデンティティを認証する資格情報が含まれます。本書では、Databricksがリクエストの認証と承認に必要とする資格情報と関連情報を作成、格納、引き渡す際の典型的な方法を説明します。お使いのツール、スクリプト、アプリでサポートされている認証タイプ、関連情報、格納のメカニズムについてはプロバイダーのドキュメントを参照ください。

Databricksパーソナルアクセストークン

Databricksのパーソナルアクセストークンは、特にDatabricksのワークスペースレベルのリソースとオペレーションを行う際には最もサポートが手厚いタイプの資格情報の一つです。資格情報および環境変数設定プロファイルのような関連情報に対する格納メカニズムの多くは、Databricksパーソナルアクセストークンを必要とします。一つのDatabricksワークスペースでは複数のパーソナルアクセストークンを設定することはできます、それぞれのパーソナルアクセストークンは単一のDatabricksワークスペースでのみ動作します。

ユーザーのパーソナルアクセストークン

Databricksユーザー向けのDatabricksパーソナルアクセストークンを作成するには、以下の手順を実施します。

  1. Databricksワークスペースでトップバーにある自身のDatabricksユーザー名をクリックし、ドロップダウンからUser Settingsを選択します。
  2. Access tokensタブでGenerate new tokenをクリックします。
  3. (オプション)あとでトークンを識別できるようにコメントを入力し、デフォルト90日のトークンの有効期限を変更します。無期限のトークン(お勧めしません)を作成するには、Lifetime (days) のボックスを空にします。
  4. Generateをクリックします。
  5. 表示されたトークンをコピーしDoneをクリックします。

重要!
コピーしたトークンはセキュアな場所に保存してください。コピーしたトークンを失くした場合、全く同じトークンを再生成することはできません。新規トークンを作成するためにこの手順を繰り返す必要があります。コピーしたトークンを失くした場合には、Access tokensタブで表示されるトークンの隣にあるXをクリックすることで、即座にワークスペースからトークンを削除することをお勧めします。

サービスプリンシパルのパーソナルアクセストークン

DatabricksユーザーではなくDatabricksサービスプリンシパルのDatabricksパーソナルアクセストークンを作成するには、Databricksオートメーションのためのサービスプリンシパルをご覧ください。

パーソナルアクセストークンの管理

ワークスペース上のすべてのDatabricksパーソナルアクセストークンの有効化や無効化、ワークスペースで誰がトークンを使用できるのかのコントロール、ワークスペースにおけるトークンの最大有効期間の設定、ワークスペースにおけるその他のトークン管理オペレーションに関しては、Databricksにおけるパーソナルアクセストークンの管理をご覧ください。

環境変数

Databricksをサポートする製品やDatabricksと連携するいくつかのサードパーティ製品では、以下の固有の環境変数のいくつかをサポートしています。お使いのツール、スクリプト、アプリでどの環境変数がサポートされているのかに関しては、プロバイダーのドキュメントを参照してください。環境変数の作成、変更、削除に関してはオペレーティングシステムのドキュメントを参照してください。

環境変数
DATABRICKS_ACCOUNT_ID

DatabricksアカウントID。

Databricks Terraformプロバイダーでのみ適用されます。
DATABRICKS_ADDRESS

DatabricksワークスペースのURL。

Databricksアカウントレベルのオペレーションにおいては、DatabricksアカウントコンソールのURLとなります。

サンプル:https://dbc-a1b2345c-d6e7.cloud.databricks.comhttps://accounts.cloud.databricks.com

Databricks Connectにのみ適用されます。
DATABRICKS_API_TOKEN

Databricksパーソナルアクセストークンの値。

Databricks Connectにのみ適用されます。
DATABRICKS_CLUSTER_ID

DatabricksクラスターのID。

Databricks Connectにのみ適用されます。
DATABRICKS_CONFIG_FILE

Databricks設定プロファイルのファイルへのフルパス。

デフォルト: Unix、Linux、macOSでは~/.databrickscfg、Windowsでは%USERPROFILE%\.databrickscfg
DATABRICKS_CONFIG_PROFILE

Databricks設定プロファイルのファイルの名称。

デフォルト: DEFAULT
DATABRICKS_DEBUG_HEADERS

プロバイダーによるリクエストのデバッグHTTPヘッダーを出力するかどうか。

デフォルト: false

Databricks Terraformプロバイダーでのみ適用されます。
DATABRICKS_DEBUG_TRUNCATE_BYTES

この制限を超えたHTTPリクエストやレスポンスtのJSONフィールドをこの長さに切り取ります。

デフォルト: 96

Databricks Terraformプロバイダーでのみ適用されます。
DATABRICKS_DSN

Databricks計算リソースに対するデータソース名(DSN)の接続文字列。

Databricks SQL Driver for Goにのみ適用されます。
DATABRICKS_HOST

DatabricksワークスペースのURL。

Databricksアカウントレベルのオペレーションにおいては、DatabricksアカウントコンソールのURLとなります。

サンプル:https://dbc-a1b2345c-d6e7.cloud.databricks.comhttps://accounts.cloud.databricks.com
DATABRICKS_ORG_ID

Databricksワークスペースの組織ID。

Databricks Connectにのみ適用されます。
DATABRICKS_PASSWORD

Databricksワークスペースユーザーのパスワード。
DATABRICKS_PORT

Databricksクラスターと通信するポート番号。

Databricks Connectにのみ適用されます。
DATABRICKS_RATE_LIMIT

秒間最大リクエスト数。

デフォルト: 15

Databricks Terraformプロバイダーでのみ適用されます。
DATABRICKS_TOKEN

Databricksパーソナルアクセストークンの値。
DATABRICKS_USERNAME

Databricksワークスペースユーザーのユーザー名。
DBSQLCLI_ACCESS_TOKEN

Databricksパーソナルアクセストークンの値。

Databricks SQL CLIにのみ適用されます。
DBSQLCLI_HOST_NAME

Databricks SQLウェアハウスのServer hostnameフィールドの値。

例: dbc-a1b2345c-d6e7.cloud.databricks.com

Databricks SQL CLIにのみ適用されます。
DBSQLCLI_HTTP_PATH

Databricks SQLウェアハウスのHTTP pathフィールドの値。

例: /sql/1.0/warehouses/1abc2d3456e7f890a

Databricks SQL CLIにのみ適用されます。
PERSONAL_ACCESS_TOKEN

Databricksパーソナルアクセストークンの値。

Apache Airflow integration with Databricksのみ適用されます。

設定プロファイル

Databricks設定プロファイルにはDatabricksが認証に必要とする設定とそのほかの上が格納されます。Databricks設定プロファイルは、使用するツール、スクリプト、アプリのDatabricks設定プロファイルのファイルに格納されます。お使いのツール、スクリプト、アプリでDatabricks設定プロファイルがサポートされているかどうかに関しては、プロバイダーのドキュメントを参照ください。

Databricks CLIを用いるか、あるいは手動で設定プロファイルのファイルを作成することができます。

設定プロファイルのファイルを作成するためにDatabricks CLIを使用

設定プロファイルのファイルを作成するためにDatabricks CLIを使用するには以下の手順を実施します。

注意
このアプローチでは、新規ファイルにDEFAULTという名前の設定プロファイルを持つ設定プロファイルのファイルを作成します。設定プロファイルのファイルがすでに存在する際には、ファイルのDEFAULT設定プロファイルは新規データで上書きされます。別の名称の設定プロファイルを作成するには、databricks configure --token --profile DEVというように、--profileオプションで新規設定プロファイル名を指定してください。

  1. Databricks CLIで以下のコマンドを実行します。

    Bash
    databricks configure --token
    
  2. プロンプトが表示されたら、https://dbc-a1b2345c-d6e7.cloud.databricks.comのようなワークスペースインスタンスのURLを入力し、Enterを押します。

  3. プロンプトが表示されたら、Databricksパーソナルアクセストークンを入力し、Enterを押します。

Databricks CLIが、Unix、Linux、macOSの場合は~フォルダ(ユーザーホーム)、Windowsの場合は%USERPROFILE%フォルダ(ユーザーホーム)に.databrickscfgというファイルが存在しない場合に作成します。Databricks CLIはDEFAULTという設定プロファイルが存在しない場合には作成し、この設定プロファイルに入力した情報を追加します。

手動で設定プロファイルのファイルを作成

手動でDatabricks設定プロファイルのファイルを作成するには、以下の手順を実行します。

  1. Unix、Linux、macOSの場合は~フォルダ(ユーザーホーム)、Windowsの場合は%USERPROFILE%フォルダ(ユーザーホーム)に.databrickscfgというファイルをお好きなテキストエディタで作成します。ファイル名の先頭のドット(.)を忘れないようにしてください。このファイルに以下の内容を追加します。

    [<DEFAULT>]
    host = <your-workspace-url>
    token = <your-personal-access-token>
    
  2. 上記の内容で、以下の値を置き換えてからファイルを保存します。

例えば、.databrickscfgファイルは以下のようになります。

[DEFAULT]
host = https://dbc-a1b2345c-d6e7.cloud.databricks.com
token = dapi12345678901234567890123456789012

ティップス
以下のように同じ.databrickscfgファイルに別々のプロファイル名を指定することで追加の設定プロファイルを作成することができます。

[DEFAULT]
host = https://dbc-a1b2345c-d6e7.cloud.databricks.com
token = dapi12345678901234567890123456789012

[DEV]
host = https://dbc-b2c3456d-e7f8.cloud.databricks.com
token = dapi23456789012345678901234567890123

ODBC DSN

ODBCにおいては、*データソース名(DSN)*はODBCデータソースに接続をリクエストするためにツール、スクリプト、アプリが使用するシンボル名となります。DSNにはODBCドライバーへのパス、ネットワークの詳細、認証資格情報、データベース詳細のような接続詳細情報が格納されます。お使いのツール、スクリプト、アプリでODBC DSNがサポートされているかどうかはプロバイダーのドキュメントを参照してください。

Databricks ODBC Driverのインストールと設定、Databricks用ODBC DSNの作成方法に関しては、ODBC driverをご覧ください。

JDBC接続URL

JDBCにおいては、接続URLはJDBCデータソースに接続をリクエストするためにツール、スクリプト、アプリが使用するシンボル名となります。接続URLにはネットワークの詳細、認証資格情報、データベース詳細、JDBCドライバーの能力のような接続詳細情報が格納されます。お使いのツール、スクリプト、アプリでJDBC接続URLがサポートされているかどうかはプロバイダーのドキュメントを参照してください。

Databricks JDBC Driverのインストールと設定、Databricks用JDBC接続URLの作成方法に関しては、JDBC driverをご覧ください。

Databricks 無料トライアル

Databricks 無料トライアル

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0