BI
2025/06/24
森田 和登

Databricksでシークレットスコープを作成する手順とDatabricks Appsでの利用方法

Databricksのシークレットスコープ機能を使ってAPIキーやパスワードなどの機密情報を安全に管理する方法を解説。Databricks CLIでのシークレット作成からDatabricks Appsでの活用まで、セキュアな開発環境構築の手順を詳しく紹介します。

1 はじめに

Databricksで開発を行う際、APIキーやパスワードなどの機密情報をソースコードにハードコーディングすることはセキュリティ上のリスクとなります。Databricksの「シークレットスコープ機能」を使用することで、これらの機密情報を安全に管理し、必要な時に呼び出すことができます。


本記事では、Databricks CLIを使用してシークレットスコープを作成し、シークレットを登録する手順を解説します。また、Databricks Appsでカスタムアプリケーションを開発する際の活用方法についても紹介します。


2 シークレットスコープの作成

シークレットスコープは、シークレットをグループ化して管理するためのコンテナです。アプリケーション単位でスコープを作成することで、シークレットを論理的に整理できます。



シークレットスコープの作成自体はDatabricks UIでも可能ですが、後続の手順(シークレット情報の登録など)でCLIが必須となるため、最初からCLIを使用することを推奨します。Databricks CLIのインストールが済んでいない場合は、こちらの記事を参考にしてください。


 


ターミナルで以下を実行することでシークレットスコープを作成できます。



databricks secrets create-scope <scope-name>


作成したシークレットスコープを確認するには以下のコマンドを実行します。



databricks secrets list-scopes


3 シークレットの作成

シークレットスコープを作成したら、実際のシークレット(機密情報)を登録します。



databricks secrets put-secret --json '{
"scope": "<scope-name>",
"key": "<key-name>",
"string_value": "<secret>"
}'


以下のコマンドで作成したシークレットの一覧を確認できます。



databricks secrets list-secrets <scope-name>


シークレットを削除したい場合は、次のコマンドを実行してください。



databricks secrets delete-secret <scope-name> <key-name>

4 Databricks Appsでのシークレット活用方法

Databricks Appsでカスタムアプリケーションを作成する際、app.yamlファイルで環境変数としてシークレットを呼び出すことができます。


以下のようにapp.yamlを用意すれば、機密情報をハードコーディングする必要がなくなります。



env:
- name: DATABRICKS_HOST
valueFrom: DATABRICKS_HOST

- name: GENIE_SPACE_ID
valueFrom: GENIE_SPACE_ID

- name: GPT_API_KEY
valueFrom: GPT_API_KEY


アプリのメインファイル (app.py) で以下のようにシークレットキーを呼び出せます。




import os
import openai

# シークレットから環境変数として取得
openai.api_key = os.environ.get("GPT_API_KEY")
databricks_host = os.environ.get("DATABRICKS_HOST")
genie_space_id = os.environ.get("GENIE_SPACE_ID")

# 以降、通常通りAPIを使用


シークレットをカスタムアプリに登録する


Databricks Appsでカスタムアプリを作成し、Edit Apps > Add Resource > Secret をクリックしたときに、先ほど作成した<scope-name>が表示されていれば、シークレットが適切に設定できています。



 


Databricks Appsでのシークレット利用について更に詳しく知りたい方は、以下の公式ドキュメントを参照してください。




5 おわりに

Databricksのシークレットスコープ機能を活用することで、機密情報を安全に管理しながら、開発の利便性を保つことができます。特にDatabricks Appsでカスタムアプリケーションを開発する際は、環境変数を通じてシークレットに簡単にアクセスできるため、セキュアで保守性の高いアプリケーションの構築が可能になります。


本記事で紹介した手順に従って、ぜひあなたのDatabricks環境でもシークレットスコープを活用してみてください。セキュリティと開発効率の両立を実現し、より安全なデータ分析環境の構築に貢献できることでしょう。


6 参考

New call-to-action