有关使用AWS RDS环境变量连接到我的AWS RDS数据库的问题

oro*_*ome 5 database-connection amazon-web-services flask-sqlalchemy

在托管在AWS上的Flask-SQLAlchemy应用程序中,我利用了RDS实例添加的环境变量,该实例通过与

application.config['SQLALCHEMY_DATABASE_URI'] = 
      'mysql://{}:{}@{}:{}/{}'.format(
             os.environ['RDS_USERNAME'], 
             os.environ['RDS_PASSWORD'],
             os.environ['RDS_HOSTNAME'],
             os.environ['RDS_PORT'],
             os.environ['RDS_DB_NAME'])  
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,但让我遇到一些我不满意的问题,想知道我是否可以(或应该打扰)解决问题:

  1. RDS_DB_NAME(ebdb)与我在开发机器上使用的数据库名称不同,但名称不是很有意义。但是它是在创建数据库时分配的(使用EB环境“配置”页面的“数据层”部分中的“创建新RDS数据库”)。我知道我可以通过在上面的代码中简单地对另一个数据库名称进行硬编码来否决该值,但是有没有办法在AWS中更改名称?
  2. RDS_USERNAME对应于RDS实例的(初始)配置对话框所称的“主用户”,默认情况下该主用户具有广泛的特权;但是此用户在应用程序中扮演的角色仅限于应用程序所需的任何功能。是否有任何理由不(可能严格)限制该用户的特权?我是否在考虑“大师”的含义?
  3. RDS_PASSWORD暴露为环境变量的事实令我感到担忧(尤其是因为它也被称为“主密码”)。我也是在想这个吗?除“主用户”以外,此密码是否用于其他任何用途?将其暴露在环境变量中会带来风险吗?

简而言之:(1)我可以在AWS上的某个位置更改数据库名称吗?(2)我是否可以将“主”用户视为我的应用程序中的用户(根据需要更改其应用程序的权限,而不会产生副作用);(3)我是否需要担心密码作为环境变量?