作者:手机用户2602916235 | 来源:互联网 | 2022-11-30 16:55
我发现有很多方法可以将其存储为变量,挂钩和其他使用加密的方法。我想知道什么是最好的方法。
1> kaxil..:
当前,有两种存储secrets的方法:
1)气流变量:默认情况下,如果键中包含任何单词('password','secret','passwd','authorization','api_key','apikey','access_token'),则变量的值将被隐藏,但可以将其配置为以明文形式显示,如下图所示。
但是,存在一个已知的错误,任何有权访问UI的人都可以导出所有暴露秘密的变量。
2)气流连接:
您可以使用Airflow连接中的“ 密码”字段,如果您已经安装了crypto
软件包(pip install apache-airflow[crypto]
),则会对该字段进行加密。密码字段将在UI中显示为空白,如屏幕截图所示。
有关保护连接的更多信息:https : //airflow.apache.org/howto/secure-connections.html
我建议使用第二种方法,因为即使有人可以访问UI,他/她也将无法获取您的秘密。请记住,尽管您需要为此安装crypto
软件包。
然后,您可以按以下方式访问机密:
from airflow.hooks.base_hook import BaseHook
cOnnection= BaseHook.get_connection(CONN_ID)
slack_token = connection.password
您可以将设置CONN_ID
为连接的名称。