シークレットスコープ

シークレットの管理は、シークレットスコープを作成することから始まります。 シークレットスコープは、名前で識別されるシークレットのコレクションです。 Databricks ユーティリティを使用してシークレットにアクセスするには、Secrets ユーティリティ (dbutils.secrets)を参照してください。

ワークスペースは最大 1000 シークレットスコープに制限されています。 さらに必要な場合は、Databricks サポート チームにお問い合わせください。

Databricksでは、シークレットスコープを個人ではなくロールまたはアプリケーションに合わせることを推奨しています。

概要

Databricksでサポートされているシークレットスコープは、Databricksが所有・管理する暗号化されたデータベースに保存されます(バックアップされます)。シークレットスコープ名:

  • ワークスペース内で一意である必要があります。

  • 英数字、ダッシュ、アンダースコア、@、ピリオドで構成され、128文字を超えることはできません。

名前は機密ではないと見なされ、ワークスペース内のすべてのユーザーが読み取ることができます。

Databricks CLI (バージョン 0.205 以降) を使用して、Databricks でサポートされるシークレットスコープを作成します。または、 Secrets API を使用することもできます。

スコープの権限

スコープは、 シークレット ACL によって制御されるアクセス許可を使用して作成されます。 デフォルトでは、スコープは、スコープを作成したユーザー (「作成者」) の管理権限付きで作成されます。これにより、作成者はスコープ内のシークレットを読み取り、スコープにシークレットを書き込むことができ、スコープの ACL を変更できます。 アカウントがプレミアム プラン以上である場合は、スコープを作成した後、いつでも詳細な権限を割り当てることができます。 詳細については、「 シークレット ACL」を参照してください

スコープを作成するときに、デフォルトを上書きして、すべてのユーザーに MANAGE 権限を明示的に付与することもできます。 実際、アカウントに プレミアムプラン以上が ない場合には、これを実行する 必要があります 。

DatabricksでサポートされているSecretスコープを作成する

シークレットスコープ名は大文字と小文字を区別しません。

Databricks CLIを使用してスコープを作成するには、次の手順を実行します。

databricks secrets create-scope <scope-name>

デフォルトでは、スコープは、スコープを作成したユーザーの管理権限付きで作成されます。 アカウントにプレミアム プラン以上がない場合は、スコープを作成するときに、デフォルトを上書きして、「ユーザー」(すべてのユーザー) に管理権限を明示的に付与する必要があります

databricks secrets create-scope <scope-name> --initial-manage-principal users

Secrets APIを使用してDatabricksでサポートされているシークレットスコープを作成することもできます。

アカウントがプレミアム プラン以上である場合は、スコープを作成した後でいつでも権限を変更できます。 詳細については、「 シークレット ACL」を参照してください

Databricksでサポートされているシークレットスコープを作成したら、シークレットを追加できます。

シークレットスコープをリストする

CLIを使用してワークスペース内の既存のスコープを一覧表示するには、次の手順を実行します。

databricks secrets list-scopes

シークレット API を使用して既存のスコープを一覧表示することもできます。

シークレットスコープを削除する

シークレットスコープを削除すると、そのスコープに適用されているすべてのシークレットと ACL が削除されます。 CLI を使用してスコープを削除するには、次のコマンドを実行します。

databricks secrets delete-scope <scope-name>

Secrets APIを使用してシークレットスコープを削除することもできます。