对于Superset,我想从超集元数据数据库中删除SQLAlchemy连接到其他数据库的密码。示例:
sqlalchemy_uri: mysql://superUser:XXXXXXXXXX@localhost:3306/superDb
当前大约有20个sqlalchemy_uris用于不同的数据库连接。如何为不同的sqlalchemy_uri设置机密,以便它为每个URL设置正确的密码。
这是代码,我试图从SSM获取密码,然后将其传递给URL。
def getPassword():
ssm = boto3.client('ssm')
password = ssm.get_parameter(Name='<path to parameter>', WithDecryption=True)
return password['Parameter']['Value']
def example_lookup_password(url):
print(url)
secret = getPassword()
return 'secret'
我有两个担忧: 1.从SSM获取所有密码(图一) 2.将相应的密码传递到URL。
更新:
似乎SQLALCHEMY_CUSTOM_PASSWORD_STORE仅存储SQLALCHEMY_DATABASE_URI的密码,这是超集元数据库,无法从UI查找URL。因此,我们只能为URL传递一个密码。因此,从用户界面创建与其他数据库的连接仍会将密码存储在Superset的元数据库中