নিম্নলিখিত পরিস্থিতিতে কল্পনা করুন
CREATE DATABASE test
GO
USE test;
CREATE TABLE dbo.Customer
(
CustomerId INT,
Email VARCHAR(100),
SensitiveData VARCHAR(20)
);
INSERT INTO dbo.Customer
VALUES (1,'abc@foo.com','12346789');
কিছু সময়ে একটি ইটিএল প্রক্রিয়া লেখা হয় যা test
ডাটাবেসে কিছু ক্রিয়াকলাপ সম্পাদন করে।
CREATE USER etlUser WITHOUT LOGIN; /*For demo purposes*/
CREATE TABLE dbo.StagingTable
(
StagingTableId INT,
SomeData VARCHAR(100),
)
GRANT UPDATE,INSERT,DELETE,SELECT,ALTER ON dbo.StagingTable TO etlUser;
DENY SELECT ON dbo.Customer TO etlUser;
DENY SELECT ON dbo.Customer (SensitiveData) TO etlUser; /*For good measure*/
এটির ব্যবহারকারীর Customer
টেবিলের অনুমতি থাকা উচিত নয় (এবং অবশ্যই SensitiveData
কলামে নয়) সুতরাং এগুলি উপরোক্তভাবে সুস্পষ্টভাবে অস্বীকার করা হয়েছে।
ইটিএল প্রক্রিয়াটি কেটে যায় dbo.StagingTable
যাতে তার ALTER
উপর সারণীর অনুমতি দেওয়া হয়।
সুরক্ষা নিরীক্ষণের সময় এটি পতাকাঙ্কিত হয়। এই পরিস্থিতি কতটা বিপজ্জনক?