Query Encrypted SmartBox SmartObject from Reporting Service

ในกรณีที่เราต้องการเก็บค่า Data Encryption เราสามารถสร้าง SmartBox และ Enable Encryption Option ได้ คำถามต่อมาก็คือว่า แล้วเราจะสามารถ Query Data ที่มันถูก Encrypt จาก Application อื่นที่ไม่ใช่ K2 ได้อย่างไร เช่น เราต้องการนำ Reporting Service มา Query ที่ Table นี้

วิธีการคือ เราสามารถ Query โดยอ้างอิง Certificate และ SCSSOKey ที่ทาง K2 Auto Generate ไว้ให้เราได้ ตามรูปด้านล่าง

Certificate Name = SCHostServerCert

Symmetric Keys = SCSSOKey

พอเราทราบ 2 ค่านี้ เราสามารถมาเขียน query ได้ประมาณนี้ (จากตัวอย่างคือ query ข้อมูล password ที่ encrypt ไว้)

Open symmetric key SCSSOKey
Decryption by certificate SCHostServerCert
select [Password], Username, convert(varchar, DECRYPTBYKEY([Password])) as ‘DecryptedPassword’
from [SmartBoxData].[TestEncryption]
Close symmetric key SCSSOKey

ขอมอบ Credit นี้ให้พี่หนู VenTek เทพ SQL & Reporting นะครับ 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s