Identity and Access Management

Transkript

Identity and Access Management
Identity and Access
Management
Praktické cvičení
[email protected]
Cíl cvičení
Identity & Access Management
Identity Management
Část IdM
● Seznámení s OpenIDM
● Načtení HR exportu
● Synchronizace do LDAPu
● Přiřazení role a propagace do LDAPu
● Schvalování přístupu
Access Management
Část AM
● Nakonfigurování domény a SSO brány
● Reverzní proxy a centrální autentizace
● Cross-domain SSO a federace
● Propojení s IdM
OpenIDM
Identity Management
Úlohy IdM
K čemu IdM slouží?
● Centrální řízení účtů a práv v systémech
●
●
●
●
Životní cyklus uživatele a přidělených práv
Provisioning nastavení do cílových systémů
Synchronizace hesel napříč systémy
Validace a synchronizace nastavení
● User-self service
● Podpora auditu
Ideální situace
Kdy potřebujeme IdM nejméně?
● Centrální úložiště uživatelů a práv
● SSO v rámci všech aplikací
PC
Server
Prohlížeč
Aplikace Y
Aplikace X
Active
Directory
Základní pojmy
Objekty a procesy
● managed object
● system object
● resource
● source system, source object
● target system, target object
● synchronization, validation
● mapping
Architektura
Celková architektura
Úloha I
Vytvoření uživatele
● Nastartování OpenIDM
$ ./startup.sh
● Získání seznamu uživatelů
$ curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
http://localhost:8080/openidm/managed/user/?_queryId=query-all-ids
● Vytvoření uživatele
{
"_id": "frank",
"userName": "frank",
"givenName": "frank",
"familyName": "smith",
"email": "[email protected]",
"password": "idm",
"description": "My first user"
}
● Zobrazení uživatele
http://localhost:8080/openidm/managed/user/joe
Úloha II
Kontrola databáze
● Otevření OrientDB studia
http://localhost:2480/studio/
● Seznam dostupných tříd / tabulek
$ bin/console.sh
> classes
● Zobrazení objektů
> select * from managed_user
> select * from audit_activity
OpenICF
Open Identity Connectors Framework and Toolkit
Úloha III
Načtení dat z CSV
http://openidm.forgerock.org/doc/install-guide/index.html#more-sample4
● Změna konfigurační složky
$ ./startup.sh -p samples/sample4
● Konfigurace
○
○
○
- mapování
provisioner-**.json - konektor
schedule- **.json - spouštěná úloha
sync.json
● Manuální spuštění
http://localhost:8080/openidm/recon?
_action=recon&mapping=systemHrAccounts_managedUser
Konfigurační namespacy
Jak se odkazovat na typy objektů
Úloha IV
Kontrola záznamů
● Aplikační logy
$ less logs/openidm0.log.0
● Aplikační logy
$ less audit/action.log
● Seznam uživatelů
$ curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--request GET \
"http://localhost:8080/openidm/managed/user/?_queryId=query-all-ids"
X.500 a LDAP
Adresářové služby
● DIT
● Protokoly
X.500
X.500 a LDAP
Schéma a data
● Objectclasses (structural vs auxilary)
● Attributes (matching rules, syntaxes)
● Distinguished name
● Naming attribute
dn: ou=groups,dc=example,dc=com
changetype: add
objectClass: organizationalUnit
objectClass: top
ou: groups
description: Groups container.
Úloha V
Příprava ApacheDS
● Spuštění serveru
$ /etc/init.d/apacheds-2.0.0-M12-default start
● Vtvoření kontejnerů pro uživatele a skupiny
$ ldapadd -D uid=admin,ou=system -w secret -h localhost -p 10389
dn: ou=people,dc=example,dc=com
objectclass: organizationalUnit
objectclass: top
ou: users
description: People container.
# To samé pro ou=groups
Úloha VI
Kontrola záznamů a LDAP search
● Zobrazení celého podstromu
$ ldapsearch -D uid=admin,ou=system -w secret -h localhost -p 10389 -LLL \
-b dc=example,dc=com -s subtree
● Zobrazen kořenového záznamu
$ ldapsearch -D uid=admin,ou=system -w secret -h localhost -p 10389 -LLL \
-b "" -s base "" +
● Dohledání skupin systémového uživatele
$ ldapsearch -D uid=admin,ou=system -w secret -h localhost -p 10389 -LLL \
-b "ou=system" -s subtree "(uniqueMember=uid=admin,ou=system)" "*"
● Zobrazení schématu
$ ldapsearch -D uid=admin,ou=system -w secret -h localhost -p 10389 -LLL \
-b "cn=schema" -s base "" "+"
X.500 a LDAP
Kde se vzal LDAP
● X.500 protokoly pracují pouze s OID
● OSI networking stack
● RFC pro LDAP
● Navázané standardy
○ LDIF
○ Shadowing, changelog
○ DSML
Úloha VII
Apache Directory Studio
● Připojení k serveru
● Procházení DIT
● Zobrazení schématu
Úloha VIII
Vytvoření uživatelů a skupin
dn: uid=jdoe,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
cn: John Doe
sn: Doe
givenName: John
mail: [email protected]
telephoneNumber: 12345
uid: jdoe
dn: cn=openidm,ou=groups,dc=example,dc=com
objectClass: groupOfUniqueNames
objectClass: top
cn: openidm
uniqueMember: uid=dummy,ou=system
uniqueMember: uid=jdoe,ou=People,dc=example,dc=com
dn: cn=openidm2,ou=groups,dc=example,dc=com
objectClass: groupOfUniqueNames
objectClass: top
cn: openidm
uniqueMember: uid=dummy,ou=system
Úloha IX
Synchronizace s LDAPem
$ bin/startup.sh -p samples/sample2d
● Oprava konfigurace LDAPu
provisioner.openicf-ldap.json:
credential
● Spuštění rekonciliace
$ curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--request POST \
"http://localhost:8080/openidm/recon?
_action=recon&mapping=systemLdapGroups_managedGroup"
... systemLdapAccounts_managedUser
... managedUser_systemLdapAccounts
Úloha X
Oprava úlohy IX
● Oprava konfigurace synchronizace
"source" : "",
"transform" : {
"type" : "text/javascript",
"source" : "source.displayName ? source.displayName : source.userName;"
},
"target" : "cn"
Reconciliation
Validace a synchronizace systémů
SOURCE OBJECT
SOURCE OBJECT
LINK
LINK
TARGET OBJECT
TARGET OBJECT
1. Iterate through all objects for the object set
specified as "source".
2. Iterate through all object identifiers for the
object set specified as "target".
3. Iterate through all link objects, carrying out
the following steps.
Úloha XI
Kontrola dat OpenIDM
● Zobrazení záznamů
> classes
> select from managed_user
> select from managed_group
> select from managed_group
> browse class managed_group
> display record 0
> display record 1
> select @this.toJSON() from managed_group
> select from link
... audit_recon, audit_activity ...
Synchronizační situace
Source reconciliation (LEFT JOIN)
Source
Qualifies?
Yes
No
Link
Exists?
Yes
No
Target
Found?
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
IGNORE
X
SOURCE_MISSING
DELETE
UNQUALIFIED
DELETE
UNQUALIFIED
DELETE
TARGET_IGNORED
IGNORE
UNQUALIFIED
DELETE
ABSENT
CREATE
FOUND
UPDATE
AMBIGUOUS
EXCEPTION
MISSING
EXCEPTION
CONFIRMED
UPDATE
X
X
X
Default Action
TARGET_IGNORED
X
X
Situation
X
X
X
X
>1
X
X
X
X
X
Synchronizační situace
Target reconciliation (RIGHT JOIN)
Target
Qualifies?
Yes
No
Link
Exists?
Yes
No
Source
Exists?
Yes
No
Source
Qualifies?
Yes
No
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Situation
Default Action
TARGET_IGNORED
IGNORE
UNASSIGNED
EXCEPTION
CONFIRMED
UPDATE
UNQUALIFIED
DELETE
SOURCE_MISSING
DELETE
Úloha XII
Synchronizace členství ve skupinách
● Úprava skupin pro uživatele
$ curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--request POST \
-d '[{ "replace":"ldapGroups", \
"value": ["cn=openidm2,ou=Groups,dc=example,dc=com"] }]' \
"http://localhost:8080/openidm/managed/user?_action=patch&_queryId=foruserName&uid=jdoe"
● Spuštění rekonciliace
$ curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--request POST \
"http://localhost:8080/openidm/recon?
_action=recon&mapping=managedUser_systemLdapAccounts"
Úloha XIII
Workflow
http://openidm.forgerock.org/doc/integrators-guide/index.html#example-provisioning-workflow
http://activiti.org/userguide/index.html#activitiDesigner
IDM v praxi
Ukázky reálných implementací
● Ukázka OSK a TO2 GUI
○ org-tree, práva, účty, žádosti, delegace
● Ukázka DirX Identity
○ cílové systémy, privilege hierarchy, workflow, metadirectory
OpenAM
Access Management
Úlohy AM
K čemu AM slouží?
● Centrální řízení přístupových politik
● Poskytování autentizačních služeb
● Poskytování autorizačních služeb
● Podpora auditu
Identity vs Access Management
Hledání hranice
*.foo.com
*.bar.com
IDENTITIES
IDENTITIES
ACCOUNTS
ACCOUNTS
FEDERATION
Architektura
Komponenty OpenIDM
Integrace s OpenIDM
Policy Agents
PEP
PAP
Komunikace mezi komponentami
Centrální autentizace a autorizace
Úloha I
Instalace
● Nastavení domény
$ sudo vim /etc/hosts
127.0.0.1
jcu-{prijmeni}.example.com
● Stažení Apache Tomcat ₊ OpenAM
● Nastavení Tomcatu
$ sudo vim ${catalina.home}/bin/setenv.sh
JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
$ sudo vim ${catalina.home}/conf/server.xml
port="9080" protocol="HTTP/1.1"
● Nasazení OpenAM
${catalina.home}/webapps/
openam-server-10.1.0-Xpress.war => openam.war
Úloha II
Konfigurace aplikace
● Nastartování Tomcatu
$ bin/startup.sh
$ tail -f logs/catalina.out
● Konfigurace pomocí webového rozhraní
http://jcu-{prijmeni}.example.com:9080/openam/
Samostatná cvičení
Identity & Access Management
Samostatné úkoly
Úkoly na zápočet
● ApacheDS jako LDAP PAM modul
http://wiki.debian.org/LDAP/PAM
● Nakonfigurování jednoho Policy Agenta
http://docs.forgerock.org/en/openig/2.1.0/gateway-guide/index/chapfederation-tutorial.html
● Identity Federation
http://openam.forgerock.org/openam-documentation/openam-docsource/doc/admin-guide/index/chap-federation.html

Podobné dokumenty

Často kladené dotazy

Často kladené dotazy I když tato instalace váš problém vyřeší, napište nám na [email protected], abychom zjistili podrobnosti o vašem nastavení. Tuto chybu chceme v budoucnu opravit, ale potřebujeme co nejvíce ...

Více

Trioza Cockerelli n. sp.

Trioza Cockerelli n. sp. strany konce shora dold setnute, sdm koneeek naho're se dvema zejkovitYmi zuby. —Vnit n i klad a I k o tvaru trojahelnikoviteho

Více

Installing Template Theme Files

Installing Template Theme Files Všechny modely (IaaS, PaaS, SaaS) Pro obchodní útvary i IT CAPEX Private Cloud je dedikovaný pro zákazníka, Public Cloud je sdílený více zákazníky • Hybridní Cloud Pronájem kapacity on-demand při n...

Více

FreeIPA - Fedora

FreeIPA - Fedora Přı́klad uživatele v LDAPu uživatel v /etc/passwd

Více

Vytváření a prohlížení filmů a disků DVD

Vytváření a prohlížení filmů a disků DVD a použijte nabídky VYJMOUT, KOPÍROVAT a VLOŽIT). Pokud vytvoříte kopii složky ve stejném umístění jako originál, program Movie Maker ji pojmenuje novým jménem obsahujícím původní název a pořadové č...

Více

ATTIS4 – Synchronizace s LDAP serverem

ATTIS4 – Synchronizace s LDAP serverem SW ATTIS nástroje manažerského řízení 1. Základní popis funkce LDAP (Lightweight Directory Access Protocol) je odlehčený protokol vycházející ze standardu X.500 pro ukládání a přístup k adresářový...

Více

Přehled vybraných makroekonomických ukazatelů zemí Evropské

Přehled vybraných makroekonomických ukazatelů zemí Evropské Podíl daní na HDP ........................................................................................................................... 13

Více

Diplomová práce

Diplomová práce Aplikačnı́ adresáře – adresáře, které si udržujı́ aplikace pro ukládánı́ svých vlastnı́ch záznamů. Přı́kladem může být např. IBM/Lotus Notes, Microsoft Exchange a např. aliasy obs...

Více