使用Python在Azure SQL上启用TDE

时间:2019-09-11 14:15:55

标签: python azure azure-sql-database azure-functions tde

我是Python的新手,我正在尝试编写一些小的脚本来修复Azure环境。我正在尝试测试在Azure SQL数据库上启用TDE,但是看不到任何示例代码可以帮助我。

我使用TransparentDataEncryptionStatus命令走对了吗?我不太确定该从哪里去。

这是用于Azure功能

mssql_client = SqlManagementClient(credentials, sql_subscription)
database_settings = mssql_client.databases.create_or_update(sql_resource_group, sql_server, sql_db, TransparentDataEncryptionStatus 

下一步是什么?

3 个答案:

答案 0 :(得分:0)

您可以在Python中使用Transact-SQLto Manage transparent data encryption

 ALTER DATABASE [databasename] SET ENCRYPTION ON

这是示例代码:

import pyodbc
server = '<server>.database.windows.net'
database = '<database>'
username = '<username>'
password = '<password>'
driver= '{ODBC Driver 17 for SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute('ALTER DATABASE [databasename] SET ENCRYPTION ON')
cnxn .commit()

希望这会有所帮助。

答案 1 :(得分:0)

  

我是否使用TransparentDataEncryptionStatus正确地前进   命令?

是的!您在正确的轨道上。

create_or_update 方法创建或更新数据库的透明数据加密配置。

我在您的代码中看到的唯一更改是正确通过了TDE,应该如下:

database_settings = mssql_client.transparent_data_encryptions.create_or_update(sql_resource_group, sql_server, sql_db, status=TransparentDataEncryptionStatus.Enabled)

 database_settings = mssql_client.transparent_data_encryptions.create_or_update(sql_resource_group, sql_server, sql_db, status='Enabled')

请找到文档here

答案 2 :(得分:-1)

database_settings = mssql_client.transparent_data_encryptions.create_or_update(
    group_name, server_name, database_name,
    status=TransparentDataEncryptionStatus.enabled)