Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Bagaimana untuk mengisi database SQL Server 2005 dengan menggunakan informasi dari Active Directory

PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.

Klik disini untuk melihat versi Inggris dari artikel ini:319716
RINGKASAN
Artikel ini selangkah demi selangkah menjelaskan cara untuk mengisi database Microsoft SQL Server 2005 dengan menggunakan informasi dari Active Directory.

Persyaratan

Tabel database SQL Server

Untuk pertimbangan keamanan, sebaiknya Anda mengenkripsi data ketika Anda mendapatkan informasi direktori aktif. Untuk mengenkripsi data, sebaiknya Anda menggunakan infrastruktur manajemen kunci dalam SQL Server 2005. SQL Server 2005 menyediakan mekanisme enkripsi berikut:
  • Sertifikat
  • Asimetris kunci
  • Kunci simetris
Untuk informasi lebih lanjut tentang enkripsi hirarki dalam SQL Server 2005, kunjungi Web site Microsoft Developer Network (MSDN) berikut:Dalam kode contoh berikut menunjukkan cara membuat tabel yang berisi kolom data dienkripsi dengan menggunakan enkripsi simetris. Kode contoh dalam artikel ini menyisipkan informasi pengguna dalam sebuah tabel yang bernama karyawan dalam database yang bernama karyawan.

Catatan Menggunakan Advanced Encryption Standard (AES) enkripsi untuk kunci simetrik tidak didukung pada Microsoft Windows XP atau Windows 2000 Server. Sebelum Anda menjalankan kode contoh pada sistem yang tidak mendukung enkripsi AES, Anda harus mengubah teks AES_256 dalam kode untuk DES.
USE master;GOIF DB_ID (N'Employees') IS NOT NULLDROP DATABASE Employees;GOCREATE DATABASE Employees;GOUSE  Employees;GOCREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YourPassword'CREATE CERTIFICATE ActiveDirectoryInfo   WITH SUBJECT = 'Active Directory information';GOCREATE SYMMETRIC KEY SKey_AD    WITH ALGORITHM = AES_256    ENCRYPTION BY CERTIFICATE ActiveDirectoryInfo;GOCREATE TABLE [Employee] (	[UserId] [int] IDENTITY (1, 1) NOT NULL ,	[Username] [varbinary] (128),	[FullName] [nvarchar] (1000),	[Description] [nvarchar] (1000),	CONSTRAINT [PK_Users] PRIMARY KEY  CLUSTERED 	(		[UserId]	)  ON [PRIMARY] ) ON [PRIMARY]GOCREATE PROCEDURE sp_adinfo@Username nvarchar(128),@Fullname nvarchar(1000),@Description nvarchar(1000)ASBEGIN	OPEN SYMMETRIC KEY SKey_AD	DECRYPTION BY CERTIFICATE ActiveDirectoryInfo;	INSERT INTO [Employee] ([Username], [FullName], [Description]) 	VALUES(EncryptByKey(Key_GUID('SKey_AD'), @Username)	,@Fullname,	@Description)ENDGO

Membuat Microsoft Visual Basic script dengan menggunakan antarmuka layanan direktori aktif

  1. Di editor teks seperti Notepad, ketik script berikut:
    Option ExplicitDim sDomainDim oDomainDim sFilterDim oADobject Dim MyConnectionDim MyCommandDim param1Dim param2Dim param3sDomain 	= "some_domain"sFilter 	= "User"'Connect to the domain.Set oDomain 	= GetObject("WinNT://" & sDomain)oDomain.Filter 	= Array( sFilter )Set MyConnection = CreateObject("ADODB.Connection")'The following is the SQL connection string.MyConnection.Open "Driver={SQL Server};server=(local);database=Employees;uid=some_username;pwd=some_password;"Set MyCommand = CreateObject("ADODB.Command")Set MyCommand.ActiveConnection = MyConnectionSet param1 = MyCommand.CreateParameter("@Username", 202, 1, 128)Set param2 = MyCommand.CreateParameter("@Fullname", 202, 1, 1000)Set param3 = MyCommand.CreateParameter("@Description", 202, 1, 1000)MyCommand.CommandText = "sp_adinfo"MyCommand.CommandType = 4MyCommand.Parameters.Append param1MyCommand.Parameters.Append param2MyCommand.Parameters.Append param3For Each oADobject In oDomain	param1.Value = oADobject.Name	param2.Value = oADobject.FullName	param3.Value = oADobject.Description   	MyCommand.ExecuteNextMyConnection.Close()
    Script ini menghubungkan ke domain yang bernama "beberapa domain" untuk mendapatkan informasi pengguna. Kemudian, script ini menyisipkan informasi pengguna dalam sebuah tabel yang bernama karyawan. Tabel ini terletak di database yang bernama karyawan. Mengubah properti nama domain direktori aktif dan string koneksi SQL yang diatur oleh MyConnection objek.
  2. Simpan sebagai file AdSqlUsers.vbs.
  3. Klik dua kali AdSqlUsers.vbs untuk menjalankan berkas.
  4. Visual Basic script akan mengeksekusi, dan database SQL Server akan diisi dengan informasi Active Directory.

Verifikasi data SQL Server

  1. Buka Microsoft SQL Server Management Studio.
  2. Dalam objek Explorer, Cari Karyawan database yang berisi Karyawan meja, dan kemudian klik Query baru di toolbar.
  3. Di jendela editor, jalankan pernyataan Transact-SQL berikut untuk melihat data dienkripsi:
    SELECT * from Employee					
    Query kembali dienkripsi data yang berisi nama pengguna Active Directory.
  4. Untuk melihat data dekripsi, jalankan pernyataan Transact-SQL berikut:
    OPEN SYMMETRIC KEY SKey_AD   DECRYPTION BY CERTIFICATE ActiveDirectoryInfo;GOSELECTCONVERT(nvarchar, DecryptByKey([Username])) AS 'Decrypted Username',[FullName], [Description] from [Employee]GO
REFERENSI
Untuk informasi lebih lanjut tentang enkripsi hirarki dalam SQL Server 2005, lihat topik berikut dalam SQL Server 2005 buku Online:
  • "Enkripsi hirarki"
  • "Memilih algoritma enkripsi"
  • "Pertimbangan keamanan untuk database dan aplikasi database"
  • "Membuat sertifikat (Transact-SQL)"
  • "Membuat kunci SIMETRIK (Transact-SQL)"
Untuk informasi lebih lanjut tentang bagaimana untuk mengenkripsi kolom data dalam SQL Server 2005, kunjungi Website MSDN berikut:Untuk informasi lebih lanjut, Cari Web site Microsoft berikut "Antarmuka layanan direktori aktif," untuk "Active Directory", dan "Visual Basic Script":
VBS ADSI direktori aktif

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 319716 - Tinjauan Terakhir: 09/24/2011 17:22:00 - Revisi: 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbhowtomaster kbmt KB319716 KbMtid
Tanggapan