Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Hvordan ta i bruk Metacoda sin Idsync
Dagfinn Larsen, Evry consulting
Hva er Metacoda og hva brukes det til
2
• En tredjeparts plugin i SAS Management console.
• Gir en god og rask samlet oversikt over sikkerhetsoppsettet i SAS Metadata.
I tillegg har programvaren også et verktøyFor å synkronisere brukere og grupper fra active directory til SAS metadata, dette er «Identity Sync», for å kunne skeduleredenne synkroniseringen så må vi ta i bruk«Metacoda sin Idsync».
Forutsetningene i denne presentasjonen
• Linux (RHEL 6).• SAS 9.4 M5.• Komunikasjon med MS Active Directory.
• PAM (Pluggable Authentication Modules).• Kerberos (protokoll for autentisering i nettet).
• En SAS Administrator med full aksess til systemet.
Arbeidet med å implementere løsningen på Gjensidige sin SAS analyseplattform er utført av:• Paul Homes – Metacoda• Dagfinn Larsen - Evry
3
• For å ta i bruk Metacoda sin Idsync må man laste ned software fra https://support.metacoda.com.• Metacoda plugin i SAS Management console.• Metacoda sin Batch interface modul.• Dette krever at man tegner en lisensavtale og at man har en login
(https://login.metacoda.com/sso/login).
• Installer klient software (metacoda-plugins-6.0-R6-94.exe) hvor du har installert SAS Management Console (SMC).
Software
4
Lag IDSP fil (Wizard)
1. I SMC, ekspander menyen og velg identity sync.2. Ny.3. Velg Microsoft Active Directory Server.4. Legg til informasjon.5. Normalt har man en synkroniseringsmekanisme
mot AD fra tidligere, oppkoblingsinformasjon kan gjenbrukes her.
Metacoda Identity plug-in
Angi hvor brukergruppene dine ligger i AD, Objectguid som er brukt som identifikator.
Metacoda Identity plug-inPoint to correct OU
Her har man fått kontakt og kan søke etter SAS gruppene.
Metacoda Identity plug-in
Next
Login attributt
Velg domene og attributtet som beskriver bruker, sAMAccountName erda navnet på bruker i AD.
Metacoda Identity plug-in
Metacoda Identity plug-inNår du kjører synkroniseringen, så produseres det en rapport med resultatet for synkroniseringen, angi derfor lokasjon for Idsync rapporten
IDSP filResultatet av dennekonfigurasjonen er en IDSP fil (Identity Sync Source Profile)
Dette er en fil som beskriveroppkobling mot AD og hvor dine brukere og grupper ligger. Om du skal filtrere bort noe, hvilkeattributter man vil lese fra AD. Hvorresultatrapporten skal lagres.
Denne filen skal nå gjenbrukes for å ta i bruk Metacoda sin Batch Interface.
Nå er det klart for å implementere Metacoda Batch Interface og ta i bruk IDSP filen, dvs skedulere synkroniseringen av brukere og grupper mot AD.
Metacoda Batch Interface
Batch Interface
Hva er Batch Interface?Metacoda Batch Interface gjør at man kan skedulere synkroniseringen av brukere oggrupper, uavhengig av SAS Management console. I tillegg gir det en god rapportering avresultatet, en HTML Rapport, og en feilmelding om noe går galt.
14
Nå flytter vi oss over til middle tier server, altså hvor webserver er installert.
Lag batchFølgende må gjøres for å lage et tilpasset batch miljø:1. laget et eget Metacoda område for lettere å holde oversikten. 2. Lag et batch script (som senere skal skeduleres), bruk et av run-batch-* skriptene
som utgangspunkt. På midtier server har vi kalt dette skriptet “gjensidige-idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon til en XML fil, som nå skal tilpasses.
3. Lag en XML batch task definisjons file, vi kaller den ”idsync-batch-config.xml”.4. Lag så en XML batch task preferences fil “idsync-batch-config-prefs.xml”.
16
Alle disse filene finnes fra før, men med et nøytralt og unødvendig langt navn, det som her er utført er å tilpasse innhold og gi filene et nytt navn.
• Flytt filen «metacoda-plugins-6.0-R6-batch.zip» til middle-tier server, under det nye Metacoda området og pakk ut (unzip metacoda-plugins-6.0-R6-batch.zip).
• Flytt/slett alle *.bat file, dette er for windows (rm *.bat eller mv til et arkiv område).• Flytt/kopier inn lisens filen, som du har mottatt fra Metacoda. (mv metacoda-plugins-v6.lic <katalog>/)• Flytt og pakk ut den nedlastede filen VJRExtract.zip til Metacoda området.• Editer filen, vim vjrextract-sas-mc-jars.sh
# Examples for SAS 9.4:SASHOME=/local/sas94/sashomeJREHOME=$SASHOME/SASPrivateJavaRuntimeEnvironment/9.4/jreVJRHOME=$SASHOME/SASVersionedJarRepositoryMCHOME=$SASHOME/SASManagementConsole/9.4
• Sett riktige rettigheter på vjrextract-sas-mc-jars.sh (chmod +x *.sh).• Kjør skriptet (./vjrextract-sas-mc-jars.sh).• Editer filen (vim run-batch-task.sh).
JREHOME=/local/sas94/sashome/SASPrivateJavaRuntimeEnvironment/9.4/jre• Flytt fil(er), mv run-all-* run-batch-idsync-export.sh run-batch-idsync-import-file.sh examples/ (dvs, fjern alt du ikke skal
bruke videre).• Gi nytt navn, mv run-batch-idsync-import-ad.sh gjensidige-idsync.sh (dvs noe vettugt for ditt miljø).• Editer filen (vim gjensidige-idsync.sh) og kjør
$dir/run-batch-task.sh gjensidige/idsync-batch-config >> $dir/gjensidige-idsync.log 2>&1• Samle idsync-import-ad-batch-config* filene i en egen folder under Metacoda området ditt, dette er 2 xml filer og en
idsp fil.• Vi har valgt å forenkle filnavn noe:
• Nytt navn, mv idsync-import-ad-batch-config.xml idsync-batch-config.xml.• Nytt navn, mv idsync-import-ad-batch-config-prefs.xml idsync-batch-config-prefs.xml
17
Detaljert
18
Editer filen, vim idsync-batch-config.xml <SMTPConnection enabled="true" debug="false" host="scan.evry.com" port="25" timeout="2000"> <DefaultFrom address="[email protected]" name="webutv"/> <DefaultTo address="[email protected]" name="sas"/> <DefaultSubject>Metacoda Identity Sync AD in development env.</DefaultSubject> </SMTPConnection> <MetadataConnection host=«XXXXXXXXXX.gjensidige.no» port="8561" user=»XXXXXX"
password="{SAS002}XXXXXXXXXXXXXXXX"/> <WorkspaceConnection server="U8App - Logical Workspace Server"/> (viktig å kjøre med utf8
encoding) <IdSyncImport file="idsync-gjensidige.idsp"/>
Nå skal du gjenbruke IDSP filen du laget i «del 1». Kopier idsp filen til midtier serveren og kall den noe fornuftig, vi har valgt å kalle den «idsync-
gjensidige.idsp» Dette er altså instruksjonsfilen for hva som skal synkroniseres fra hvor.
19
Editer filen, vim /local/sas94/metacoda/metacoda-plugins-batch/gjensidige/idsync-gjensidige.idsp <Options extIdTag="Active Directory Import" tagDeletedIdentities="true" deletedIdentityTag="DELETE" metadataBackupEnabled="true" auditReportEnabled="true" auditReportFile="/local/sas94/metacoda/metacoda-plugins-batch/output/idsync/idsync-audit.html" auditReportTimestamped="true" applyChanges="false« (true = real run, false = dryrun) debug="false" />
Den faste brukeren/servicekontoen må ha nødvendige rettigheter i metadata, meld denne inn i «sas administrators» i SMC.
Servicekontoen må være medlem i rollen «Metadata Server: Unrestricted» i SMC. Rollen Metadata Server: Unrestricted må ha «Access Unregistered Plug-ins» som kapasitet, Metacoda er
altså en «Unregistered Plug-ins». Dry-run ./gjensidige-idsync.sh ….., dry-run inntil det er feilfritt i loggen. Det betyr at opsjonen skal være
applyChanges="false" in filen idsync-gjensidige.idsp. Sett denne til true når du er klar til å kjøre live.
20
Som nevnt i forrige foil, Dry-run: ./gjensidige-idsync.sh og sjekk resultatet, dvs html filen som du har angitt hvor skal ligge i IDSP filen
Vi har valgt, output/idsync.
Nå er tiden inne for å publisere resultatrapporten: Editer filen (vim /local/sas94/config/LevX/Web/WebServer/conf/httpd.conf)
Alias /metacoda-batch /local/sas94/metacoda/metacoda-plugins-batch/output <Directory /local/sas94/metacoda/metacoda-plugins-batch/output>
Naviger, cd /local/sas94/config/LevX/Web/WebServer/bin sudo ./httpdctl configtest , dette for å sjekke ev. syntax errors i httpd.conf. sudo ./httpdctl status sudo ./httpdctl reload Endre opsjonen applyChanges="false" to true i filen /local/sas94/metacoda/metacoda-
plugins-batch/gjensidige/idsync-gjensidige.idsp. ...og nå, live: ./gjensidige-idsync.sh
Resultatrapport
21
Etter man har kjørt identity-sync, åpne en browser: http://gfsaswebutv01/gfsaswebprod01.mistral.mistralnett.com/metacoda-batch/ , åpne siste html rapport.
NB: Husk å slette gamle rapporter/filer i ny og ne, ellers fyller man opp disk unødig, de ligger som tidligere angitt under ...../output/idsync/.
Eks. På en synkronisering med feil i rapporten
TAG delete
22
Sletting av brukere og grupper Objekter som slettes, har vi i dette eksempelet valgt å
ikke slette helt i metadata, men markere dem med en TAG, [DELETE] i SMC.
Tag-delete betyr at vi fjerner gruppe/rolle medlemsskapet og logins fra brukeren.
Prefix [DELETE] blir lagt til slik at de sorteres sammen i SMC, slik at administrator kan merke de og slette når det måtte passe.
Tag-deletion har den fordelen at det er en reversibel prosess om det viser seg at slettingen var en feil, kan være en feil i AD eller en feil i IDSP filen.
Det er mulig å slette på direkten, dvs ikke bruke Tag-deletion, editer idsp-filen og sett tagDeletedIdentitiesattribute til false.
eks: tagDeletedIdentities=«true» deletedIdentityTag="DELETE"
Skedulering
23
I Gjensidige har vi valgt å skedulere skriptet «gjensidige-idsync.sh» med lsf/pm. Måten vi har løst dette på er å lage en DIS job med sshfra SAS compute maskinen til SAS webserveren for så å trigge shellscriptet, servicekontoen må ha passordløs ssh fra compute til web.
1. Fra Process Manager som er skeduleringsverktøyet
2. Kalles DIS jobben, som trigger filen gjensidige-idsync.sh.
IDSP fil
24
Et annen utfordring kan være at brukernes id ikke er entydig registrert i AD, det kan væreen blanding av store og små bokstaver. Dette kan “vaskes” i IDSP filen med sas syntax.
For å finne riktig tabell å «vaske», se nederst i resultatrapporten som produseres for hver import.
Eksempel:<PreCompareCode><![CDATA[proc sql noprint;update ids_src.logins set UserId=upcase(UserId) ;quit;
IDS_SRC for source tables from AD.IDS_TGT for target tables from SAS.IDS_CHG for change tables.
NB
25
Huske å slette gammel morro fra tid til annen !
Referanser og linker
https://platformadmin.com/blogs/paul/2015/07/synchronizing-sas-platform-identities/https://platformadmin.com/blogs/paul/[email protected] / 48268011https://www.metacoda.com