On Sun, 30 Mar 2014, Dmitri Pal wrote:
On 03/30/2014 03:14 PM, Nordgren, Bryce L -FS wrote:
I think it does not really differ from what I described, conceptually.
It is, however, requiring much more work than what I described.
FreeIPA has flat LDAP DIT. Adding support for separate OUs is in itself a non-
Ah. Well since that's the case, separate OUs are gone. (You may have to hit "reload" in
your browser to get the new figure.) It does require that the RDN of all external entities encode
both the name and the realm of the external Kerberos principal in order to avoid collisions. Is the
current "external user" provisioning method able to handle the same name coming from two
domains or does it assume that collisions will never happen?
PKINIT use in Kerberos is a big issue. Right now certificates produced by
FreeIPA do not include special extension that Kerberos KDC requires to have
PKINIT working. We have a ticket to solve this but it depends on few items
missing in FreeIPA, Dogtag, and nss. Solving it is required for full OTP use, so
we might gain this feature sooner or later.
The proposal actually doesn't involve producing kx509 certificates, only
consuming them. :) I think these are two issues which can be handled in
parallel rather than having one block the other. ;)
What's reasonable and can be relatively easily pulled in from your proposal is
a mechanism to get users automatically provisioned in FreeIPA based on
their cross realm identities. For example, for cross realm trust with AD we
have means to selectively block certain SIDs from being imported from the
AD. The rest is recognized and accepted but no local external groups created
for them. We simply can automate creating the groups on login attempt if
SIDs involved aren't blocked. This automation should solve majority of
From my cursory examination of the code, I proposed auditing the KDC's AS and
TGS conversations to trigger this automatic provisioning. Is this an approach
I understand that IPA's bread and butter is to attach itself to a pre existing AD domain to
simplify the administration of Linux machines within the same administrative boundaries.
This is a subset of Use Case 1. I just want to make sure that there's a plan in place for
situations where the domain of origin is not AD, and no SID is exported (the rest of Use
Case 1, and Use Cases 2& 3.) This is just a generalization of the procedure to allow
"AD" users access to services such that users from non-AD realms can also be
Use Case 1 could be named "Intra-organizational cross-realm operation", Use Case 2 could be named
"Inter-organizational cross realm operation", and Use Case 3 could be named "Multi-technology
cross-realm operation". 2&3 involve independent administrative entities with a fair amount of autonomy.
Traditional enterprise approaches are not valid for 2&3. :)
Thanks for the review!
This electronic message contains information generated by the USDA solely for
the intended recipients. Any unauthorized interception of this message or the
use or disclosure of the information it contains may violate the law and
subject the violator to civil or criminal penalties. If you believe you have
received this message in error, please notify the sender and delete the email
First of all thanks for a nice pictures and sharing your ideas.
A lot of work and though put into it.
Let me just point couple things:
1) It looks like the whole idea is about creating entries for
external users on the server when external user authenticates via
KDC. But don't we already lookup cache these users in a local SSSD
cache and expose via the compat tree for legacy clients?
AFAIU the purpose is to be able to create local groups for the
external users. May be we can do something and use compat tree DNs
for external users?
In general it is better to distill the problem we are trying to
solve: did I get it right?
2) I think PKINIT and related part of the proposal is not something
that we would do.
Instead of PKI based Ipsilon would use GSS proxy that implements
s4u2proxy + s4u2self to acquire a ticket on user behalf.
This functionality already exists, so there is no new code need.
3) The case when you send TGT back to the client from Ipsilon that
authenticated user and acquired TGT on his behalf is an interesting
one. The intent for client to later use SSH is understandable though
hard to achieve. Currently there is no mechanism for Ipsilon or
Ipsilon like gateways to return the TGT for a user and pass it to
client browser. There is also no way a browser can save this TGT in
Let us focus on the problem we are trying to solve here. Keep in mind
that we have not started designing IPA to IPA trusts and Kerberos to
IPA trusts. It might very well be that we would need to create some
external entries for those trusts so IMO looking into these trust
scenarios would reveal where our AD integration approach lacks
external info and needs to be extended. If we want to solve the high
level problem of trusts in general we need to build those specific
flows and see what data is not in ldap and we can get it there. A
simple mental exercise suggests that we would need something for
grouping of the identities coming from a vanilla trusted Kerberos
domain. May be this is something we should drill down as a next step?
Now we have this tracked with the ticket
Bryce, please continue expanding on your potential use cases using the
wiki page you've created. I'm not sure we are even close to start
implementing this but gathering the information is a first step.
I think Dmitri has some valid questions above that might be good to
answer through your wiki page.
/ Alexander Bokovoy
Freeipa-users mailing list