25
Hvordan ta i bruk Metacoda sin Idsync Dagfinn Larsen, Evry consulting

Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

Hvordan ta i bruk Metacoda sin Idsync

Dagfinn Larsen, Evry consulting

Page 2: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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».

Page 3: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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

Page 4: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

• 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

Page 5: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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.

Page 6: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

Metacoda Identity plug-in

Angi hvor brukergruppene dine ligger i AD, Objectguid som er brukt som identifikator.

Page 7: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

Metacoda Identity plug-inPoint to correct OU

Her har man fått kontakt og kan søke etter SAS gruppene.

Page 8: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

Metacoda Identity plug-in

Next

Page 9: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

Login attributt

Velg domene og attributtet som beskriver bruker, sAMAccountName erda navnet på bruker i AD.

Page 10: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

Metacoda Identity plug-in

Page 11: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

Metacoda Identity plug-inNår du kjører synkroniseringen, så produseres det en rapport med resultatet for synkroniseringen, angi derfor lokasjon for Idsync rapporten

Page 12: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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.

Page 13: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

Metacoda Batch Interface

Page 14: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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.

Page 15: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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.

Page 16: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

• 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

Page 17: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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.

Page 18: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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.

Page 19: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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

Page 20: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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

Page 21: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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"

Page 22: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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.

Page 23: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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.

Page 24: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

NB

25

Huske å slette gammel morro fra tid til annen !

Page 25: Hvordan ta i bruk Metacoda sin Idsync · På midtier server har vi kalt dette skriptet “gjensidige- idsync.sh”, som kaller skriptet ”run-batch-task.sh”, dette gir informasjon

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