Как управлять схемой SQL Server Always Encrypted Keys в проекте базы данных Visual Studio

У меня есть база данных SQL Server 2016, использующая Always Encrypted с Azure Key Vault для шифрования некоторых столбцов. Я хотел бы заменить свойства KEY_PATH и ENCRYPTED_VALUE значениями, специфичными для среды, во время развертывания. Как этим можно управлять в рамках проекта базы данных Visual Studio?

CREATE COLUMN MASTER KEY [CMK_Test]
WITH (
     KEY_STORE_PROVIDER_NAME = N'AZURE_KEY_VAULT',
     KEY_PATH = N'[Value]'
);

CREATE COLUMN ENCRYPTION KEY [CEK_TestColumn]
WITH VALUES
(
     COLUMN_MASTER_KEY = [CMK_Test],
     ALGORITHM = N'RSA_OAEP',
     ENCRYPTED_VALUE = [Value]
);

person user2577288    schedule 12.04.2019    source источник


Ответы (1)


Вы можете использовать переменную в KEY_PATH, но не в ENCRYPTED_VALUE.

CREATE COLUMN MASTER KEY [CMK_SSO]
WITH (
     KEY_STORE_PROVIDER_NAME = N'AZURE_KEY_VAULT',
     KEY_PATH = N'$(ColumnMasterKey_Path)'
);

Объявите переменную в свойствах проекта. введите здесь описание изображения

person user2144147    schedule 24.09.2020