Πώς δημιουργούμε ένα Group Managed Service στο Active Directory για να σηκώνει το service του SQL Server χωρίς τη χρήση password
- Τι είναι η PostgreSQL και πως κάνουμε μία πλήρης εγκατάσταση - 2 Σεπτέμβριος 2024
- Πώς ρυθμίζουμε το replication του GoldenGate ώστε να διαβάζει από το Standby του Oracle Data Guard - 2 Αύγουστος 2024
- Πώς μπορούμε να συνδέσουμε Oracle Database με SQL Server με χρήση Oracle Gateway σε Linux - 1 Ιούλιος 2024
Στον SQL Server πρέπει να αλλάζουμε τον χρήστη που “σηκώνει” το SQL Server service από τον default των Windows σε κάποιον με συγκεκριμένα δικαιόματα που ανήκει στο Active Directory Domain. Σε αυτό το άρθρο θα δούμε πως μπορούμε να δημιουργήσουμε ένα Group Managed Service που θα μας επιτρέπει να ελέγχουμε μαζικά αυτούς τους λογαριασμούς και να μην έχουμε την ανάγκη χρήσης password για το καθένα.
Η εγκατάσταση
Οι ενέργειες που απαιτούνται στον Active Directory Domain Controller
Για να φτιάξουμε το Security Group συνδεόμαστε στον server που έχει τον Active Directory Controller, πάμε στο Active Directory Users and Computers, δεξί κλικ στο domain, New, Group:
Ορίζουμε όνομα στο Group:
Έπειτα επιλέγουμε δεξί κλικ στο Group που φτιάξαμε, Members, Add…, ως object type ορίζουμε Computers, ως location το Domain, τα ονόματα των servers που θα κάνουν χρήση τα managed services και στο τέλος επιλέγουμε Check Names:
Στη συνέχεια χρειάζεται να φτιάξουμε ένα κλειδί για το distribution service (KDS). Το κλειδί αυτό θα μπορούμε να το κάνουμε χρήση μετά από 10 ώρες. Για να φτιαχτεί το κλειδί και να έχει άμεσα ισχύ τρέχουμε την παρακάτω εντολή στο PowerShell:
Add-KdsRootKey -EffectiveTime ((Get-Date).AddHours(-10))
Για να δούμε ότι δημιουργήθηκε κανονικά τρέχουμε το παρακάτω:
Get-KdsRootKey
AttributeOfWrongFormat :
KeyValue : {197, 92, 95, 225...}
EffectiveTime : 5/10/2021 4:03:28 πμ
CreationTime : 5/10/2021 2:03:28 μμ
IsFormatValid : True
DomainController : CN=WS3,OU=Domain Controllers,DC=dataplatform,DC=local
ServerConfiguration : Microsoft.KeyDistributionService.Cmdlets.KdsServerConfiguration
KeyId : beffa3be-d2e1-989b-d545-03706e73906e
VersionNumber : 1
Για να δημιουργήσουμε το Group Managed Service τρέχουμε την παρακάτω εντολή ορίζοντας:
- name: Το όνομα που θέλουμε να έχει το managed service.
- DNSHostName: Το hostname του DNS.
- PrincipalsAllowedToRetrieveManagedPassword: Το όνομα του Group που φτιάξαμε.
New-ADServiceAccount -name sqlserverserv -DNSHostName ws3.dataplatform.local -PrincipalsAllowedToRetrieveManagedPassword DBA
Επίσης για να μην λαμβάνουμε μηνύματα για registration του Service Principal Name (SPN) θα πρέπει να επιτρέξουμε στο service account να μπορεί να κάνει register μόνο του με την παρακάτω εντολή:
dsacls (Get-ADServiceAccount -Identity sqlserverserv ).DistinguishedName /G "SELF:RPWP;servicePrincipalName"
Οι ενέργειες που απαιτούνται στους servers των SQL Servers
Για αρχή θα πρέπει να συνδεθούμε στους servers των SQL Servers και να κάνουμε εγκατάσταση το feature AD DS and AD LDS Tools. Για να το κάνουμε αυτό πάμε στο Server Manager και επιλέγουμε Add roles and features:
Στη συνέχεια στη καρτέλα Features κάτω από την επιλογή Remote Server Administration Tools και Role Administration Tools θα βρούμε να επιλέξουμε το AD DS and AD LDS Tools :
Αφού ολοκληρωθεί η εγκατάσταση τρέχουμε την παρακάτω εντολή στο PowerShell ορίζοντας το όνομα του Managed Service που φτιάξαμε πριν:
Install-ADServiceAccount sqlserverserv
Για να δοκιμάσουμε αν λειτουργεί εκτελούμε το παρακάτω:
Test-ADServiceAccount sqlserverserv
True
Πλέον είναι έτοιμο και πρέπει να πάμε να το αλλάξουμε στο service του SQL Server.
Πάμε στο SQL Server Configuration Manager ,επιλέγουμε SQL Server Service, δεξί κλικ στο SQL Server, επιλέγουμε την καρτέλα Log On, This account, Browse, ως Object Type ορίζουμε Service Account, ως Location ορίζουμε Entire Directory και βάζουμε το όνομα του server Check Names:
Αφού κάνει restart το service θα δούμε ότι έχει πάρει το καινούργιο managed service επιτυχώς: