我正在尝试配置 DBT 以使用 Base64 编码 DER 格式的 私钥连接到 Snowflake 数据库。 文档提到了这种格式,但我不确定如何创建密钥或将其包含在profiles.yml文件中。
有人可以提供如何实现这一目标的明确指南吗?
对于
未加密的私钥:
openssl pkcs8 -topk8 -v2 des3 -inform PEM -outform DER -in private_key.pem -nocrypt | base64 -w0 > b64_private_key.der
对于加密私钥:
openssl pkcs8 -topk8 -v2 des3 -inform PEM -outform DER -in private_key.pem | base64 -w0 > b64_private_key.der
将 b64_private_key.der 的内容复制粘贴到您的 dbt profiles.yml:
# profiles.yml
my-snowflake-db:
target: dev
outputs:
dev:
# ...
# Keypair config
private_key: [Paste content of b64_private_key.der file here]
private_key_passphrase: [passphrase for the private key, if key is encrypted]
# ...
执行 dbt debug
验证您的连接:您应该能够成功配置 DBT 以使用 Base64 编码的 DER 格式私钥进行 Snowflake 数据库身份验证。