我正在尝试在我的Azure SQL Server上设置透明数据加密,并使用存储在密钥库中的客户管理密钥。我正在通过Azure SDK for python完成这一切。我提供了相同的代码。
def enable_transparent_data_encryption(server_name: str):
key_client = KeyClient(vault_url=KEY_VAULT_URL, credential=credentials)
key_name = create_sql_cmk(server_name)
key = key_client.get_key(name=key_name)
key_version = key.properties.version
server_key_name = f'{KEY_VAULT_URL.split("//")[-1].split(".")[0]}_{key_name}_{key_version}'
tde = ServerKey(
auto_rotation_enabled=True,
server_key_type=ServerKeyType.AZURE_KEY_VAULT,
uri=f'{KEY_VAULT_URL}keys/{key_name}/{key_version}'
)
sql_client.server_keys.begin_create_or_update(RESOURCE_GROUP_NAME, server_name, server_key_name, tde).wait()
print(f'Enabled - Transparent Data Encryption using CMK on `{server_name}` SQL server.')
我已经尝试了我的代码,但它不启用透明的数据加密我的SQL服务器上。
1条答案
按热度按时间toiithl61#
我尝试了下面的代码,并成功地在Azure SQL中从密钥库启用了CMK透明数据加密。
验证码:-
请确保您的server_key_name的格式为-
KeyVaultName_KeyVaultKeyName_KeyVaultKeyVersion
您可以从门户中的密钥ID获取密钥库名称、密钥名称和密钥版本的信息,如下所示:-我已使用AzureCliCredential对我的Azure帐户进行身份验证。通过运行下面的命令登录到我的VS Code终端:
命令Reference1、Reference2
请确保您在登录到Azure Portal时登录的用户帐户已分配足够的角色来访问密钥库密钥和SQL Server。
输出:-
门户TDE开启:-