[midPoint] Users and Groups in database
Roman Pudil - AMI Praha a.s.
roman.pudil at ami.cz
Fri Jun 26 09:42:33 CEST 2015
Hi Pavol,
thanks for Your help!
Roman
Roman Pudil
solution architect
gsm: [+420] 775 663 666
e-mail: roman.pudil at ami.cz <mailto:roman.pudil at ami.cz>
AMI Praha a.s.
Pláničkova 11
162 00 Praha 6
tel./fax: [+420] 274 783 239
web: www.ami.cz <http://www.ami.cz>
AMI Praha a.s.
<http://www.ami.cz/reseni-a-sluzby/bezpecnost-dat/identity-management>
Textem tohoto e-mailu podepisující neslibuje uzavřít ani neuzavírá za
společnost AMI Praha a.s.
jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena, musí mít
výhradně písemnou formu.
Dne 23.6.2015 v 12:24 Pavol Mederly napsal(a):
> Hello Roman,
>
> Something like this works for me - I'm rewriting my configuration to
> "your" terms, hopefully not making any mistake:
>
> 1) Define an association in the account definition:
>
> <association>
> <c:ref>ri:rolesAssociation</c:ref>
> <matchingRule
> xmlns:mr="http://prism.evolveum.com/xml/ns/public/matching-rule-3">mr:stringIgnoreCase</matchingRule>
> <kind>entitlement</kind>
> <intent>role</intent>
> <direction>subjectToObject</direction>
> <associationAttribute>ri:roles</associationAttribute>
> <valueAttribute>icfs:uid</valueAttribute>
> </association>
>
> In this case, ri:rolessAssociation is the name of the association. It
> is "artificial" name by which midPoint will refer to the association.
> On the other hand, ri:roles is the name of the actual attribute where
> information about the roles of a given user is stored. Kind/intent
> (entitlement/role) tells midPoint what kind of objects we are
> referring to. ValueAttribute = icfs:uid tells it that in the roles
> attribute there are uids (not names) of the given roles. If there are
> names, you would have to provide icfs:name here.
>
> 2) Now, define the fact that a midPoint Role would correspond to your
> resource's role object *and* that any user that has an assignment of
> the midPoint role would be assigned the resource's role object to his
> account.
>
> The easiest way is to define a metarole like this:
>
> <role xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
> xmlns:icfs="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-3"
> xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3"
> xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
> xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
> xmlns:ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3">
>
> <name>Metarole</name>
> <displayName>Metarole</displayName>
> <inducement id="1">*<!-- this tells midPoint to create resource's
> role object for any midPoint Role that has this metarole assigned -->*
> <construction>
> <resourceRef oid="*(your resource OID goes here)*"/>
> <kind>entitlement</kind>
> <intent>role</intent>
> </construction>
> </inducement>
> <inducement id="2">*<!-- this tells that any user having assigned
> midPoint Role will get the corresponding resource's role associated to
> him -->*
> <construction>
> <resourceRef oid="*(your resource OID goes here)*"/>
> <kind>account</kind>
> <intent>default</intent>
> <association>
> <c:ref>ri:rolesAssociation</c:ref>
> <outbound>
> <expression>
> <associationFromLink>
> <projectionDiscriminator>
> <kind>entitlement</kind>
> <intent>role</intent>
> </projectionDiscriminator>
> </associationFromLink>
> </expression>
> </outbound>
> </association>
> </construction>
> <order>2</order>
> </inducement>
> <requestable>false</requestable>
> </role>
>
> Hope this helps.
>
> Best regards,
> Pavol
>
>> Hi Pavol,
>> thanks for great advice!
>>
>> Now I have all application roles saved as multi-valued attribute in
>> the user in MidPoint.
>> How can I associate these values with entitlements (roles) in
>> MidPoint? "AssignmentTargetSearch" in mapping gives me "Expression
>> returned more than one value" exception (yes, attribute is multi-valued).
>>
>> Thanks!
>>
>> Regards
>> R. Pudil
>>
>> Roman Pudil
>> solution architect
>>
>> gsm: [+420] 775 663 666
>> e-mail: roman.pudil at ami.cz <mailto:roman.pudil at ami.cz>
>>
>>
>>
>> AMI Praha a.s.
>> Pláničkova 11
>> 162 00 Praha 6
>> tel./fax: [+420] 274 783 239
>> web: www.ami.cz <http://www.ami.cz>
>>
>>
>>
>> AMI Praha a.s.
>>
>>
>> <http://www.ami.cz/reseni-a-sluzby/bezpecnost-dat/identity-management>
>>
>> Textem tohoto e-mailu podepisující neslibuje uzavřít ani neuzavírá za
>> společnost AMI Praha a.s.
>> jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena, musí mít
>> výhradně písemnou formu.
>>
>> Dne 20.6.2015 v 18:38 Pavol Mederly napsal(a):
>>> Hello Roman,
>>>
>>> we've recently implemented this scenario for one of our customers.
>>>
>>> It was done via ScriptedSQL connector, as one resource, having two
>>> object classes:
>>>
>>> - users
>>> - roles
>>>
>>> The user-role association was implemented as a multi-valued
>>> attribute called "roles" in the user. (It could be done also via
>>> attribute "users"/"members" in the role object, but we chose this
>>> way because the user in our case has fewer roles than there are
>>> users for a given role.)
>>>
>>> Groovy scripts in the connector were used as a wrapper that called
>>> stored procedures in the database. These procedures were responsible
>>> for manipulating the tables, including updating user-role table
>>> based on the information that came in the "roles" attribute.
>>>
>>> It is more complex than using the simple DB connector, but works nicely.
>>>
>>> Best regards,
>>> Pavol
>>>
>>> On 20. 6. 2015 18:07, Roman Pudil - AMI Praha a.s. wrote:
>>>> Hi all,
>>>> I have 3 tables in database.
>>>>
>>>> 1) table with users
>>>> 2) talbe with roles
>>>> 3) table with users id's assigned to roles id's (M:N relation)
>>>>
>>>> First table and second table are connected to midPoint as two
>>>> database resources (DB users as identities, DB roles as midPoint
>>>> roles). But how to process third table to MidPoint with users to
>>>> groups relations? As third resource or not? How? What is best practice?
>>>>
>>>> Thanks for any idea!
>>>>
>>>> Regards!
>>>> Roman Pudil
>>>> AMI Praha, a.s.
>>>> --
>>>>
>>>> Roman Pudil
>>>> solution architect
>>>> gsm: [+420] 775 663 666
>>>> e-mail: roman.pudil at ami.cz
>>>>
>>>> AMI Praha a.s.
>>>> Pláničkova 11
>>>> 162 00 Praha 6
>>>> tel./fax: [+420] 274 783 239
>>>> web: www.ami.cz
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> midPoint mailing list
>>>> midPoint at lists.evolveum.com
>>>> http://lists.evolveum.com/mailman/listinfo/midpoint
>>>
>>>
>>>
>>> _______________________________________________
>>> midPoint mailing list
>>> midPoint at lists.evolveum.com
>>> http://lists.evolveum.com/mailman/listinfo/midpoint
>>
>>
>>
>> _______________________________________________
>> midPoint mailing list
>> midPoint at lists.evolveum.com
>> http://lists.evolveum.com/mailman/listinfo/midpoint
>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20150626/c35b68eb/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ami_logo.gif
Type: image/gif
Size: 2900 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20150626/c35b68eb/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AMI-podpis-IdM_1.png
Type: image/png
Size: 21628 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20150626/c35b68eb/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 2900 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20150626/c35b68eb/attachment-0001.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 21628 bytes
Desc: not available
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20150626/c35b68eb/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4240 bytes
Desc: Elektronicky podpis S/MIME
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20150626/c35b68eb/attachment.bin>
More information about the midPoint
mailing list