python 如何将tenant1中的Azure函数与tenant2中的Azure SQL数据库连接?

kx5bkwkv  于 2023-02-28  发布在  Python
关注(0)|答案(1)|浏览(111)

tenant1 Azure Function中,有一个Python函数可以连接到Azure SQL数据库:

import aioodbc
import logging

async def create_db_connection(SERVER_NAME: str, DATABASE_NAME: str, USERNAME: str, PASSWORD: str) -> aioodbc.Connection: 
    CONNECTION_STRING = (
        'Driver={ODBC Driver 17 for SQL Server};'
        f'Server=tcp:{SERVER_NAME}.database.windows.net,1433;'
        f'Database={DATABASE_NAME};Uid={USERNAME};Pwd={PASSWORD};'
        'Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;'
    )
    conn = await retry(aioodbc.connect, dsn=CONNECTION_STRING, autocommit=True)
    logging.info(f'##### Azure SQL Server connection successfully created')
    return conn

是否可以使用tenant2SERVER_NAMEDATABASE_NAMEUSERNAMEPASSWORD连接到数据库?
或者还有其他原因?

8yparm6h

8yparm6h1#

如果你需要从不同的Azure租户访问SQL数据库等应用程序,则应用程序的访问级别应配置为多租户。

  • 在应用程序注册中注册SQL数据库服务器。
  • 提供/授予应用程序权限,如Directory.ReadAll和委派权限。
  • 用户应通过具有正确访问权限的应用程序进行身份验证。

有关访问多租户配置应用程序的详细信息,请参阅此MS Doc和SO1

相关问题