
Azure AD और Exchange Online कॉन्फ़िगरेशन का ऑडिट करता है ताकि दुर्लभ अनुमतियाँ, फ़ेडरेशन ट्रस्ट, मेल फ़ॉरवर्डिंग नियम और प्रतिनिधित्व पहुँच का पता लगाया जा सके, जिससे संगठन अपने क्लाउड वातावरण को सुरक्षित कर सकें।
यह टूल Azure AD/O365 टेनेंट में निम्नलिखित कॉन्फ़िगरेशन की जांच करता है, जो संगठनों को इन वातावरणों को सुरक्षित करने में सहायता करने के लिए कठिन-से-खोजने वाली अनुमतियों और कॉन्फ़िगरेशन सेटिंग्स पर प्रकाश डाल सकता है।
एक्सचेंज ऑनलाइन (O365):
Azure AD:
टेनेंट पार्टनर जानकारी क्वेरी करना: टेनेंट पार्टनर जानकारी देखने के लिए, जिसमें आपके भागीदारों को सौंपी गई भूमिकाएँ शामिल हैं, आपको वैश्विक व्यवस्थापक के रूप में Microsoft 365 प्रशासन केंद्र में लॉग इन करना होगा:
https://admin.microsoft.com/AdminPortal/Home#/partners
निम्नलिखित PowerShell मॉड्यूल आवश्यक हैं और स्वचालित रूप से स्थापित हो जाएँगे:
नोट: क्वेरी किए जा रहे कॉन्फ़िगरेशन की पूरी सीमा लौटाने के लिए, निम्नलिखित भूमिका आवश्यक है:
जब वैश्विक व्यवस्थापक विशेषाधिकार उपलब्ध नहीं होते हैं, तो टूल आपको सूचित करेगा कि इसके परिणामस्वरूप कौन सी जानकारी आपके लिए उपलब्ध नहीं होगी।
कोई पैरामीटर निर्दिष्ट नहीं: स्क्रिप्ट जिस निर्देशिका से चलाई जा रही है, उसमें दिनांक और समय (YYYYDDMMTHHMM) के साथ एक फ़ोल्डर स्वचालित रूप से बनाया जाएगा। डिफ़ॉल्ट प्रमाणीकरण विधि MFA के साथ संगतता के लिए प्रत्येक कनेक्शन के लिए संकेत देगी।
.\Get-CRTReport.ps1
-BasicAuth पैरामीटर:
[वैकल्पिक] यदि आपके उपयोगकर्ता प्रिंसिपल के लिए MFA लागू नहीं है, तो आप इस पैरामीटर का उपयोग कर सकते हैं, जो केवल एक बार प्रमाणीकरण के लिए संकेत देगा और Get-Credential का उपयोग करके क्रेडेंशियल्स संग्रहीत करेगा। (अनुशंसित नहीं)
.\Get-CRTReport.ps1 -BasicAuth
-JobName पैरामीटर:
[वैकल्पिक] विभिन्न टेनेंटों के बीच अंतर करने के लिए JobName पैरामीटर का उपयोग करें। यदि कोई JobName निर्दिष्ट नहीं है, तो कार्यशील निर्देशिका के अंदर दिनांक/समय स्वरूपित फ़ोल्डर रखा जाएगा।
.\Get-CRTReport.ps1 -JobName MyJobName
-WorkingDirectory पैरामीटर:
[वैकल्पिक] यदि आप अपने कार्यों के लिए एक अलग कार्यशील निर्देशिका निर्दिष्ट करना चाहते हैं, तो आप इस पैरामीटर के साथ ऐसा कर सकते हैं। डिफ़ॉल्ट कार्यशील निर्देशिका वह निर्देशिका है जहाँ से स्क्रिप्ट चलाई जा रही है।
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder'
-Commands पैरामीटर:
[वैकल्पिक] इस पैरामीटर के साथ, उन विशिष्ट कमांड को निर्दिष्ट करें जिन्हें आप उद्धरणों, अल्पविराम या स्थान से अलग करके चलाना चाहते हैं।
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Commands "Command1,Command2"
-AzureEnvironmentName & -ExchangeEnvironmentName पैरामीटर:
[वैकल्पिक] इस पैरामीटर के साथ, Azure या Exchange पर्यावरण नाम निर्दिष्ट करें। टैब पूर्णता का उपयोग करके आप स्वीकार्य मान खोज सकते हैं।
.\Get-CRTReport.ps1 -ExchangeEnvironmentName O365USGovGCCHigh -AzureEnvironmentName AzureUSGovernment
उपलब्ध कमांड:
FedConfig
FedTrust
ClientAccess
RemoteDomains
SMTPForward
TransportRules
FullAccessGranted
AnyAccessGranted
SendAsGranted
EXOPowerShell
AuditBypassEnabled
HiddenMailboxes
KeyCredentials
O365AdminGroups
DelegateAppPerms
AdminAuditLogConfig
-Interactive पैरामीटर:
[वैकल्पिक] टेनेंट में डेटा की मात्रा के आधार पर कुछ कमांड को संसाधित करने में लंबा समय लग सकता है। Interactive पैरामीटर का उपयोग करके, आपके पास मॉड्यूल चलने से पहले किसी भी विशेष कमांड को छोड़ने का विकल्प होगा।
.\Get-CRTReport.ps1 -JobName MyJobName -WorkingDirectory 'C:\Path\to\Job\Folder' -Interactive
प्रत्येक रन के साथ, CRT प्रत्येक क्वेरी के लिए json के साथ-साथ अधिक पठनीय .TXT और .CSV प्रारूपों में एक रिपोर्ट आउटपुट करेगा:
कोई पैरामीटर निर्दिष्ट नहीं: स्क्रिप्ट जिस निर्देशिका से चलाई जा रही है, उसमें दिनांक और समय (YYYYDDMMTHHMM) के साथ एक फ़ोल्डर स्वचालित रूप से बनाया जाएगा। MFA का समर्थन करने के लिए, डिफ़ॉल्ट प्रमाणीकरण विधि उपयोगकर्ता को प्रत्येक कनेक्शन के लिए लॉग इन करने का संकेत देगी।
YYYYDDMMTHHMM\output.log (कंसोल लॉगिंग की हार्ड कॉपी)YYYYDDMMTHHMM\_CRTReportSummary.txt (चलाई गई स्क्रिप्ट का सारांश और मार्गदर्शन के लिए जांच संबंधी सुझाव)YYYYDDMMTHHMM\Reports\<report>.csv (जहाँ लागू हो, CSV आउटपुट में रिपोर्ट)YYYYDDMMTHHMM\Reports\<report>.txt (जहाँ लागू हो, TXT आउटपुट में रिपोर्ट)YYYYDDMMTHHMM\Reports\json\<report>.json (अतिरिक्त विस्तार के लिए प्रत्येक रिपोर्ट JSON आउटपुट के साथ आती है)Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission | Where-Object { ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF")} | Export-Csv "AnyAssignedPerms.csv" -NoTypeInformation -Encoding Default
Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission | Where-Object { ($_.AccessRights -eq "FullAccess") -and ($_.IsInherited -eq $false) -and -not ($_.User -like "NT AUTHORITY\SELF")} | Export-Csv "FullAccessPerms.csv" -NoTypeInformation -Encoding Default
यदि आपको कोई बग मिला है, तो कृपया एक नई समस्या रिपोर्ट करने या मौजूदा समस्या पर अपनी टिप्पणी जोड़ने के लिए Issues टैब का उपयोग करें।
यदि आपके पास टूल के लिए कोई सिफारिश है या गंभीर एस्केलेशन की आवश्यकता है, तो कृपया ईमेल करें: [email protected].