विंडोज सर्वर 2016 में एक्टिव डायरेक्टरी का संस्करण एक दिलचस्प फीचर पेश करता है जो आपको किसी यूजर को अस्थायी रूप से AD सिक्योरिटी ग्रुप में जोड़ने की अनुमति देता है। इस फीचर को टेम्पररी ग्रुप मेंबरशिप (टाइम बेस्ड) कहा जाता है। इस फीचर का उपयोग तब किया जा सकता है जब आपको AD सिक्योरिटी ग्रुप मेंबरशिप के आधार पर किसी यूजर को अस्थायी रूप से कुछ अधिकार देने की आवश्यकता हो। निर्दिष्ट समय बीत जाने के बाद, यूजर को सिक्योरिटी ग्रुप से स्वचालित रूप से हटा दिया जाएगा (बिना एडमिनिस्ट्रेटर के हस्तक्षेप के)।
प्रीविलेज्ड एक्सेस मैनेजमेंट फीचर सक्षम करना
टेम्पररी ग्रुप मेंबरशिप का उपयोग करने के लिए, आपको अपने एक्टिव डायरेक्टरी फॉरेस्ट में प्रीविलेज्ड एक्सेस मैनेजमेंट फीचर को सक्षम करना होगा। AD रिसाइकल बिन की तरह (जो डिलीट किए गए ऑब्जेक्ट्स को रिकवर करने की अनुमति देता है), एक बार सक्षम होने के बाद PAM को डिसेबल नहीं किया जा सकता।
सुनिश्चित करें कि आपका AD फॉरेस्ट विंडोज सर्वर 2016 फॉरेस्ट फंक्शन लेवल (या उच्चतर) पर चल रहा है:
(Get-ADForest).ForestMode
AD पावरशेल मॉड्यूल से कमांड का उपयोग करके वर्तमान फॉरेस्ट में प्रीविलेज्ड एक्सेस मैनेजमेंट फीचर सक्षम है या नहीं, इसकी जांच करें:
Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'"
हमें EnableScopes पैरामीटर का मान चाहिए। हमारे उदाहरण में यह खाली है। इसका मतलब है कि इस फॉरेस्ट के लिए प्रीविलेज्ड एक्सेस मैनेजमेंट फीचर सक्षम नहीं है।
इसे सक्रिय करने के लिए, Enable-ADOptionalFeature कमांड का उपयोग करें, और अपने फॉरेस्ट का नाम आर्गुमेंट में से एक के रूप में निर्दिष्ट करें:
Enable-ADOptionalFeature 'Privileged Access Management Feature' -Scope ForestOrConfigurationSet -Target contoso.com
यदि कमांड चलाते समय त्रुटि "Enable-ADOptionalFeature: The SMO role ownership could not be verified because its directory partition has not replicated successfully with at least one replication partner" दिखाई देती है, तो डोमेन कंट्रोलर्स और AD रेप्लिकेशन की स्थिति, और FSMO रोल मालिकों की उपलब्धता की जांच करें। मैन्युअल रूप से AD रेप्लिकेशन को बाध्य करें।
Get-ADOptionalFeature -filter "name -eq 'privileged access management feature'" | select EnabledScopes कमांड चलाएं और जांचें कि EnableScopes फील्ड खाली नहीं है।
यूजर को अस्थायी रूप से AD ग्रुप में जोड़ना
किसी यूजर को अस्थायी रूप से AD ग्रुप में जोड़ने के लिए, आपको पावरशेल कमांडलेट्स का उपयोग करना होगा। ADUC ग्राफिकल स्नैप-इन (dsa.msc) से सिक्योरिटी ग्रुप में अस्थायी रूप से जोड़ना समर्थित नहीं है।
PAM सक्षम होने के बाद, आप Add-ADGroupMember कमांडलेट के विशेष आर्गुमेंट MemberTimeToLive का उपयोग करके किसी यूजर को AD ग्रुप में जोड़ने का प्रयास कर सकते हैं। New-TimeSpan कमांडलेट का उपयोग करके समय अंतराल (TTL) सेट करना सुविधाजनक है। मान लीजिए आप यूजर test1 को 15 मिनट के लिए Domain Admins ग्रुप में जोड़ना चाहते हैं:
$ttl = New-TimeSpan -Minutes 15
Add-ADGroupMember -Identity "Domain Admins" -Members test1 -MemberTimeToLive $ttl
अस्थायी ग्रुप मेंबरशिप का उपयोग विशेषाधिकार प्राप्त डोमेन ग्रुप्स (एंटरप्राइज एडमिन्स, डोमेन एडमिन्स, आदि.) तक अस्थायी पहुंच प्रदान करने के लिए करने की अनुशंसा नहीं की जाती है। आमतौर पर टेम्पररी ग्रुप मेंबरशिप का उपयोग रिसोर्स ग्रुप्स तक पहुंच प्रदान करने के लिए किया जाता है। प्रशासनिक अनुमतियां देने के लिए, आपको एक्टिव डायरेक्टरी डेलिगेशन या पावरशेल जस्ट इनफ एडमिनिस्ट्रेशन (JEA) का उपयोग करना चाहिए।
शेष समय की जांच करना
आप Get-ADGroup कमांडलेट का उपयोग करके जांच सकते हैं कि यूजर कितने समय तक ग्रुप का सदस्य रहेगा:
Get-ADGroup 'Domain Admins' -Property member –ShowMemberTimeToLive
कमांड परिणामों में आप ग्रुप मेंबर्स के लिए <TTL=187,CN=test1,CN=Users,DC=woshub,DC=loc> जैसी एंट्री देख सकते हैं। TTL मान सेकंड में प्रदर्शित होता है। इसका मतलब है कि इस यूजर को डोमेन एडमिन्स ग्रुप में अस्थायी रूप से जोड़ा गया है। 187 सेकंड के बाद, उसे ग्रुप से स्वचालित रूप से हटा दिया जाएगा।
यूजर का केरबेरोस टिकट भी समाप्त हो जाता है। यह इस तथ्य के कारण लागू किया गया है कि KDC यूजर को AD ग्रुप्स में अस्थायी सदस्यता के लिए TTL मान के बराबर लाइफटाइम वाला टिकट जारी करता है।
आप निम्न कमांड से अगले केरबेरोस टिकट नवीनीकरण समय की जांच कर सकते हैं:
klist
TGT टिकट के अगले नवीनीकरण का समय Renew Time पैरामीटर में प्रदर्शित होता है।
हाइब्रिड परिदृश्यों में ध्यान देने योग्य बातें
ऑन-प्रिमाइसेस एक्टिव डायरेक्टरी से Azure AD Connect के माध्यम से Azure AD में ग्रुप सिंक वाले हाइब्रिड परिदृश्यों का उपयोग करते समय सावधान रहें। इस कॉन्फिगरेशन में क्लाउड सिंक अंतराल सेटिंग्स को ध्यान में रखना चाहिए।
अस्थायी AD ग्रुप्स बनाना
इसके अलावा, AD में (विंडोज 2003 फॉरेस्ट फंक्शनल लेवल या नए के साथ), आप अस्थायी AD ग्रुप्स बना सकते हैं। ऐसे ग्रुप्स के लिए dynamicObject क्लास का उपयोग किया जाता है। ऐसे ग्रुप्स का स्वचालित विलोपन एक्टिव डायरेक्टरी गार्बेज कलेक्शन प्रक्रिया द्वारा किया जाता है।
उदाहरण के लिए, एक अस्थायी ग्रुप बनाने के लिए जो एक महीने (2592000 = 31 * 24 * 60 * 60) के बाद स्वचालित रूप से हटा दिया जाएगा, निम्न पावरशेल स्क्रिप्ट का उपयोग करें:
$OU = [adsi]"LDAP://OU=Groups,OU=Munich,OU=DE,DC=woshub,DC=loc"
$Group = $OU.Create("group","cn=MUN-FS01_Public_tmp")
$Group.PutEx(2,"objectClass",@("dynamicObject","group"))
$Group.Put("entryTTL","2678400")
$Group.SetInfo()
ADUC कंसोल में ग्रुप एट्रिब्यूट्स खोलें। entryTTL एट्रिब्यूट पर ध्यान दें। यह इंगित करता है कि कितने सेकंड में यह AD ग्रुप हटा दिया जाएगा।
पहले, अस्थायी AD ग्रुप मेंबरशिप लागू करने के लिए, आपको डायनामिक ऑब्जेक्ट्स, विभिन्न स्क्रिप्ट्स और शेड्यूल्ड टास्क्स, या काफी जटिल सिस्टम (माइक्रोसॉफ्ट फोरफ्रंट आइडेंटिटी मैनेजर, आदि) का उपयोग करना पड़ता था। अब, विंडोज सर्वर 2016/2019 में, यह उपयोगी फीचर आउट-ऑफ-द-बॉक्स उपलब्ध है।