この記事について
databricks上にAWSのアクセスキーなどの情報をセキュアに扱うための機能、Databricks Secret機能の利用方法についてのメモ。
基本的には公式ドキュメントどおりに進めました。
まず、databricks secret機能を利用するためにdatabricksのCLIをインストールし、そこから情報を登録していきましょう。
Databricks CLIを利用可能にする
インストールはpipで一発。
$ pip install databricks-cli
そこから、設定を進めます。
まずは、ご利用のdatabricksにログインし, アカウント設定画面からAccess Tokenを発行(generate)しましょう。
そのtokenをクリップボードにコピーした状態で、引き続きターミナルから下記実行しましょう(実行するのは一番上の行のみ)。
Hostとtokenを聞かれるので、それぞれ入力してください。
$ databricks configure --token
>>Databricks Host (should begin with https://): https://<your-host>.cloud.databricks.com/ # アクセスしているhost名
>>Token: # tokenを貼る
これで設定は完了です。
Databricks Secrets機能を利用する
databricks CLIからSecret機能を設定しましょう。
流れとしては、secret scope(セキュリティ情報をまとめる単位)を作成し、そこにkey-valueのペアを作成していくことになります。まずscopeを作成しましょう。
$ databricks secrets create-scope --scope <your_scope> # scope名は任意に設定すること
次に、作成したscopeに情報を入れていきす。
CLIからはkeyを入力し、valueはコマンド実行後立ち上がるエディタの一番上の行に入力してください。
$ databricks secrets put --scope <your_scope> --key <your_key> # your_keyは任意に設定可
secret情報をDatabricks notebook上で取り出す場合には、下記のような形で呼び出せます。
# databricks secretsからAWSアクセスキーとシークレットアクセスキーを呼ぶ
key = dbutils.secrets.get(scope="<your_scope>", key="<your_key1>")
secret = dbutils.secrets.get(scope="<your_scope>", key="<your_key2>")