इस लेख में, हम देखेंगे कि एक्टिव डायरेक्टरी डोमेन में प्रशासनिक अनुमतियों को कैसे प्रत्यायोजित किया जाए। प्रत्यायोजन आपको डोमेन एडमिन्स, अकाउंट ऑपरेटर्स आदि जैसे विशेषाधिकार प्राप्त डोमेन समूहों का सदस्य बनाए बिना सामान्य डोमेन (गैर-एडमिन) उपयोगकर्ताओं को कुछ AD प्रबंधन कार्य करने की अनुमति देने की अनुमति देता है। उदाहरण के लिए, आप प्रत्यायोजन का उपयोग करके एक निश्चित AD सुरक्षा समूह (मान लें, हेल्पडेस्क) को उपयोगकर्ताओं को समूहों में जोड़ने, AD में नए उपयोगकर्ता बनाने, और खाता पासवर्ड रीसेट करने की अनुमति दे सकते हैं।
एक्टिव डायरेक्टरी प्रत्यायोजित अनुमतियों को समझना
AD में अनुमतियों को प्रत्यायोजित करने के लिए, एक्टिव डायरेक्टरी यूजर्स एंड कंप्यूटर्स (DSA.msc) में नियंत्रण का प्रत्यायोजन विज़ार्ड का उपयोग किया जाता है।
आप AD में प्रशासनिक विशेषाधिकारों को काफी विस्तृत स्तर पर प्रत्यायोजित कर सकते हैं। आप एक समूह को OU में पासवर्ड रीसेट करने की अनुमति दे सकते हैं, दूसरे को उपयोगकर्ता खाते बनाने और हटाने के लिए, और तीसरे को समूह सदस्यता बनाने और बदलने के लिए। आप नेस्टेड OUs पर अनुमति विरासत कॉन्फ़िगर कर सकते हैं। एक्टिव डायरेक्टरी में अनुमतियों को निम्न स्तरों पर प्रत्यायोजित किया जा सकता है:
- AD साइट;
- पूरा डोमेन;
- एक्टिव डायरेक्टरी में एक विशिष्ट संगठनात्मक इकाई (OU);
- एक विशिष्ट AD ऑब्जेक्ट।
एक्टिव डायरेक्टरी में नियंत्रण प्रत्यायोजन के लिए सर्वोत्तम अभ्यास:
- विशिष्ट उपयोगकर्ता खातों को सीधे अनुमतियां प्रत्यायोजित (असाइन) करना अनुशंसित नहीं है। इसके बजाय AD में एक नया सुरक्षा समूह बनाएं, उपयोगकर्ता को इसमें जोड़ें, और उस समूह के लिए OU पर अनुमतियां प्रत्यायोजित करें। यदि आप किसी अन्य उपयोगकर्ता को वही अनुमतियां देना चाहते हैं, तो आप बस उसे इस सुरक्षा समूह में जोड़ सकते हैं;
- अस्वीकार अनुमतियों का उपयोग करने से बचें, क्योंकि उनकी प्राथमिकता अनुमत लोगों पर होती है;
- डोमेन में प्रत्यायोजित अनुमतियों को समय-समय पर ऑडिट करें (पावरशेल का उपयोग करके प्रति OU अनुमतियों की वर्तमान सूचियों वाली रिपोर्ट बनाई जा सकती है);
- किसी को भी एडमिनिस्ट्रेटर खातों वाले OU को प्रबंधित करने की अनुमति न दें। अन्यथा, कोई भी सपोर्ट स्टाफ सदस्य डोमेन एडमिनिस्ट्रेटर पासवर्ड रीसेट कर सकता है। सभी विशेषाधिकार प्राप्त उपयोगकर्ताओं और समूहों को एक अलग OU में रखा जाना चाहिए जो प्रत्यायोजन नियमों के अधीन नहीं है।
AD में पासवर्ड रीसेट और खाता अनलॉक अनुमतियों को प्रत्यायोजित करना
आइए कल्पना करें कि आपका कार्य हेल्पडेस्क समूह को डोमेन में पासवर्ड रीसेट करने और उपयोगकर्ता खातों को अनलॉक करने की अनुमति देना है। आइए पावरशेल का उपयोग करके AD में एक नया सुरक्षा समूह बनाएं:
New-ADGroup "HelpDesk" -path 'OU=Groups,OU=Paris,OU=Fr,dc=woshub,DC=com' -GroupScope Global
उन उपयोगकर्ताओं को इस समूह में जोड़ें जिन्हें आप चाहते हैं:
Add-AdGroupMember -Identity HelpDesk -Members rdroz, jdupont
एक्टिव डायरेक्टरी यूजर्स एंड कंप्यूटर्स mmc स्नैप-इन (dsa.msc) चलाएं, उपयोगकर्ताओं वाले OU पर राइट-क्लिक करें (हमारे उदाहरण में यह 'OU=Users,OU=Paris,OU=Fr,dc=woshub,DC=com' है), और नियंत्रण प्रत्यायोजित करें मेनू आइटम चुनें।
उस समूह का चयन करें जिसे आप प्रशासनिक विशेषाधिकार देना चाहते हैं।
पूर्व-कॉन्फ़िगर किए गए विशेषाधिकारों के सेट में से एक चुनें (निम्न सामान्य कार्यों को प्रत्यायोजित करें):
- उपयोगकर्ता खाते बनाएं, हटाएं, और प्रबंधित करें;
- उपयोगकर्ता पासवर्ड रीसेट करें और अगले लॉगऑन पर पासवर्ड बदलने के लिए बाध्य करें;
- सभी उपयोगकर्ता जानकारी पढ़ें;
- समूह बनाएं, हटाएं, और प्रबंधित करें;
- समूह की सदस्यता संशोधित करें;
- ग्रुप पॉलिसी लिंक्स प्रबंधित करें;
- परिणामी नीति सेट उत्पन्न करें (योजना);
- परिणामी नीति सेट उत्पन्न करें (लॉगिंग);
- inetOrgPerson खाते बनाएं, हटाएं, और प्रबंधित करें;
- inetOrgPerson पासवर्ड रीसेट करें और अगले लॉगऑन पर पासवर्ड बदलने के लिए बाध्य करें;
- सभी inetOrgPerson जानकारी पढ़ें।
या प्रत्यायोजित करने के लिए एक कस्टम कार्य बनाएं। मैं दूसरा विकल्प चुनता हूं।
उन AD ऑब्जेक्ट्स का प्रकार चुनें जिन्हें आप प्रशासनिक अनुमतियां देना चाहते हैं। चूंकि हम उपयोगकर्ता खातों पर नियंत्रण देना चाहते हैं, उपयोगकर्ता ऑब्जेक्ट आइटम चुनें। यदि आप OU में उपयोगकर्ता बनाने या हटाने की अनुमति देना चाहते हैं, तो विकल्प इस फ़ोल्डर में चयनित ऑब्जेक्ट्स बनाएं/हटाएं चुनें। हमारे उदाहरण में, हम ऐसे विशेषाधिकार नहीं देते।
अनुमतियों की सूची में, जिन्हें आप प्रत्यायोजित करना चाहते हैं उन्हें चुनें। हमारे उदाहरण में, हम उपयोगकर्ता खातों को अनलॉक करने के विशेषाधिकार (Read lockoutTime और Write lockoutTime) और पासवर्ड रीसेट करने के लिए (पासवर्ड रीसेट) चुनेंगे।
हेल्पडेस्क टीम के लिए डोमेन में खाता लॉकआउट के स्रोत की पहचान करने के लिए, आपको उन्हें डोमेन कंट्रोलर्स पर सुरक्षा लॉग्स खोजने की अनुमति देनी होगी।
अगला क्लिक करें, और अंतिम स्क्रीन पर चयनित अनुमतियों के प्रत्यायोजन की पुष्टि करें।
अब, लक्ष्य OU के उपयोगकर्ता का पासवर्ड रीसेट करने का प्रयास करें, हेल्पडेस्क समूह के उपयोगकर्ता खाते के तहत पावरशेल का उपयोग करके:
Set-ADAccountPassword gchaufourier -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “P@ssdr0w1” -Force -Verbose) –PassThru
पासवर्ड सफलतापूर्वक रीसेट होना चाहिए (यदि यह डोमेन पासवर्ड नीति से मेल खाता है)।
अब New-ADUser cmdlet का उपयोग करके इस OU में एक उपयोगकर्ता बनाने का प्रयास करें:
New-ADUser -Name gmicheaux -Path 'OU=Users,OU=Paris,OU=FR,DC=woshub,DC=com' -Enabled $true
एक एक्सेस अस्वीकृत त्रुटि दिखाई देनी चाहिए क्योंकि आपने नए AD खाते बनाने के अधिकारों को प्रत्यायोजित नहीं किया है।
आप डोमेन कंट्रोलर सुरक्षा लॉग्स का उपयोग करके उन उपयोगकर्ताओं के कार्यों को ऑडिट कर सकते हैं जिन्हें आपने प्रशासनिक अनुमतियां प्रत्यायोजित की हैं। उदाहरण के लिए, आप ट्रैक कर सकते हैं कि डोमेन में किसने उपयोगकर्ता पासवर्ड रीसेट किया, किसने AD में उपयोगकर्ता खाता बनाया, या संवेदनशील AD समूहों में परिवर्तनों को ट्रैक करें।
AD डोमेन में कंप्यूटर्स को जोड़ने की अनुमतियों को प्रत्यायोजित करना
डिफ़ॉल्ट रूप से, कोई भी डोमेन उपयोगकर्ता डोमेन में 10 कंप्यूटर्स तक जोड़ सकता है। 11वें कंप्यूटर को जोड़ते समय, एक त्रुटि दिखाई देगी:
आपका कंप्यूटर डोमेन से जुड़ नहीं सका। आपने इस डोमेन में बनाने के लिए अनुमत कंप्यूटर खातों की अधिकतम संख्या पार कर ली है। इस सीमा को रीसेट या बढ़ाने के लिए अपने सिस्टम एडमिनिस्ट्रेटर से संपर्क करें।
आप डोमेन-वाइड स्तर पर ms-DS-MachineAccountQuota विशेषता का मान बढ़ाकर इस प्रतिबंध को बदल सकते हैं। या (जो अधिक सही और सुरक्षित है) किसी विशिष्ट उपयोगकर्ता समूह (हेल्पडेस्क) को एक निश्चित OU में कंप्यूटर्स को जोड़ने की अनुमति देकर। ऐसा करने के लिए, कंप्यूटर ऑब्जेक्ट्स प्रकार की ऑब्जेक्ट्स बनाने की अनुमतियों को प्रत्यायोजित करें। नियंत्रण के प्रत्यायोजन विज़ार्ड में, इस फ़ोल्डर में चयनित ऑब्जेक्ट्स बनाएं चुनें।
सभी चाइल्ड ऑब्जेक्ट्स बनाएं को अनुमतियों अनुभाग में चुनें।
यदि आप AD में ऑर्गनाइज़ेशनल यूनिट्स के बीच ऑब्जेक्ट्स को स्थानांतरित करने का अधिकार प्रत्यायोजित करना चाहते हैं, तो आपको निम्न अनुमतियां देनी होंगी: उपयोगकर्ता ऑब्जेक्ट्स हटाएं, विशिष्ट नाम लिखें, नाम लिखें (**), उपयोगकर्ता (या कंप्यूटर) ऑब्जेक्ट्स बनाएं।
एक्टिव डायरेक्टरी में प्रत्यायोजित अनुमतियों को कैसे देखें और हटाएं?
AD में एक OU को प्रत्यायोजन नियमों की किसी भी संख्या असाइन की जा सकती है। आप ADUC कंसोल में OU के गुणों में समूहों और उन्हें प्रत्यायोजित अनुमतियों की सूची प्राप्त कर सकते हैं। सुरक्षा टैब पर जाएं।
इसमें इस कंटेनर के लिए अनुमतियां दी गई AD विषयों की सूची होती है। आप उन्नत टैब पर दी गई अनुमतियों की सूची देख सकते हैं। जैसा कि आप देख सकते हैं, हेल्पडेस्क समूह को पासवर्ड रीसेट करने की अनुमति है।
आप पहले प्रत्यायोजित प्रशासनिक अनुमतियों के एक विशिष्ट समूह को रद्द कर सकते हैं। उस समूह का नाम ढूंढें जिसे आपने अनुमतियां प्रत्यायोजित की थीं और हटाएं पर क्लिक करें।
इसके अलावा, सुरक्षा -> उन्नत टैब पर आप मैन्युअल रूप से विभिन्न सुरक्षा समूहों को प्रत्यायोजित अनुमतियां असाइन कर सकते हैं।
पावरशेल के साथ एक्टिव डायरेक्टरी में अनुमतियों को कैसे प्रत्यायोजित करें?
आप Get-ACL और Set-ACL cmdlets का उपयोग करके OU को प्रत्यायोजित अनुमतियों की सूची प्राप्त कर सकते हैं या वर्तमान अनुमतियों को बदल सकते हैं। ये वही पावरशेल cmdlets हैं जिनका उपयोग फ़ाइलों और फ़ोल्डर्स पर NTFS अनुमतियों को प्रबंधित करने के लिए किया जाता है।
निम्न सरल स्क्रिप्ट AD में एक विशिष्ट संगठनात्मक इकाई को प्रत्यायोजित सभी गैर-मानक अनुमतियों को सूचीबद्ध करेगी:
# OU प्राप्त करें
$OUs = Get-ADOrganizationalUnit -Filter 'DistinguishedName -eq "OU=Users,OU=Paris,DC=woshub,DC=com"'| Select-Object -ExpandProperty DistinguishedName
$schemaIDGUID = @{}
$ErrorActionPreference = 'SilentlyContinue'
Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -LDAPFilter '(schemaIDGUID=*)' -Properties name, schemaIDGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.schemaIDGUID,$_.name)}
Get-ADObject -SearchBase "CN=Extended-Rights,$((Get-ADRootDSE).configurationNamingContext)" -LDAPFilter '(objectClass=controlAccessRight)' -Properties name, rightsGUID |
ForEach-Object {$schemaIDGUID.add([System.GUID]$_.rightsGUID,$_.name)}
$ErrorActionPreference = 'Continue'
ForEach ($OU in $OUs) {
$report += Get-Acl -Path "AD:\$OU" |
Select-Object -ExpandProperty Access |
Select-Object @{name='organizationalUnit';expression={$OU}}, `
@{name='objectTypeName';expression={if ($_.objectType.ToString() -eq '00000000-0000-0000-0000-000000000000') {'All'} Else {$schemaIDGUID.Item($_.objectType)}}}, `
@{name='inheritedObjectTypeName';expression={$schemaIDGUID.Item($_.inheritedObjectType)}}, `
*
}
# असाइन की गई OU अनुमतियों के साथ रिपोर्ट
आप ग्राफिकल Out-GridView cmdlet के साथ प्रत्यायोजित अनुमतियों की रिपोर्ट प्राप्त कर सकते हैं:
$report| where {($_.IdentityReference -notlike "*BUILTIN*") -and ($_.IdentityReference -notlike "*NT AUTHORITY*") }| Out-GridView
या आगे के विश्लेषण के लिए एक्सेल में CSV फ़ाइल में अनुमतियों की सूची एक्सपोर्ट करें (आप पावरशेल स्क्रिप्ट से सीधे एक्सेल फ़ाइल में डेटा लिख सकते हैं):
$report | Export-Csv -Path "C:\reports\AD_OU_Permissions.csv" –NoTypeInformation
परिणामी रिपोर्ट दिखाती है कि हेल्पडेस्क समूह को OU में उपयोगकर्ता पासवर्ड रीसेट करने की अनुमति दी गई है (ObjectTypeName=User-Force-Change-Password)।
आप dsacls टूल का उपयोग करके OU पर अधिकारों को प्रत्यायोजित कर सकते हैं। उदाहरण के लिए:
dsacls "ou=users,ou=paris,dc=woshub,dc=com" /I:S /G "WOSHUB\HELPDESK:CA;Reset Password;user" "WOSHUB\HELPDESK:WP;pwdLastSet;user" "WOSHUB\HELPDESK:WP;lockoutTime;user
आप पावरशेल का उपयोग करके ऑर्गनाइज़ेशनल यूनिट कंटेनर पर अनुमतियां भी असाइन कर सकते हैं (इस उदाहरण में, पासवर्ड रीसेट करने की अनुमतियां प्रत्यायोजित की गई हैं):
$ou = "AD:\OU=users,OU=Paris,DC=woshub,DC=com"
$group = Get-ADGroup helpdesk
$sid = new-object System.Security.Principal.SecurityIdentifier $group.SID
$ResetPassword = [GUID]"00299570-246d-11d0-a768-00aa006e0529"
$UserObjectType = "bf967aba-0de6-11d0-a285-00aa003049e2"
$ACL = get-acl $OU
$RuleResetPassword = New-Object System.DirectoryServices.ActiveDirectoryAccessRule ($sid, "ExtendedRight", "Allow", $ResetPassword, "Descendents", $UserObjectType)
$ACL.AddAccessRule($RuleResetPassword)
Set-Acl -Path $OU -AclObject $ACL
इसी तरह, आप पावरशेल का उपयोग करके AD संगठनात्मक कंटेनर्स पर अन्य अनुमतियों को प्रत्यायोजित कर सकते हैं।