Câu trả lời ngắn: kể từ ngày 20 tháng 4 năm 2012, mã hóa cột không được hỗ trợ trong SQL Azure, hãy xem: http://msdn.microsoft.com/en-us/l Library / windowsazure / e336253.aspx và tìm kiếm ENCRYPT. Bạn sẽ thấy rằng tất cả các chức năng mã hóa được liệt kê là không được hỗ trợ.
Nếu bạn cần mã hóa dữ liệu của mình khi nghỉ ngơi và phải hỗ trợ SQL Azure thì bạn sẽ phải thực hiện mã hóa ở cấp ứng dụng. Điều này khó thực hiện hơn vì có nhiều cách thực hành mã hóa tốt (sử dụng nonces làm vectơ khởi tạo cho mỗi ô, quản lý khóa để theo dõi khóa nào mã hóa cột nào, xác minh tính toàn vẹn, bảo vệ lớp mã hóa với quyền dựa trên vai trò) bạn sẽ có để thực hiện chính mình. Tôi thực sự khuyên bạn nên nhờ một chuyên gia bảo mật làm việc với bạn về mã hóa vì đây là thách thức để có được quyền và nếu bạn bỏ lỡ điều gì đó thì bạn có cảm giác an toàn sai lầm có thể thực sự đốt cháy bạn sau này.
Bạn có thể xem http://securentity.codeplex.com , nơi tuyên bố là một giải pháp để quản lý dữ liệu được mã hóa và hỗ trợ SQL Azure. Cá nhân tôi chưa sử dụng nó, tôi cũng không thể chứng minh tính đúng đắn của nó, nhưng đó là một lựa chọn tiềm năng.
Thông tin khác:
Trong SQL Server, mã hóa mức cột rất dễ dàng và rất an toàn (ngay cả với chế độ xem) vì bạn có thể sử dụng các vai trò để quản lý ai có thể truy cập các khóa mã hóa. Ngay cả khi người dùng có thể chọn từ chế độ xem, nếu họ không được cấp quyền truy cập vào khóa mã hóa dữ liệu cơ bản thì họ sẽ lấy lại NULL cho các cột được mã hóa đó. Tôi có một bộ mã mẫu cho SQL Server 2005 và cao hơn thể hiện khả năng mã hóa của SQL Server tại đây: http://sqlcrypto.codeplex.com