Archive

Posts Tagged ‘Active Directory’

Phát triển ứng dụng trên Active Directory với .Net Framework


Từ trước giờ, khi nhắc đến thuật ngữ, các bạn thường nghĩ ngay đến việc cài đặt, triển khai các hệ thống mạng theo các mô hình single domain và multi domain. Ít ai nhắc đến việc phát triển các ứng dụng trên Active Directory, đi sâu vào kiến trúc và lập trình với database của AD – AD Schema.

Về tổ chức thông tin trong AD được xem như các đối tượng, bạn có thể xem thêm về kiến trúc của AD ở đây.

Đối với việc phát triển ứng dụng với AD, ta có 3 phương pháp chính:

  1. LDAP – Lightweight Directory Access Protocol – đây là một giao thức chạy trên TCP/IP và cho phép lưu vết, truy xuất và thay đổi thông tin trên Internet Directory
  2. ADSI – Active Directory Services Interface – đây là interface hỗ trợ để thực hiện các tác vụ hệ thống
  3. System.DirectoryServices –  được tích hợp mặc định trong ADSI API và được .Net Framework cung cấp thư viện cho việc lập trình tương tác với Active Directory

Đây là kiến trúc tổng quan cho vấn đề lập trình tương tác với Active Directory

 

Trong bài viết này mình tập trung giới thiệu đến các bạn về vấn  đề lập trình thông qua phương pháp thứ 3 trong 3 phương pháp trên, lập trình ứng dụng với .Net Framework thông qua thư viện System.DirectoryServices

Một số ví dụ về việc lập trình với AD

Chứng thực một User

Tạo mới một user

Thiết lập password cho Users

Download Source Code Ứng dụng Demo

Advertisements

TỔNG QUAN VỀ ACTIVE DIRECTORY


Trong bài viết này mình sẽ tập trung phân tích, giải thích một cách tổng quan về Active Directory để các bạn có thể hiểu rõ được các vấn đề sau:

  • Chức năng của Directory Service
  • Mục đích của Active Directory
  • Các tính năng của Active Directory

 

UNDERSTANDING DIRECTORY SERVICES

Directory là một mô hình tổ chức thông tin, dữ liệu mà trong đó các thông tin dữ liệu có mối quan hệ chặc chẽ với nhau, ta có thể dễ dàng nắm được thông qua ví dụ Danh bạ điện thoại, với Tên trên danh bạ, ta có thể dễ dàng tra ra được số điện thoại tương ứng.

Trong các hệ thống máy tính phân tán hoặc trong mạng máy tính, có rất nhiều đối tượng được tổ chức, lưu trữ theo cấu trúc Directory như users, máy tính, file, server, máy in, máy fax … Và khi người dùng cuối tức là user, muốn sử dụng những đối tượng trên thì sao, ví dụ như user muốn dùng máy in thì sao? Do đó cần có một dịch vụ hỗ trợ user có thể xác định được đối tượng và cho phép user sử dụng nó, vì thế mà ta có định nghĩa Directory Service. Directory Service được áp dụng trong việc lưu trữ các thông tin, dữ liệu theo kiến trúc tổ chức Directory và quản lí tập trung các đối tượng, đơn giản hóa quá trình xác định và quản lí resources.

Directory Service là một dịch vụ hoạt động như một switchboard chính trong các hệ điều hành máy chủ, nó hỗ trợ các nguồn Resources độc lập và phân tán có thể làm việc với nhau, có thể kết nối với nhau. Directory Service cung cấp một nền tảng cho các chức năng của một hệ điều hành máy chủ, đảm bảo tính bảo mật, nâng cao hiệu năng khi thiết kế và triển khai các hệ thống mạng, đồng thời giúp người quản trị có thể dễ dàng quản trị được hệ thống.

WHY HAVE A DIRECTORY SERVICE?

Directory Service cung cấp một phương tiện hỗ trợ việc tổ chức và đơn giản hóa việc truy xuất Resources. Người dùng và ngay cả người quản trị không cần biết chính xác về đối tượng mà họ đang cần. Họ chỉ cần biết 1 số yêu tố về đối tượng đó .

 

Trong hình trên, ta dễ dàng thấy được Directory Service truy vấn trên Directory để lấy ra thông tin của các Object thông qua một số yếu tố của Object. Directory Service vừa là một dịch vụ hỗ quản trị hệ thống, cũng là công cụ hỗ cho người dùng cuối (User) trong việc quản trị hệ thống.

HOW ABOUT ACTIVE DIRECTORY?

Active Directory là một sự ứng dụng của Directory Service, được tích hợp vào trong họ các phiên bản Windows Server, được xem như trái tim của cả hệ thống mạng và cũng góp phần mang đến sự thành công của Windows Server. Active Directory lưu trữ thông tin và tài nguyên trong hệ thống mạng dưới mô hình tổ chức Directory và họat động với cơ chế là 1 dịch vụ, đó chính là nguyên tắc hoạt động cơ bản của Active Directory, tóm lại Active Directory hoạt động với cơ chế của Directory Service, tuy nhiên bên trong Active Directory còn rất nhiều điều huyền bí cho anh em IT Pro tụi mình nghiên cứu, tìm hiểu và ứng dụng nó.

WHAT CAN ACTIVE DIRECTORY DO?

Là một dịch vụ được tích hợp sẵn trong họ các sản phẩm Windows Server của Microsoft, Active Directory cung cấp cho tụi mình một số tính năng quan trọng, phải nói là rất nhiều giúp công việc thiết kế, triển khai và quản trị hệ thống của anh em mình được dễ dàng hơn, chặt chẽ hơn. Vậy các tính năng, dịch vụ đó là gì?

  • Centralized Data Store – Lưu trữ dữ liệu tập trung: Toàn bộ dữ liệu, thông tin trong hệ thống được lưu trữ một cách tập trung, cho phép người dùng có thể truy cập dữ liệu từ bất cứ nơi đâu, bất cứ lúc nào đồng thời nâng cao hiệu năng quản trị của hệ thống, giảm thiếu độ rủi ro cho tài nguyên.
  • Scalability – khả năng linh hoạt với nhu cầu: Active Directory cung ứng một cách linh hoạt các giải pháp quản trị khác nhau cho từng nhu cầu cụ thế trên nền tảng hạ tầng xác định của các doanh nghiệp.
  • Extensibility – Cơ sở dữ liệu của Active Directory cho phép nhà quản trị có thể customize và phát triển, ngoài ra ta còn có thể phát triển các ứng dụng sử dụng cơ sở dữ liệu này, giúp tận dụng hết khả năng, hiệu năng của Active Directory
  • Manageability – khả năng quản trị linh hoạt dễ dàng: Active Directory được tổ chức theo cơ chế của Directory Service dưới mô hình tổ chức Directory giúp các nhà quản trị có cái nhìn tổng quan nhất đối với cả hệ thống, đồng thời giúp user có thể dễ dàng truy xuất và sử dụng tài nguyên hệ thống.
  • Integration with Domain Name System (DNS) DNS là một partner rất cần thiết đối với Active Directory, trong một hệ thống mạng, các dịch vụ của Active Directory chỉ hoạt động được khi dịch vụ DNS được cài đặt. DNS có trách nhiệm dẫn đường, phân giải các Active Directory Domain Controller trong hệ thống mạng, và càng quan trọng hơn trong môi trường Multi Domain. DNS được dễ dàng tích hợp vào Active Directory để nâng cao độ bảo mật và khả năng đồng bộ hóa giữa các Domain Controller với nhau trong môi trường nhiều Domain.
  • Client Configuration Management: Active Directory cung cấp cho chúng ta một khả năng quản trị các cấu hình phía client, giúp quản trị hệ thống dễ dàng hơn và nâng cao khả năng di động của user.
  • Policy – based administration: Trong Active Directory, việc quản trị hệ thống mạng được đảm bảo một cách chắn chắc thông qua các chính sách quản trị tài nguyên, các quyền truy xuất trên các site, domain và các organization unit. Đây là một trong những tính năng quan trọng nhất được tích hợp vào Active Directory.
  • Replication of information: Active Directory cung cấp khả năng đồng bộ dữ liệu thông tin giữa các domain, trên nền tảng, môi trường nhiều domain nhằm mục đích giảm thiếu đến mức tối đa rủi ro và nâng cao khả năng họat động của hệ thống mạng.
  • Flexible, secure authentication and authorization: Active Directory cung cấp nhiều cơ chế authentication như Kerberos, Secure Socket Layer và Transport Layer Security giúp cho việc bảo mật thông tin của user khi xác thực thông tin truy xuất tài nguyên.
  • Security integration: Active Directory được tích hợp mặc địnhtrong các phiên bản Windows Server, do đó Active Directory làm việc rất dễ dàng và linh hoạt, truy xuất điều khiển trên hệ thống được định nghĩa trên từng đối tượng, từng thuộc tính của đối tượng. Không những thế, các chính sách bảo mật được áp dụng không phải đơn thuần trên local mà còn được áp dụng trên các site, domain hay ou xác định.
  • Directory – enable applications and infrastructure: Active Directory là một môi trường tuyệt hảo cho các nhà quản trị thiết lập các cấu hình và quản trị các ứng dụng trên hệ thống. Đồng thời Active Directory cung cấp một hướng mở cho các nhà phát triển ứng dụng (developer) xây dựng các ứng dụng trên nền tảng Active Directory thông qua Active Directory Service Interfaces
  • Interoperability with other directory services: Active Directory được xây dựng trên giao thức directory service chuẩn gồm 2 giao thức là Lightweight Directory Access Protocol (LDAP) và Name Service Provider Interface (NSPI), do đó Active Directory có khả năng tương thích với các dịch vụ khác được xây dựng trên nền tảng directory service thông qua các giao thức này. Vì LDAP là một giao thức directoy chuẩn, do đó ta có thể phát triển, tích hợp các sản phẩm ứng dụng trao đổi, chia sẻ thông tin với Active Directory thông qua giao thức LDAP. Còn giao thức NSPI được hỗ trợ bởi Active Directory nằm mục đích đảm bảo và nâng cao khả năng tương thích với directoy của Exchange.
  • Signed and encrypted LDAP traffic: Mặc định là công cụ Active Directoy trong windows server sẽ tự động xác thực và mã hóa thông tin, dữ liệu truyền tải trên giao thức LDAP. Việc xác thực giao thức nhằm đảm bảo thông tin được gửi đến từ 1 nguồn chính thức và không bị giả mạo.

ACTIVE DIRECTORY – NEW IMPROVED FEATURES IN WINDOWS SERVERS 2008


Mấy ngày hôm nay ở nhà, mình có nhiều thời gian hơn đề nghiên cứu về hệ thống Windows Server 2008 để cập nhật kiến thức về IT Pro, mới nghiên cứu về Active Directory trên WS 2008 thấy có nhiều tính năng mới và hay nên viết một entries về chủ đề này. Vì có nhiều từ ngữ chuyên môn nên mình để nguyên văn English theo Document gốc mà không translate về Tiếng Việt.

ACTIVE DIRECTORY FEDERATION SERVICES

  • Availability as an Integrated Server Role: AD FS is a server role within Windows Server 2008 that can be easily deployed and managed using Server Manager, instead of handled as an added feature, as in Windows Server 2003 R2.
  • Integration with Microsoft Office SharePoint Server 2007: AD FS can be used to facilitate a single sign-on solution for Office SharePoint Server 2007. 
  • Integration with Active Directory Rights Management Services (AD RMS): AD FS can integrate with AD RMS to support the sharing of rights-protected content between organizations without requiring AD RMS to be deployed in both organizations.
  • Improved Administration: Importing and exporting trust information has been enhanced so that each organization can quickly export or import XML files to facilitate the configuration of trust information.

 

 

ACTIVE DIRECTORY LIGHTWEIGHT DIRECTORY SERVICES

  • Install from Media Generation: With this feature, you can use a one-step Ntdsutil.exe or Dsdbutil.exe process to create installation media for subsequent AD LDS installations.
  • Auditing: With this feature, you can set up AD LDS auditing with a new audit subcategory to log old and new values when changes are made to objects and their attributes.
  • Database Mounting Tool: With this feature, you can view directory data that is stored online in snapshots that are taken at different points in time to better decide which data to restore, without having to restart the server. This feature also applies to AD DS. For more information, see AD DS: Data Mounting Tool (http://go.microsoft.com/fwlink/?LinkId=94847).
  • Active Directory Sites and Services Support: With this feature, you can use the Active Directory Sites and Services snap-in to manage replication among AD LDS instances. To use this tool, you must import the classes in MS-ADLDS-DisplaySpecifiers.LDF to extend the schema of a configuration set that you want to manage. To connect to an AD LDS instance that hosts your configuration set, specify the computer name and the port number of a server that hosts this AD LDS instance.
  • Dynamic List of LDIF files: With this feature, you can make custom LDIF files available during AD LDS instance setup—in addition to the default LDIF files that are provided with AD LDS—by adding the files to the %systemroot%\ADAM directory.
  • Recursive Linked-Attribute Queries: With this feature, you can create a single LDAP query that can follow nested attribute links. This can be very useful in determining group membership and ancestry. For more information, see article 914828 in the Microsoft Knowledge Base (http://go.microsoft.com/fwlink/?LinkId=94828).

ACTIVE DIRECTORY DOMAIN SERVICES

  • Auditing: Changes made to Active Directory objects can be recorded so that you know what was changed on the object, as well as the previous and current values for the changed attributes.
  • Fine – Grained Password: Password policies can be configured for distinct groups within the domain. No longer does every account have to use the same password policy within the domain.
  • Read-Only Domain Controller: A domain controller with a read-only version of the Active Directory database can be deployed in environments where the security of the domain controller cannot be guaranteed, such as branch offices where the physical security of the domain controller is in question, or domain controllers that host additional roles, requiring other users to log on and maintain the server. The use of Read-Only Domain Controllers (RODCs) prevents changes made at branch locations from potentially polluting or corrupting your AD forest via replication. RODCs also eliminate the need to use a staging site for branch office domain controllers, or to send installation media and a domain administrator to the branch location.

  • Restartable Active Directory Domain Services: Active Directory Domain Services can be stopped and maintained. Rebooting the domain controller and restarting it in Directory Services Restore Mode is not required for most maintenance functions. Other services on the domain controller can continue functioning while the directory service is offline.
  • Database Mounting Tool: A snapshot of the Active Directory database can be mounted using this tool. This allows a domain administrator to view the objects within the snapshot to determine the restore requirements when necessary.

ACTIVE DIRECTORY GROUP POLICY

 

 

ACTIVE DIRECTORY RIGHTS MANAGEMENT SERVICES

  • Application Support: Support for AD RMS is already included within Windows Vista. Internet Explorer 7 and the 2007 Microsoft Office system already have support for AD RMS. The AD RMS client can also be installed on other Windows operating systems.
  • Persistent Protection: Your content can be protected on the go. You specify who can open, modify, print, or manage the content, and the rights stay with the content—even after it has been transferred outside of your organization.
  • Usage Policy Templates: If you have a common set of rights that you use to control access to information, a Usage Policy Template can be created and applied to content. This alleviates the need to recreate the usage rights settings for every file you want to protect.
  • AD RMS Software Development Kit: The AD RMS Software Development Kit (SDK) can be used by independent software vendors (ISVs) to rights-enable their applications, meaning the application investments you’ve already made may be (or will become) compatible with AD RMS.

ACTIVE DIRECTORY CERTIFICATE SERVICES

  • Enrollment Agent Templates: Delegated enrollment agents can be assigned on a per-template basis.
  • Integrated Simple Certificate Enrollment Protocol (SCEP): Certificates can be issued to network devices, such as routers.
  • Online Responder: Certificate Revocation List (CRL) entries can be returned to the requestor as a single certificate response instead of the entire CRL. This reduces the total amount of network traffic consumed when clients validate certificates.
  • Enterprise PKI (PKI View): A new management tool for AD CS, this tool allows a Certificate Services administrator to manage Certification Authority (CA) hierarchies to determine the overall health of the CAs and to easily troubleshoot errors.