无论用户是否拥有权限,都授予应用与SSMS交互的权限

时间:2018-03-13 09:34:26

标签: python sql-server sqlalchemy ssms

我有一个与数据库交互的python应用程序(创建/删除表,插入/删除记录)。因此,它应该具有SQL管理工作室的高权限。

我想要做的是让应用程序能够与数据库进行交互,而不管用户是否允许。

我创建了一个应用程序角色并将其分配给应用程序。我知道应用程序角色已激活,因为它曾经导致一些问题(我可以解决)。

但我仍然有一个很大的问题,即应用仍然依赖于用户登录,因此任何拥有不足权限的人都无法使用该代码。

以下是与服务器建立连接的python代码的一部分:

server = '*****'
database = '*****'
driver = 'SQL+Server'
connection_string = 'mssql+pyodbc://%s/%s?driver=%s?        trusted_connection=true' % (server, database, driver)
engine = create_engine(connection_string, pool_recycle=-1, echo=False)
metadata = MetaData(bind=engine)
Session = sessionmaker(bind=engine)
Session = sessionmaker(bind=engine)
session = Session()
role = 'Python_app'
role_password = '******'
session.execute("EXEC sp_setapprole '%s', '%s'" % (role, role_password))

On this link a screenshot of the application role can be found

我尝试了很多不同的东西,但我无法解决问题。 如果有人能指出我正确的方向,我会很高兴的。

0 个答案:

没有答案