2017-08-16 5 views
0

すべてのSQL Serverユーザーに対してデータベース(この例ではtestDB)を暗号化したい場合もあります。saSQL Serverはすべてのユーザーをデータベースに制限します(暗号化を使用)

USE testDB 
GO 

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '12345678'; 
CREATE CERTIFICATE tdeCert WITH SUBJECT = 'TDE Certificate'; 

BACKUP CERTIFICATE tdeCert TO FILE = 'e:\tdecert' 
    WITH PRIVATE KEY (
     FILE = 'e:\hello', 
     ENCRYPTION BY PASSWORD = '12345678'); 

CREATE DATABASE ENCRYPTION KEY 
    WITH ALGORITHM = AES_256 
     ENCRYPTION BY SERVER CERTIFICATE tdeCert; 

ALTER DATABASE testDB SET ENCRYPTION ON; 
GO 

しかし、単にtestDBとそのテーブルのすべてが任意のパスワードなしで任意のユーザーに表示されています

は、私はこれらのクエリをTDEを使​​用して書きました!この制限を行うのを助けてください。おかげ

答えて

1
1.Connect to your SQL server instance using management studio 
2.Goto Security -> Logins -> (RIGHT CLICK) New Login 
3.fill in user details 
4.Under User Mapping, select the databases you want the user to be able to access and configure 

-- Or You Can Use 
--Step 1: (create a new user) 
create LOGIN hello WITH PASSWORD='foo', CHECK_POLICY = OFF; 


-- Step 2:(deny view to any database) 
USE master; 
GO 
DENY VIEW ANY DATABASE TO hello; 


-- step 3 (then authorized the user for that specific database , you have to use the master by doing use master as below) 
USE master; 
GO 
ALTER AUTHORIZATION ON DATABASE::yourDB TO hello; 
GO 
+0

他にもこのデータベースを表示または編集できますか? – HamidEbr

+1

saの権限を拒否した場合は表示されません。 –

+0

saの代わりに他のユーザーに割り当てることができるSQLサーバーの新しいログインを常に作成します。 –

2

TDEは、「安静時のデータを暗号化する - すなわちそれは、データがファイル自体を暗号化し、データベースサーバに格納された復号鍵を使用してメモリにロードするときにそれらを復号化します。これは、データ(したがって名前)を使用するアプリケーションに対しては完全に透過的であり、アプリケーションの変更は不要であり、データにアクセスするためにデータベースに既に実装されている認証以上の認証は必要ありません。

TDEは、データベースファイル自体が何らかの形で盗まれたり、許可なく別のマシンに転送されたりすると、暗号化されたサーバーに格納されている復号化キーなしでは復元できません。 https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption-tde

パスワードを要求することでユーザーからデータを保護するには、SQL Serverのログインとユーザーを実装する必要があります。これにより、特定のユーザーまたはロールに対してデータと操作に特定の権限を与えることができます。ここをクリックして開始する必要があるウォークスルーがあります:https://www.concurrency.com/blog/january-2017/creating-logins-and-users-in-sql-server

関連する問題