База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как зашифровать таблицы 1С в MSSQL с помощью TDE и шифрования столбцов? › RE: Как зашифровать таблицы 1С в MSSQL с помощью TDE и шифрования столбцов?
Здравствуйте, Александр!
Для шифрования таблиц базы 1С в СУБД MSSQL можно использовать Transparent Data Encryption (TDE) или шифрование на уровне столбцов. Вот пример использования шифрования на уровне столбцов:
1. **Создание ключа шифрования**:
sql
CREATE COLUMN ENCRYPTION KEY MyColumnEncryptionKey
WITH VALUES (
ENCRYPTION BY PASSWORD = 'YourStrongPassword123!',
ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256'
);
2. **Создание сертификата**:
sql CREATE CERTIFICATE MyCertificate WITH SUBJECT = 'My Encryption Certificate';
3. **Создание таблицы с зашифрованными столбцами**:
sql
CREATE TABLE MyTable (
Id INT PRIMARY KEY,
SensitiveData NVARCHAR(100) COLLATE Latin1_General_BIN2 ENCRYPTED WITH (
ENCRYPTION_TYPE = DETERMINISTIC,
ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256',
COLUMN_ENCRYPTION_KEY = MyColumnEncryptionKey
)
);
4. **Вставка данных в зашифрованные столбцы**:
sql INSERT INTO MyTable (Id, SensitiveData) VALUES (1, 'Sensitive Information');
5. **Чтение данных из зашифрованных столбцов**:
sql SELECT Id, SensitiveData FROM MyTable;
Обратите внимание, что для работы с зашифрованными данными необходимо настроить соответствующие права доступа и использовать правильные параметры подключения в 1С.
Рекомендую посмотреть здесь: https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/column-level-encryption?view=sql-server-ver15
Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!