如何在Databricks Scope中存储令牌及过期时间?存储内容能否加密?
在Databricks Scope中存储令牌及过期时间的方案
一、存储令牌与过期时间的实现方式
由于Databricks Scope仅支持存储字符串或字节类型数据,可通过以下两种方式处理令牌和过期时间的存储:
方法1:打包为JSON字符串存储
将令牌和过期时间组合成JSON格式的字符串,存入同一个Scope密钥中:
- 构造包含令牌和过期时间的JSON内容,示例:
{"token": "your_access_token", "expires_at": "2024-12-31T23:59:59"} - 使用Databricks CLI写入密钥:
databricks secrets put --scope your_scope_name --key token_with_expiry --string-value '{"token": "your_access_token", "expires_at": "2024-12-31T23:59:59"}' - 在Notebook中读取并解析:
import json secret_content = dbutils.secrets.get(scope="your_scope_name", key="token_with_expiry") token_info = json.loads(secret_content) token = token_info["token"] expires_at = token_info["expires_at"]
方法2:拆分存储为独立密钥
将令牌和过期时间分别作为两个独立密钥存入同一Scope:
- 写入令牌密钥:
databricks secrets put --scope your_scope_name --key api_token --string-value "your_access_token" - 写入过期时间密钥:
databricks secrets put --scope your_scope_name --key token_expiry --string-value "2024-12-31T23:59:59" - 在Notebook中分别读取:
token = dbutils.secrets.get(scope="your_scope_name", key="api_token") expires_at = dbutils.secrets.get(scope="your_scope_name", key="token_expiry")
二、存储信息的加密说明
Databricks Secrets Scope默认提供完善的加密机制,无需额外操作:
- 静态加密:所有存入Scope的密钥都会通过AES-256算法加密后存储,无论是托管Scope还是对接云厂商KMS的自定义Scope,均遵循该标准。
- 传输加密:密钥的读写过程全程通过TLS加密传输,避免网络传输中的数据泄露。
- 自定义加密管控:若需更高权限的密钥管理,可对接云提供商的KMS服务(如AWS KMS、Azure Key Vault、GCP Cloud KMS)托管Scope的加密主密钥,此时主密钥完全由你方掌控,Databricks不持有主密钥权限。
内容的提问来源于stack exchange,提问作者Farzu
相关产品推荐
相关产品推荐

