কম্পিউটার টিউটোরিয়াল

এক্টিভ ডিরেক্টরিতে ম্যানেজড সার্ভিস একাউন্ট (MSA এবং gMSA) ব্যবহার

Managed Service Account (MSA) হলো এক্টিভ ডিরেক্টরির একটি বিশেষ ধরনের একাউন্ট যা সার্ভিস, অ্যাপ্লিকেশন এবং শিডিউলড টাস্ক নিরাপদে চালানোর জন্য ব্যবহার করা হয়। মূল ধারণা হলো এই একাউন্টের পাসওয়ার্ড সম্পূর্ণরূপে এক্টিভ ডিরেক্টরি দ্বারা ম্যানেজ করা হয়। ২৪০ ক্যারেক্টার দৈর্ঘ্যের একটি জটিল পাসওয়ার্ড সেগুলোর জন্য অটোমেটিক্যালি জেনারেট হয়, যা অটোমেটিক্যালি পরিবর্তন হয় (ডিফল্টলি প্রতি ৩০ দিনে একবার)। শুধু Kerberos ব্যবহার করা হয় অথেন্টিকেশনের জন্য (NTLM সিকিউরিটি সমস্যা নেই), ইন্টারেক্টিভ লগঅন অনুমোদিত নয়, পাসওয়ার্ড কাউকে জানা নয় এবং লোকাল সিস্টেমে সংরক্ষিত নয় (mimikatz বা অনুরূপ টুল দিয়ে LSASS সিস্টেম প্রসেস থেকে পাসওয়ার্ড এক্সট্র্যাক্ট করা যাবে না)। এইভাবে, সার্ভিস বা আনঅটেন্ডেড জব চালানোর জন্য AD-এ আলাদা সার্ভিস ইউজার তৈরি করে তাদের পাসওয়ার্ড ম্যানেজ করার দরকার নেই।

Managed Service Accounts উইন্ডোজ সার্ভার ২০০৮ R2-এ পরিচয় করানো হয়েছিল (অবজেক্ট টাইপ msDS-ManagedServiceAccount)। এদের প্রধান সীমাবদ্ধতা হলো এমন একাউন্ট শুধু একটি সার্ভারে ব্যবহার করা যায় (ক্লাস্টার এবং NLB সার্ভিসে ব্যবহার করা যায় না)। তাই উইন্ডোজ সার্ভার ২০১২-এ Group Managed Service Accounts/gMSA পরিচয় করানো হয় (টাইপ msDS-GroupManagedServiceAccount)। gMSA একাউন্ট একসাথে একাধিক হোস্টে ব্যবহার করা যায়।

চলুন সার্ভার ও ওয়ার্কস্টেশনে সার্ভিস এবং টাস্ক চালানোর জন্য MSA এবং gMSA ব্যবহারের ফিচারগুলো বিবেচনা করি।

MSA/gMSA সার্ভিস একাউন্ট ব্যবহারের প্রয়োজনীয় শর্তাবলী:

Managed Service AccountGroup Managed Service Account
AD domain and forest functional levelWindows Server 2008 R2 or newerWindows Server 2012 or newer
KDCMicrosoft Key Distribution Service (KdsSvc) ইনএবলড ডোমেইন কন্ট্রোলার
PowerShellসার্ভিস AD একাউন্ট তৈরি ও ম্যানেজ করতে Active Directory module for Windows PowerShell ইনস্টল থাকতে হবে
.Net Framework.NET Framework 3.5 or newer সার্ভারে ইনস্টল থাকতে হবে
Supported Windows versionsWindows 7/Windows Server 2008 R2 or newerWindows Server 2012/Windows 8 or newer

Key Distribution Service (KDS) রুট কী তৈরি করা

MSA/gMSA একাউন্ট তৈরি করার আগে, আপনাকে একবারেই KDS রুট কী তৈরি করতে হবে। ডোমেইন কন্ট্রোলারে (Microsoft Key Distribution Services ইনস্টলড ও রানিং থাকতে হবে) নিচের পাওয়ারশেল কমান্ড চালান:

Add-KdsRootKey –EffectiveImmediately

এই কেসে কী তৈরি হবে এবং AD রেপ্লিকেশন 완র होने کے ১০ ঘন্টা পর উপলব্ধ হবে।

টিপ। টেস্ট এনভায়রনমেন্টে কীকে অবিলম্বে ব্যবহার করতে এই কমান্ড চালান:
Add-KdsRootKey –EffectiveTime ((get-date).addhours(-10))

KDS রুট কী সফলভাবে তৈরি হয়েছে কিনা চেক করুন:
Get-KdsRootKey

KDS কী চেক করতে কমান্ড ব্যবহার করুন:
Test-KdsRootKey -KeyId (Get-KdsRootKey).KeyId

এক্টিভ ডিরেক্টরিতে ম্যানেজড MSA একাউন্ট তৈরি করা

AD-এ নতুন MSA ম্যানেজড একাউন্ট তৈরি করতে কমান্ড:

New-ADServiceAccount -Name msaMunSrv1 –RestrictToSingleComputer

ডিফল্টলি MSA এবং gMSA CN=Managed Service Accounts কন্টেইনারে তৈরি হয়, কিন্তু Path প্যারামিটার ব্যবহার করে OU পরিবর্তন করা যায়।

আপনার MSA সার্ভিস একাউন্ট টার্গেট কম্পিউটারের সাথে লিঙ্ক করুন:

$Identity = Get-ADComputer -identity mun-srv01
Add-ADComputerServiceAccount -Identity $identity -ServiceAccount msaMunSrv1

স্মরণ করুন, MSA একাউন্ট শুধু একটি AD হোস্টে ব্যবহার করা যায়।

ADUC (Active Directory Users and Computers) কনসোল খুলে নিশ্চিত করুন যে Managed Service Accounts কন্টেইনারে (OU) msDS-ManagedServiceAccount টাইপের একটি নতুন একাউন্ট তৈরি হয়েছে।

এই AD কন্টেইনার ডিফল্টলি হিডেন থাকে। দেখতে View মেনুর Advanced Features ইনএবল করুন।

MSA একাউন্ট ইনফো পাওয়ার কমান্ড:

Get-ADServiceAccount msaMunSrv1

এক্টিভ ডিরেক্টরিতে গ্রুপ ম্যানেজড সার্ভিস একাউন্ট (gMSA) তৈরি করা

gMSA একাউন্ট তৈরি করার আগে, একটি ডোমেইন সিকিউরিটি গ্রুপ তৈরি করুন এবং সেটিতে সার্ভারগুলো যোগ করুন যেগুলো এই গ্রুপ সার্ভিস একাউন্টের পাসওয়ার্ড রিট্রিভ করতে পারবে। পাওয়ারশেল ব্যবহার করে গ্রুপ তৈরি ও পপুলেট করা সবচেয়ে সহজ:
New-ADGroup grMunSQL1 -path 'OU=Groups,OU=Munich,OU=DE,dc=woshub,DC=com' -GroupScope Global -PassThru –Verbose
Add-AdGroupMember -Identity grMunSQL1 -Members mun-sql01$, mun-sql02$, mun-sql03$

Group Managed Service Account (gMSA) তৈরি করার কমান্ড:

New-ADServiceAccount -name gmsaMunSQL1 -DNSHostName gmsaMunSQL1.woshub.com -PrincipalsAllowedToRetrieveManagedPassword grMunSQL1 –verbose

gMSA একাউন্টটিও ডিফল্টলি Managed Service Accounts OU-তে তৈরি হয়।

উইন্ডোজে গ্রুপ ম্যানেজড সার্ভিস একাউন্ট ইনস্টল করা

টার্গেট সার্ভার বা ওয়ার্কস্টেশনে MSA/gMSA সার্ভিস একাউন্ট ব্যবহার করতে, প্রথমে Active Directory পাওয়ারশেল মডিউল ইনস্টল করতে হবে:

Add-WindowsFeature RSAT-AD-PowerShell

সার্ভারে MSA (gMSA) সার্ভিস একাউন্ট ইনস্টল করুন:

Install-ADServiceAccount -Identity gmsaMunSQL1

সার্ভিস একাউন্ট সঠিকভাবে ইনস্টল হয়েছে কিনা চেক করুন:

Test-ADServiceAccount gmsaMunSQL1

যদি কমান্ড True রিটার্ন করে, তবে সব কনফিগারেশন সঠিক।

যদি কমান্ড False রিটার্ন করে, তবে সম্ভবত MSA একাউন্ট সার্ভারে ইনস্টল নেই অথবা এই কম্পিউটারকে এটি ব্যবহার করার পারমিশন নেই:

WARNING: Test failed for Managed Service Account gmsaMunSQL1. If standalone Managed Service Account, the account is linked to another computer object in the Active Directory. If group Managed Service Account, either this computer does not have permission to use the group MSA or this computer does not support all the Kerberos encryption types required for the gMSA.

স্ট্যান্ডার্ড RunAs ব্যবহার করে আপনার সার্ভিস ও স্ক্রিপ্ট MSA সার্ভিস একাউন্টের অধীনে চলছে কিনা যাচাই করা যাবে না। PsExec টুল ব্যবহার করুন (আমরা আগে দেখিয়েছি psexec ব্যবহার করে NT Authority\System pihak থেকে কমান্ড প্রম্পট চালানোর পদ্ধতি)।

  1. অ্যাডমিনিস্ট্রেটর হিসেবে কমান্ড প্রম্পট খুলুন;
  2. কমান্ড চালান: PsExec64.exe -i -u woshub\gmsaMunSQL1$ -p ~ cmd.exe পাসওয়ার্ডের জায়গায় ~ দিন। এর মানে পাসওয়ার্ড AD থেকে নেওয়া হবে।
  3. খুলা CMD উইন্ডোতে whoami কমান্ড চালিয়ে নিশ্চিত করুন কনসোল gMSA একাউন্টের অধীনে চলছে;
  4. যাচাই করুন স্ক্রিপ্ট, প্রোগ্রাম বা সার্ভিস ম্যানেজড সার্ভিস একাউন্টের অধীনে সঠিকভাবে চলছে কিনা।

এখন শুধু থাকল উইন্ডোজ সার্ভিস, টাস্ক শিডিউলার টাস্ক, IIS পুল ইত্যাদি MSA/gMSA ইউজার হিসেবে চালানোর জন্য কনফিগার করা।

উইন্ডোজ সার্ভিস ম্যানেজড সার্ভিস একাউন্টের অধীনে চালানো

আপনি এখন প্রয়োজনীয় উইন্ডোজ সার্ভিস MSA/gMSA একাউন্টের অধীনে চালানোর জন্য কনফিগার করতে পারেন।

  1. Service management console (services.msc) খুলুন;
  2. প্রয়োজনীয় সার্ভিসের প্রপার্টিজ খুলে "Log On" ট্যাবে যান;
  3. This account অপশন সিলেক্ট করুন এবং MSA একাউন্টের নাম দিন। একাউন্ট নামের শেষে $ সিম্বল অবশ্যই যোগ করুন (একাউন্ট পাসওয়ার্ড দিতে হবে না);
  4. MSA সার্ভিস একাউন্টকে অটোমেটিক্যালি Log On As a Service পারমিশন দেওয়া হবে;
  5. পরিবর্তন সেভ করার পর সার্ভিস রিস্টার্ট করতে হবে।

gMSA দিয়ে জটিল সার্ভিস চালাতে ডকুমেন্টেশন চেক করুনupported। বর্তমানে gMSA SQL Server, IIS, AD LDS, Exchange Server-এ সাপোর্টেড।

ম্যানেজড সার্ভিস একাউন্ট/gMSA দিয়ে শিডিউলড টাস্ক চালানো

আপনি উইন্ডোজ Task Scheduler কনফিগার করতে পারেন gMSA সার্ভিস একাউন্টের অধীনে জব চালানোর জন্য। এটি সুবিধাজনক কারণ gMSA একাউন্টের পাসওয়ার্ড স্ক্রিপ্টে সংরক্ষিত নয়, আপনাকে এনক্রিপ্ট বা প্রোটেক্ট করার দরকার নেই। পাসওয়ার্ড পরিবর্তন হলে টাস্ক রিকনফিগার করার দরকার নেই।

MSA/gMSA একাউন্টকে পারমিশন দিতে,S-et সিকিউরিটি গ্রুপে যোগ করলেই হবে। উদাহরণস্বরূপ, লোকাল Administrators গ্রুপ, Domain Admins, DNS Admins, ইত্যাদি।

পাওয়ারশেল ব্যবহার করে টাস্ক কনফিগার করা যায় gMSA একাউন্ট হিসেবে চালানোর জন্য। উদাহরণস্বরূপ, নিচের স্ক্রিপ্ট একটি নতুন শিডিউলড টাস্ক তৈরি করবে যা প্রতিদিন রাত ১১টায় ডেটাবেস ব্যাকআপের জন্য পাওয়ারশেল স্ক্রিপ্ট চালাবে:

$action = New-ScheduledTaskAction -Execute powershell.exe -Argument "-file C:\PS\Scripts\DBBackup.ps1 -executionpolicy bypass -NoProfile"
$trigger = New-ScheduledTaskTrigger -At 23:00 -Daily
$principal = New-ScheduledTaskPrincipal -UserID woshub\gmsaMunSQL1$ -LogonType Password
Register-ScheduledTask DBBackup –Action $action –Trigger $trigger –Principal $principal

টিপ। শিডিউলড টাস্ক চালাতে gMSA একাউন্টকে "Log on as a batch job" পারমিশন দিতে হবে।

-LogonType Password আর্গুমেন্ট স্পেসিফাই করে যে এই gMSA একাউন্টের পাসওয়ার্ড ডোমেইন কন্ট্রোলার থেকে রিট্রিভ করা হবে।

পাওয়ারশেল দিয়ে শিডিউলড টাস্ক ম্যানেজমেন্ট সম্পর্কে আরো জানুন।

আপনি taskschd.msc GUI ব্যবহার করে ইচ্ছামতো সেটিংস সহ শিডিউলড জব তৈরি করতে পারেন। তারপর schtasks.exe টুল ব্যবহার করে এটি ম্যানেজড সার্ভিস একাউন্টের অধীনে চালানোর জন্য রিকনফিগার করুন:

schtasks /Change /TN BackupDB /RU "woshub\gmsaMunSQL1$" /RP ""

  1. বেতার প্রিন্টিং-এ 'Active Directory Domain Service Is Unavailable' এরর সমাধান

  2. Instagram মাল্টি-অ্যাকাউন্ট ম্যানেজমেন্ট: দ্রুত ও বিশেষজ্ঞ গাইড

  3. Outlook ও Gmail ইমেইল যেকোনো একাউন্টে অটো-ফরওয়ার্ড করুন: ধাপে ধাপে গাইড

  4. উইন্ডোজ ১০-এ পারসোনাল, ওয়ার্ক এবং স্কুল একাউন্ট সহজে ম্যানেজ করুন