Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-03 Thread Adam Young

On 11/03/2011 11:30 AM, Andrew Wnuk wrote:

On 11/02/2011 03:19 PM, Rob Crittenden wrote:

Simo Sorce wrote:

On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:

On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:

[...]

So, a user becomes an agent on the ca by having a certificate in the
user record and being a member of the relevant admin, agent or auditor
group.

I see this as follows:
1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
class)
2. ipa user-cert (contact the ca and get a certificate for this user,
add this cert to the user record in the ipa database)
3. ipa group-add-member (add the user to the relevant group)

At no point does PKI need to modify anything in the IPA database.


Sounds reasonable.
Can you post a link to the schema that would be added to IPA objects ?

Simo.



IIRC the user we create in CS now has the description attribute set 
up in a very specific way. Is that still required?


rob


Steps 1 to 3 should have an option to be performed only by CS admins 
with certificate client authentication, otherwise we will break rules 
of secure CS configuration including separation of roles.



We had a long talk about that on the IPA call this morning.

In order to add someone to the PKIAdmin  user-group,  you need to have 
the appropriate ACIs.  We'd like to lock thos in,  so that someone 
messing around with IPA can't mess them up.


I'm not certain that the specific authentication mechanism  is the issue 
so much as  you need to have a guarantee of  authentication no less than 
what Client Cert auth gives you.  Kerberos authentication should  
actually be as good:  it will be enforced not just by the application, 
but all the way down to the DS instance  via ACIs.




Andrew

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-03 Thread Andrew Wnuk

On 11/02/2011 03:19 PM, Rob Crittenden wrote:

Simo Sorce wrote:

On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:

On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:

[...]

So, a user becomes an agent on the ca by having a certificate in the
user record and being a member of the relevant admin, agent or auditor
group.

I see this as follows:
1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
class)
2. ipa user-cert (contact the ca and get a certificate for this user,
add this cert to the user record in the ipa database)
3. ipa group-add-member (add the user to the relevant group)

At no point does PKI need to modify anything in the IPA database.


Sounds reasonable.
Can you post a link to the schema that would be added to IPA objects ?

Simo.



IIRC the user we create in CS now has the description attribute set up 
in a very specific way. Is that still required?


rob


Steps 1 to 3 should have an option to be performed only by CS admins 
with certificate client authentication, otherwise we will break rules of 
secure CS configuration including separation of roles.


Andrew

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-03 Thread Ade Lee
On Thu, 2011-11-03 at 09:22 -0400, Rob Crittenden wrote:
> Ade Lee wrote:
> > On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:
> >> To clarify:  there are two types of Data stored in the PKI CA DS
> >> instances.  One is Users and groups (IdM),  and the other is
> >> certificates and requests.
> >>
> >> The CA currently administers its own users:  creates, add deletes, add
> >> privs and so forth.  If  we extract the IdM  objects from the CA
> >> control, we will need to build another mechanism to manage them.
> >>
> >> The Certificates will stay in their own suffix.  I don't think anyone
> >> disagrees about this.
> >>
> >> I'm trying to think through the steps of using the IPA user database for
> >> PKI.  If I undertand the end state, the general flow will be driven from
> >> ipa-server-install and will look like this:
> >>
> >> 1.  Create a unified DS instance.  We can continue to name it the way
> >> that IPA does:   All caps the hostname.
> >> 2.  Apply the LDAP schema LDIFs to it.  At this point, we probably want
> >> to create the whole IPA schema,  and the cmsUser as well
> >
> > For clarification, cmsuser is just an object that is defined in the PKI
> > schema, not the actual admin user created in the install itself.
> >
> > It may be advantageous to actually pre-create this user when applying
> > schema LDIFS and just have pkisilent add the user certs.
> 
> The description attribute needs to store per-instance specific 
> information such as the requestId. Unless you mean just adding userstate 
> and usertype.
> 

In dogtag, I believe we have used the description attribute to store
whatever the user provided to describe the user/group.  This is more
relevant to the console.

As IPA will be managing users and groups, then it can also manage this
attribute.

> >> 3.  Call PKISilent (or equivalent) passing the info for  the Unified
> >> directory server instance, to include the IPA tree for the users.
> >> 4.  PKISilent will create the PKI admin user,  to include its
> >> certificiate in the IPA tree.  This user will be half baked from an IPA
> >> perspective,  but will allow administration of the CA.
> >
> > Pre-creating this user may solve this problem.  You can pre-create a
> > user with all the required IPA and PKI attributes and just have
> > pkisilent add the user cert needed.
> >
> > As we will be running as directory manager in this case, we will
> > permissions to do this.
> >
> >> 5.  Create a PKIDirectory Manager account that has complete control over
> >> only the PKI  suffix, and not the IPA suffix.  Modify the PKI code to
> >> use only this account.  This account should be able to authenticate
> >> against the Dir Srv using a client certificate, stored in the PKI
> >> specific NSS database.
> >
> > This of course involves setting up the relevant ACIs.  We may want to
> > consider the reverse.  That only certain IPA accounts should have access
> > to the PKI data.
> 
> Which still involves ACIs, right?
Right
> 
> >> 6.  Restart the CA.
> >> 7.  Continue the IPA server install from the.  Fix up the Admin user so
> >> that it works for IPA.
> >
> > Not needed if we pre-populate as mentioned above.
> >
> >> 8.  Disable the Directory Manager's password.  From here on out,  access
> >> to the Dir Srv should be either certificate or Keytab only.
> >>
> >>
> >> After IPA is up and running, the management of the User Database is done
> >> by IPA.
> >> One thing that several people have asked for in IPA is the ability to
> >> manage external Roles:  ones that don't map to ACIs.  PKI has this
> >> requirement as well.  There are a couple approaches we could take:
> >>
> >> 1.  Attempt to use the current Role mechanism in IPA.  This gets hidden
> >> to an outside user,  but that should be OK.  Checking if a user is a PKI
> >> Admin, Agent, or Auditor should be done only by a privileged account 
> >> anyway.
> >>
> >> 2.  Use a User Group:  PKIAdmins,  PKIAgents,  and PKIAuditors.This
> >> is what I would suggest.
> >>
> >> 3.  Create an external mechanism.
> >>
> >>
> >> Once IPA has assumed control of the IdM DB, we will still need to be
> >> able to get user certificates into the  user records CMSUser field.  I
> >> do not know CS well enough to say how that would work,  but I assume it
> >> will be one of these two mechanisms:
> >>
> >> 1.  Use the CA Administrative interface to modify an existing user to
> >> have the certificate
> >> or
> >> 2.  Add a mechanism to IPA to request and apply the certificate to the
> >> IPA User.
> >>
> >> I'm guessing that the flow would be something like this:
> >>
> >> 1.  Create a user  (ipa user-add)
> >> 2.  Assign them to the PKIAgents groups
> >> 3.  Call the CA Admin interface to make the user an agent.
> >>
> >> If we do it this way, the  PKI instance will need to be able to modify
> >> the IPA user record.  Alternatively:
> >>
> >> 1.  ipa user-add
> >> 2.  ipa group-add-member
> >> 3.  ipa user-cert
> >
> > So, a user becomes an agent on the c

Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-03 Thread Simo Sorce
On Thu, 2011-11-03 at 11:00 -0400, Ade Lee wrote:
> On Thu, 2011-11-03 at 09:20 -0400, Adam Young wrote:
> > On 11/03/2011 12:56 AM, Simo Sorce wrote:
> > > On Wed, 2011-11-02 at 20:25 -0400, Adam Young wrote:
> > >> On 11/02/2011 06:19 PM, Rob Crittenden wrote:
> > >>> Simo Sorce wrote:
> >  On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:
> > > On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:
> >  [...]
> > > So, a user becomes an agent on the ca by having a certificate in the
> > > user record and being a member of the relevant admin, agent or auditor
> > > group.
> > >
> > > I see this as follows:
> > > 1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
> > > class)
> > > 2. ipa user-cert (contact the ca and get a certificate for this user,
> > > add this cert to the user record in the ipa database)
> > > 3. ipa group-add-member (add the user to the relevant group)
> > >
> > > At no point does PKI need to modify anything in the IPA database.
> >  Sounds reasonable.
> >  Can you post a link to the schema that would be added to IPA objects ?
> > 
> >  Simo.
> > 
> > >> I think this is it:
> > >>
> > >> http://svn.fedorahosted.org/svn/pki/trunk/pki/base/ca/shared/conf/schema.ldif
> > >>
> > >> Look for cmsuser.
> > > Unfortunately it looks like the cmsuser objectclass is of type
> > > structural, which means it cannot be added to existing records.
> > >
> > >> The cert seems to  comes from
> > >>
> > >> 05rfc4523.ldif
> > >>
> > >> and is added in
> > >>
> > >> 06inetorgperson.ldif
> > >>
> > >> Which is already in our user record.
> > >>
> > >> CMS only seems to "require" usertype, which is a string, and "allows"
> > >> userstate  which is an integer.
> > > I wonder if we can convince PKI to use a different schema to reprsent
> > > this information. We can use Roles or Groups to tell what type of user a
> > > user is, not sure about the state as that schema file has exactly the
> > > same comment for both usertype and userstate, seems a bug.
> > 
> > I think so.  I do not know if CMSuser is really needed, as it looks like 
> > everything in there is accounted for some other way.
> > 
> > My guess is the "type"  field is used to enforce that someone in one 
> > group,  say agents, cannot also be in a different group, say "auditors" 
> > but they do use groups for  most roles in the system.
> > 
> > I think that there are going to be severl layers for the permissions in 
> > the IPA approach:  For CAAdmins, we create a group CAdmins, and  add a 
> > Role to to CAAdminRole which contains the appropriate Permissions.  Same 
> > for Auditors and agents.  No one should have the ACI to change these roles.
> > 
> > We probably want to put in an RFE for IPA Roles  that state two roles 
> > are mutually exclusive.
> > 
> > 
> > userstate is, I think, to disable an account, which is handled using 
> > nsaccount lock  in IPA.  I think we should agree on a single mechanism, 
> > and it should be the one in the most standard schema.
> > 
> > 
> 
> With just an initial look at the dogtag code, it appears that userState
> and userType are no longer used in any meaningful way.  We'll have to do
> a more exhaustive search to be sure, but initial indications are that we
> may no longer need this object class.  
> 
> Adam does bring up a good point, which is that - as a common criteria
> requirement, users were required to have no more than one of the
> following roles: agent, admin, auditor.  How would this be enforced in
> the IPA database?

At the moment it can't be enforced, but I guess we could build a special
plugin that will work similarly to the uniqueness plugin but will work
on one or more pools of mutually exclusive roles to be enforced on all
entries. I guess this is something that could be useful outside of CA as
well if roles turns out to be used more.

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-03 Thread Adam Young

On 11/03/2011 11:00 AM, Ade Lee wrote:

On Thu, 2011-11-03 at 09:20 -0400, Adam Young wrote:

On 11/03/2011 12:56 AM, Simo Sorce wrote:

On Wed, 2011-11-02 at 20:25 -0400, Adam Young wrote:

On 11/02/2011 06:19 PM, Rob Crittenden wrote:

Simo Sorce wrote:

On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:

On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:

[...]

So, a user becomes an agent on the ca by having a certificate in the
user record and being a member of the relevant admin, agent or auditor
group.

I see this as follows:
1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
class)
2. ipa user-cert (contact the ca and get a certificate for this user,
add this cert to the user record in the ipa database)
3. ipa group-add-member (add the user to the relevant group)

At no point does PKI need to modify anything in the IPA database.

Sounds reasonable.
Can you post a link to the schema that would be added to IPA objects ?

Simo.


I think this is it:

http://svn.fedorahosted.org/svn/pki/trunk/pki/base/ca/shared/conf/schema.ldif

Look for cmsuser.

Unfortunately it looks like the cmsuser objectclass is of type
structural, which means it cannot be added to existing records.


The cert seems to  comes from

05rfc4523.ldif

and is added in

06inetorgperson.ldif

Which is already in our user record.

CMS only seems to "require" usertype, which is a string, and "allows"
userstate  which is an integer.

I wonder if we can convince PKI to use a different schema to reprsent
this information. We can use Roles or Groups to tell what type of user a
user is, not sure about the state as that schema file has exactly the
same comment for both usertype and userstate, seems a bug.

I think so.  I do not know if CMSuser is really needed, as it looks like
everything in there is accounted for some other way.

My guess is the "type"  field is used to enforce that someone in one
group,  say agents, cannot also be in a different group, say "auditors"
but they do use groups for  most roles in the system.

I think that there are going to be severl layers for the permissions in
the IPA approach:  For CAAdmins, we create a group CAdmins, and  add a
Role to to CAAdminRole which contains the appropriate Permissions.  Same
for Auditors and agents.  No one should have the ACI to change these roles.

We probably want to put in an RFE for IPA Roles  that state two roles
are mutually exclusive.


userstate is, I think, to disable an account, which is handled using
nsaccount lock  in IPA.  I think we should agree on a single mechanism,
and it should be the one in the most standard schema.



With just an initial look at the dogtag code, it appears that userState
and userType are no longer used in any meaningful way.  We'll have to do
a more exhaustive search to be sure, but initial indications are that we
may no longer need this object class.

Adam does bring up a good point, which is that - as a common criteria
requirement, users were required to have no more than one of the
following roles: agent, admin, auditor.  How would this be enforced in
the IPA database?


I think that we need to make it an RFE for IPA.









IIRC the user we create in CS now has the description attribute set up
in a very specific way. Is that still required?

What is description used for ?

Simo.



___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel




___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-03 Thread Ade Lee
On Thu, 2011-11-03 at 09:20 -0400, Adam Young wrote:
> On 11/03/2011 12:56 AM, Simo Sorce wrote:
> > On Wed, 2011-11-02 at 20:25 -0400, Adam Young wrote:
> >> On 11/02/2011 06:19 PM, Rob Crittenden wrote:
> >>> Simo Sorce wrote:
>  On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:
> > On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:
>  [...]
> > So, a user becomes an agent on the ca by having a certificate in the
> > user record and being a member of the relevant admin, agent or auditor
> > group.
> >
> > I see this as follows:
> > 1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
> > class)
> > 2. ipa user-cert (contact the ca and get a certificate for this user,
> > add this cert to the user record in the ipa database)
> > 3. ipa group-add-member (add the user to the relevant group)
> >
> > At no point does PKI need to modify anything in the IPA database.
>  Sounds reasonable.
>  Can you post a link to the schema that would be added to IPA objects ?
> 
>  Simo.
> 
> >> I think this is it:
> >>
> >> http://svn.fedorahosted.org/svn/pki/trunk/pki/base/ca/shared/conf/schema.ldif
> >>
> >> Look for cmsuser.
> > Unfortunately it looks like the cmsuser objectclass is of type
> > structural, which means it cannot be added to existing records.
> >
> >> The cert seems to  comes from
> >>
> >> 05rfc4523.ldif
> >>
> >> and is added in
> >>
> >> 06inetorgperson.ldif
> >>
> >> Which is already in our user record.
> >>
> >> CMS only seems to "require" usertype, which is a string, and "allows"
> >> userstate  which is an integer.
> > I wonder if we can convince PKI to use a different schema to reprsent
> > this information. We can use Roles or Groups to tell what type of user a
> > user is, not sure about the state as that schema file has exactly the
> > same comment for both usertype and userstate, seems a bug.
> 
> I think so.  I do not know if CMSuser is really needed, as it looks like 
> everything in there is accounted for some other way.
> 
> My guess is the "type"  field is used to enforce that someone in one 
> group,  say agents, cannot also be in a different group, say "auditors" 
> but they do use groups for  most roles in the system.
> 
> I think that there are going to be severl layers for the permissions in 
> the IPA approach:  For CAAdmins, we create a group CAdmins, and  add a 
> Role to to CAAdminRole which contains the appropriate Permissions.  Same 
> for Auditors and agents.  No one should have the ACI to change these roles.
> 
> We probably want to put in an RFE for IPA Roles  that state two roles 
> are mutually exclusive.
> 
> 
> userstate is, I think, to disable an account, which is handled using 
> nsaccount lock  in IPA.  I think we should agree on a single mechanism, 
> and it should be the one in the most standard schema.
> 
> 

With just an initial look at the dogtag code, it appears that userState
and userType are no longer used in any meaningful way.  We'll have to do
a more exhaustive search to be sure, but initial indications are that we
may no longer need this object class.  

Adam does bring up a good point, which is that - as a common criteria
requirement, users were required to have no more than one of the
following roles: agent, admin, auditor.  How would this be enforced in
the IPA database?
  
> 
> 
> >
> >>> IIRC the user we create in CS now has the description attribute set up
> >>> in a very specific way. Is that still required?
> > What is description used for ?
> >
> > Simo.
> >
> >
> 
> ___
> Freeipa-devel mailing list
> Freeipa-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/freeipa-devel


___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-03 Thread Rob Crittenden

Ade Lee wrote:

On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:

To clarify:  there are two types of Data stored in the PKI CA DS
instances.  One is Users and groups (IdM),  and the other is
certificates and requests.

The CA currently administers its own users:  creates, add deletes, add
privs and so forth.  If  we extract the IdM  objects from the CA
control, we will need to build another mechanism to manage them.

The Certificates will stay in their own suffix.  I don't think anyone
disagrees about this.

I'm trying to think through the steps of using the IPA user database for
PKI.  If I undertand the end state, the general flow will be driven from
ipa-server-install and will look like this:

1.  Create a unified DS instance.  We can continue to name it the way
that IPA does:   All caps the hostname.
2.  Apply the LDAP schema LDIFs to it.  At this point, we probably want
to create the whole IPA schema,  and the cmsUser as well


For clarification, cmsuser is just an object that is defined in the PKI
schema, not the actual admin user created in the install itself.

It may be advantageous to actually pre-create this user when applying
schema LDIFS and just have pkisilent add the user certs.


The description attribute needs to store per-instance specific 
information such as the requestId. Unless you mean just adding userstate 
and usertype.



3.  Call PKISilent (or equivalent) passing the info for  the Unified
directory server instance, to include the IPA tree for the users.
4.  PKISilent will create the PKI admin user,  to include its
certificiate in the IPA tree.  This user will be half baked from an IPA
perspective,  but will allow administration of the CA.


Pre-creating this user may solve this problem.  You can pre-create a
user with all the required IPA and PKI attributes and just have
pkisilent add the user cert needed.

As we will be running as directory manager in this case, we will
permissions to do this.


5.  Create a PKIDirectory Manager account that has complete control over
only the PKI  suffix, and not the IPA suffix.  Modify the PKI code to
use only this account.  This account should be able to authenticate
against the Dir Srv using a client certificate, stored in the PKI
specific NSS database.


This of course involves setting up the relevant ACIs.  We may want to
consider the reverse.  That only certain IPA accounts should have access
to the PKI data.


Which still involves ACIs, right?


6.  Restart the CA.
7.  Continue the IPA server install from the.  Fix up the Admin user so
that it works for IPA.


Not needed if we pre-populate as mentioned above.


8.  Disable the Directory Manager's password.  From here on out,  access
to the Dir Srv should be either certificate or Keytab only.


After IPA is up and running, the management of the User Database is done
by IPA.
One thing that several people have asked for in IPA is the ability to
manage external Roles:  ones that don't map to ACIs.  PKI has this
requirement as well.  There are a couple approaches we could take:

1.  Attempt to use the current Role mechanism in IPA.  This gets hidden
to an outside user,  but that should be OK.  Checking if a user is a PKI
Admin, Agent, or Auditor should be done only by a privileged account anyway.

2.  Use a User Group:  PKIAdmins,  PKIAgents,  and PKIAuditors.This
is what I would suggest.

3.  Create an external mechanism.


Once IPA has assumed control of the IdM DB, we will still need to be
able to get user certificates into the  user records CMSUser field.  I
do not know CS well enough to say how that would work,  but I assume it
will be one of these two mechanisms:

1.  Use the CA Administrative interface to modify an existing user to
have the certificate
or
2.  Add a mechanism to IPA to request and apply the certificate to the
IPA User.

I'm guessing that the flow would be something like this:

1.  Create a user  (ipa user-add)
2.  Assign them to the PKIAgents groups
3.  Call the CA Admin interface to make the user an agent.

If we do it this way, the  PKI instance will need to be able to modify
the IPA user record.  Alternatively:

1.  ipa user-add
2.  ipa group-add-member
3.  ipa user-cert


So, a user becomes an agent on the ca by having a certificate in the
user record and being a member of the relevant admin, agent or auditor
group.

I see this as follows:
1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
class)
2. ipa user-cert (contact the ca and get a certificate for this user,
add this cert to the user record in the ipa database)
3. ipa group-add-member (add the user to the relevant group)

At no point does PKI need to modify anything in the IPA database.


And it never should IMHO. We need to maintain the idea that the CA is 
some black box that we can poke at from time to time to get data but I'd 
prefer to keep them discrete.




As an added bonus, we get user certs.


One discussion we've had on the side is about scalability.  As the
Databases incr

Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-03 Thread Adam Young

On 11/03/2011 12:56 AM, Simo Sorce wrote:

On Wed, 2011-11-02 at 20:25 -0400, Adam Young wrote:

On 11/02/2011 06:19 PM, Rob Crittenden wrote:

Simo Sorce wrote:

On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:

On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:

[...]

So, a user becomes an agent on the ca by having a certificate in the
user record and being a member of the relevant admin, agent or auditor
group.

I see this as follows:
1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
class)
2. ipa user-cert (contact the ca and get a certificate for this user,
add this cert to the user record in the ipa database)
3. ipa group-add-member (add the user to the relevant group)

At no point does PKI need to modify anything in the IPA database.

Sounds reasonable.
Can you post a link to the schema that would be added to IPA objects ?

Simo.


I think this is it:

http://svn.fedorahosted.org/svn/pki/trunk/pki/base/ca/shared/conf/schema.ldif

Look for cmsuser.

Unfortunately it looks like the cmsuser objectclass is of type
structural, which means it cannot be added to existing records.


The cert seems to  comes from

05rfc4523.ldif

and is added in

06inetorgperson.ldif

Which is already in our user record.

CMS only seems to "require" usertype, which is a string, and "allows"
userstate  which is an integer.

I wonder if we can convince PKI to use a different schema to reprsent
this information. We can use Roles or Groups to tell what type of user a
user is, not sure about the state as that schema file has exactly the
same comment for both usertype and userstate, seems a bug.


I think so.  I do not know if CMSuser is really needed, as it looks like 
everything in there is accounted for some other way.


My guess is the "type"  field is used to enforce that someone in one 
group,  say agents, cannot also be in a different group, say "auditors" 
but they do use groups for  most roles in the system.


I think that there are going to be severl layers for the permissions in 
the IPA approach:  For CAAdmins, we create a group CAdmins, and  add a 
Role to to CAAdminRole which contains the appropriate Permissions.  Same 
for Auditors and agents.  No one should have the ACI to change these roles.


We probably want to put in an RFE for IPA Roles  that state two roles 
are mutually exclusive.



userstate is, I think, to disable an account, which is handled using 
nsaccount lock  in IPA.  I think we should agree on a single mechanism, 
and it should be the one in the most standard schema.









IIRC the user we create in CS now has the description attribute set up
in a very specific way. Is that still required?

What is description used for ?

Simo.




___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-02 Thread Simo Sorce
On Wed, 2011-11-02 at 20:25 -0400, Adam Young wrote:
> On 11/02/2011 06:19 PM, Rob Crittenden wrote:
> > Simo Sorce wrote:
> >> On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:
> >>> On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:
> >> [...]
> >>> So, a user becomes an agent on the ca by having a certificate in the
> >>> user record and being a member of the relevant admin, agent or auditor
> >>> group.
> >>>
> >>> I see this as follows:
> >>> 1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
> >>> class)
> >>> 2. ipa user-cert (contact the ca and get a certificate for this user,
> >>> add this cert to the user record in the ipa database)
> >>> 3. ipa group-add-member (add the user to the relevant group)
> >>>
> >>> At no point does PKI need to modify anything in the IPA database.
> >>
> >> Sounds reasonable.
> >> Can you post a link to the schema that would be added to IPA objects ?
> >>
> >> Simo.
> >>
> I think this is it:
> 
> http://svn.fedorahosted.org/svn/pki/trunk/pki/base/ca/shared/conf/schema.ldif
> 
> Look for cmsuser.

Unfortunately it looks like the cmsuser objectclass is of type
structural, which means it cannot be added to existing records.

> The cert seems to  comes from
> 
> 05rfc4523.ldif
> 
> and is added in
> 
> 06inetorgperson.ldif
> 
> Which is already in our user record.
> 
> CMS only seems to "require" usertype, which is a string, and "allows" 
> userstate  which is an integer.

I wonder if we can convince PKI to use a different schema to reprsent
this information. We can use Roles or Groups to tell what type of user a
user is, not sure about the state as that schema file has exactly the
same comment for both usertype and userstate, seems a bug.

> > IIRC the user we create in CS now has the description attribute set up 
> > in a very specific way. Is that still required?

What is description used for ?

Simo.


-- 
Simo Sorce * Red Hat, Inc * New York

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-02 Thread Adam Young

On 11/02/2011 06:19 PM, Rob Crittenden wrote:

Simo Sorce wrote:

On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:

On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:

[...]

So, a user becomes an agent on the ca by having a certificate in the
user record and being a member of the relevant admin, agent or auditor
group.

I see this as follows:
1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
class)
2. ipa user-cert (contact the ca and get a certificate for this user,
add this cert to the user record in the ipa database)
3. ipa group-add-member (add the user to the relevant group)

At no point does PKI need to modify anything in the IPA database.


Sounds reasonable.
Can you post a link to the schema that would be added to IPA objects ?

Simo.


I think this is it:

http://svn.fedorahosted.org/svn/pki/trunk/pki/base/ca/shared/conf/schema.ldif

Look for cmsuser.


The cert seems to  comes from

05rfc4523.ldif

and is added in

06inetorgperson.ldif

Which is already in our user record.

CMS only seems to "require" usertype, which is a string, and "allows" 
userstate  which is an integer.




IIRC the user we create in CS now has the description attribute set up 
in a very specific way. Is that still required?


rob

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-02 Thread Rob Crittenden

Simo Sorce wrote:

On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:

On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:

[...]

So, a user becomes an agent on the ca by having a certificate in the
user record and being a member of the relevant admin, agent or auditor
group.

I see this as follows:
1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
class)
2. ipa user-cert (contact the ca and get a certificate for this user,
add this cert to the user record in the ipa database)
3. ipa group-add-member (add the user to the relevant group)

At no point does PKI need to modify anything in the IPA database.


Sounds reasonable.
Can you post a link to the schema that would be added to IPA objects ?

Simo.



IIRC the user we create in CS now has the description attribute set up 
in a very specific way. Is that still required?


rob

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-02 Thread Simo Sorce
On Wed, 2011-11-02 at 16:44 -0400, Ade Lee wrote:
> On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:
[...]
> So, a user becomes an agent on the ca by having a certificate in the
> user record and being a member of the relevant admin, agent or auditor
> group.
> 
> I see this as follows:
> 1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
> class) 
> 2. ipa user-cert (contact the ca and get a certificate for this user,
> add this cert to the user record in the ipa database)
> 3. ipa group-add-member (add the user to the relevant group)
> 
> At no point does PKI need to modify anything in the IPA database.

Sounds reasonable.
Can you post a link to the schema that would be added to IPA objects ?

Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-02 Thread Ade Lee
On Wed, 2011-11-02 at 16:03 -0400, Adam Young wrote:
> To clarify:  there are two types of Data stored in the PKI CA DS 
> instances.  One is Users and groups (IdM),  and the other is 
> certificates and requests.
> 
> The CA currently administers its own users:  creates, add deletes, add 
> privs and so forth.  If  we extract the IdM  objects from the CA 
> control, we will need to build another mechanism to manage them.
> 
> The Certificates will stay in their own suffix.  I don't think anyone 
> disagrees about this.
> 
> I'm trying to think through the steps of using the IPA user database for 
> PKI.  If I undertand the end state, the general flow will be driven from 
> ipa-server-install and will look like this:
> 
> 1.  Create a unified DS instance.  We can continue to name it the way 
> that IPA does:   All caps the hostname.
> 2.  Apply the LDAP schema LDIFs to it.  At this point, we probably want 
> to create the whole IPA schema,  and the cmsUser as well

For clarification, cmsuser is just an object that is defined in the PKI
schema, not the actual admin user created in the install itself.

It may be advantageous to actually pre-create this user when applying
schema LDIFS and just have pkisilent add the user certs.

> 3.  Call PKISilent (or equivalent) passing the info for  the Unified 
> directory server instance, to include the IPA tree for the users.
> 4.  PKISilent will create the PKI admin user,  to include its 
> certificiate in the IPA tree.  This user will be half baked from an IPA 
> perspective,  but will allow administration of the CA.

Pre-creating this user may solve this problem.  You can pre-create a
user with all the required IPA and PKI attributes and just have
pkisilent add the user cert needed.

As we will be running as directory manager in this case, we will
permissions to do this.

> 5.  Create a PKIDirectory Manager account that has complete control over 
> only the PKI  suffix, and not the IPA suffix.  Modify the PKI code to 
> use only this account.  This account should be able to authenticate 
> against the Dir Srv using a client certificate, stored in the PKI 
> specific NSS database.

This of course involves setting up the relevant ACIs.  We may want to
consider the reverse.  That only certain IPA accounts should have access
to the PKI data.

> 6.  Restart the CA.
> 7.  Continue the IPA server install from the.  Fix up the Admin user so 
> that it works for IPA.

Not needed if we pre-populate as mentioned above.

> 8.  Disable the Directory Manager's password.  From here on out,  access 
> to the Dir Srv should be either certificate or Keytab only.
> 
> 
> After IPA is up and running, the management of the User Database is done 
> by IPA.
> One thing that several people have asked for in IPA is the ability to 
> manage external Roles:  ones that don't map to ACIs.  PKI has this 
> requirement as well.  There are a couple approaches we could take:
> 
> 1.  Attempt to use the current Role mechanism in IPA.  This gets hidden 
> to an outside user,  but that should be OK.  Checking if a user is a PKI 
> Admin, Agent, or Auditor should be done only by a privileged account anyway.
> 
> 2.  Use a User Group:  PKIAdmins,  PKIAgents,  and PKIAuditors.This 
> is what I would suggest.
> 
> 3.  Create an external mechanism.
> 
> 
> Once IPA has assumed control of the IdM DB, we will still need to be 
> able to get user certificates into the  user records CMSUser field.  I 
> do not know CS well enough to say how that would work,  but I assume it 
> will be one of these two mechanisms:
> 
> 1.  Use the CA Administrative interface to modify an existing user to 
> have the certificate
> or
> 2.  Add a mechanism to IPA to request and apply the certificate to the 
> IPA User.
> 
> I'm guessing that the flow would be something like this:
> 
> 1.  Create a user  (ipa user-add)
> 2.  Assign them to the PKIAgents groups
> 3.  Call the CA Admin interface to make the user an agent.
> 
> If we do it this way, the  PKI instance will need to be able to modify 
> the IPA user record.  Alternatively:
> 
> 1.  ipa user-add
> 2.  ipa group-add-member
> 3.  ipa user-cert

So, a user becomes an agent on the ca by having a certificate in the
user record and being a member of the relevant admin, agent or auditor
group.

I see this as follows:
1. ipa cms-user-add (add a user and add the auxilliary cmsuser object
class) 
2. ipa user-cert (contact the ca and get a certificate for this user,
add this cert to the user record in the ipa database)
3. ipa group-add-member (add the user to the relevant group)

At no point does PKI need to modify anything in the IPA database.
 
> 
> As an added bonus, we get user certs.
> 
> 
> One discussion we've had on the side is about scalability.  As the 
> Databases increase in size, it might become impractical to fully 
> synchroize the user database over to a machine that is dedicated to 
> Certificate operations.  For example, we might have a public facing 
> machin

Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-02 Thread Adam Young
To clarify:  there are two types of Data stored in the PKI CA DS 
instances.  One is Users and groups (IdM),  and the other is 
certificates and requests.


The CA currently administers its own users:  creates, add deletes, add 
privs and so forth.  If  we extract the IdM  objects from the CA 
control, we will need to build another mechanism to manage them.


The Certificates will stay in their own suffix.  I don't think anyone 
disagrees about this.


I'm trying to think through the steps of using the IPA user database for 
PKI.  If I undertand the end state, the general flow will be driven from 
ipa-server-install and will look like this:


1.  Create a unified DS instance.  We can continue to name it the way 
that IPA does:   All caps the hostname.
2.  Apply the LDAP schema LDIFs to it.  At this point, we probably want 
to create the whole IPA schema,  and the cmsUser as well
3.  Call PKISilent (or equivalent) passing the info for  the Unified 
directory server instance, to include the IPA tree for the users.
4.  PKISilent will create the PKI admin user,  to include its 
certificiate in the IPA tree.  This user will be half baked from an IPA 
perspective,  but will allow administration of the CA.
5.  Create a PKIDirectory Manager account that has complete control over 
only the PKI  suffix, and not the IPA suffix.  Modify the PKI code to 
use only this account.  This account should be able to authenticate 
against the Dir Srv using a client certificate, stored in the PKI 
specific NSS database.

6.  Restart the CA.
7.  Continue the IPA server install from the.  Fix up the Admin user so 
that it works for IPA.
8.  Disable the Directory Manager's password.  From here on out,  access 
to the Dir Srv should be either certificate or Keytab only.



After IPA is up and running, the management of the User Database is done 
by IPA.
One thing that several people have asked for in IPA is the ability to 
manage external Roles:  ones that don't map to ACIs.  PKI has this 
requirement as well.  There are a couple approaches we could take:


1.  Attempt to use the current Role mechanism in IPA.  This gets hidden 
to an outside user,  but that should be OK.  Checking if a user is a PKI 
Admin, Agent, or Auditor should be done only by a privileged account anyway.


2.  Use a User Group:  PKIAdmins,  PKIAgents,  and PKIAuditors.This 
is what I would suggest.


3.  Create an external mechanism.


Once IPA has assumed control of the IdM DB, we will still need to be 
able to get user certificates into the  user records CMSUser field.  I 
do not know CS well enough to say how that would work,  but I assume it 
will be one of these two mechanisms:


1.  Use the CA Administrative interface to modify an existing user to 
have the certificate

or
2.  Add a mechanism to IPA to request and apply the certificate to the 
IPA User.


I'm guessing that the flow would be something like this:

1.  Create a user  (ipa user-add)
2.  Assign them to the PKIAgents groups
3.  Call the CA Admin interface to make the user an agent.

If we do it this way, the  PKI instance will need to be able to modify 
the IPA user record.  Alternatively:


1.  ipa user-add
2.  ipa group-add-member
3.  ipa user-cert

As an added bonus, we get user certs.


One discussion we've had on the side is about scalability.  As the 
Databases increase in size, it might become impractical to fully 
synchroize the user database over to a machine that is dedicated to 
Certificate operations.  For example, we might have a public facing 
machine in the DMZ that is servering CRLs and OCSP  to the world.  This 
machine would only need the subset of users  that can act as PKI 
admins.  In this case, we might build a custom script for replicating a 
subset of the IPA data one direction only:  from one of the fully 
replicated instance to the DMZ instance.  This is not something we 
foresee doing in a near term release, but should be discussed and 
fleshed out.


___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-02 Thread Nathan Kinder

On 11/01/2011 10:08 AM, Ade Lee wrote:

On Tue, 2011-11-01 at 12:49 -0400, Simo Sorce wrote:

On Tue, 2011-11-01 at 12:40 -0400, Richard Megginson wrote:

- Original Message -



We had a brief discussion on unifying the PKI and IPA Directory
Server instances. Here are my notes from it. Please fill out the
details and correct me if I've mis-stated anything below.


Issues:




Do IPA and PKI use different suffixes?

Currently not as we use completely separate instances, but we will be
able to use different suffixes for some stuff.


I would suggest that if we use the same database, then we use different
suffixes.  For one thing, we will want to be able to set ACIs so that
the information here is not publicly browsable.

It will also be much easier to limit the pki users ability to touch the
rest of the db, and visa versa.

It also makes it less likely that upgrade scripts will stomp on each
other.
We really should use separate suffixes/backends for the reasons above in 
addition to other benefits.  Replication is at the suffix level, so this 
adds the ability to not replicate PKI data is that is something we ever 
decide we need to do.  Indexes are also configured at the suffix/backend 
level, so we can have separate indexes defined for the PKI and IPA user 
trees.

 1.

Both make changes to Config. One identified conflict is he
configuration of the Uniqueness plugin

It may be easy to enhance this plugin and other plugins to allow different 
configuration per subtree.

If we confirm this conflict this will become a requirement before we can
proceed.
What is this conflict?  Many of our plug-ins have this ability already, 
and we should add it where it is missing.  The RHDS documentation shows 
that the attribute uniqueness plug-in can be configured by subtree already.

 2.

PKI uses Directory Manager. This is insecure. Can it use a differen,
limited admin?

Or use ldapi?  I don't think ldapjdk can use ldapi.

It's a matter of trust for me. I do not want to trust PKI to have free
reign on all data. I want it to be confined to only what it needs.

So we can use ldapi and user mapping, but we wouldn't map the user to DM
anyway.
Agreed.  If the roles were reversed, we would not want IPA to be able to 
have free reign on the PKI data.  It makes sense to have separate admin 
roles and only use DM where absolutely necessary.

 3.

Index strategies are different

Use a union?  e.g. if ipa needs attribute "a" indexed for equality only, but 
PKI needs it indexed for presence and substring only, then we can just index it for eq, 
sub, and pres.
If we use separate suffixes/backends, we can configure the indexes 
differently.

The problem here is finding out and how to make sure pki vs ds/ipa
install and upgrade scripts do not stomp on each other.

 4.

make sure we have a union of the required sets of plugins
 5.

PKI needs to set D.S. Default Name context

What is this?

See my other mail, we need DS to support setting defaultNamingContext in
rootdse.
Is there a RFE opened against 389 for this already?  It should be pretty 
easy to add the ability to configure a default naming context to be 
displayed in the rootDSE.

 6.

If PKI uses the IPA datastore for users, it needs to creat the user
with all the right prerequisites (object class, defaults)

If both PKI and IPA use structural objectclasses, we may have to create 
corresponding auxiliary objectclasses so that you can mix-in both sets of 
objectclasses while having only one structural objectclass per entry.

The problem here is much bigger, PKI simply do not have enough
information to create a proper IPA user, so it should not be allowed to.
This is an example of why I want to tightly control through ACIs what
PKI can do and prevent it from causing "issues".


If we do this integration, then I'm OK with IPA creating the users.


Simo.



___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-01 Thread Ade Lee
On Tue, 2011-11-01 at 12:49 -0400, Simo Sorce wrote:
> On Tue, 2011-11-01 at 12:40 -0400, Richard Megginson wrote:
> > - Original Message -
> > > 
> > > 
> > > 
> > > We had a brief discussion on unifying the PKI and IPA Directory
> > > Server instances. Here are my notes from it. Please fill out the
> > > details and correct me if I've mis-stated anything below.
> > > 
> > > 
> > > Issues:
> > > 
> > > 
> > > 
> > 
> > Do IPA and PKI use different suffixes?
> 
> Currently not as we use completely separate instances, but we will be
> able to use different suffixes for some stuff.
> 
I would suggest that if we use the same database, then we use different
suffixes.  For one thing, we will want to be able to set ACIs so that
the information here is not publicly browsable.

It will also be much easier to limit the pki users ability to touch the
rest of the db, and visa versa.

It also makes it less likely that upgrade scripts will stomp on each
other.
> > > 
> > > 1.
> > > 
> > > Both make changes to Config. One identified conflict is he
> > > configuration of the Uniqueness plugin
> > 
> > It may be easy to enhance this plugin and other plugins to allow different 
> > configuration per subtree.
> 
> If we confirm this conflict this will become a requirement before we can
> proceed.
> 
> > > 2.
> > > 
> > > PKI uses Directory Manager. This is insecure. Can it use a differen,
> > > limited admin?
> > 
> > Or use ldapi?  I don't think ldapjdk can use ldapi.
> 
> It's a matter of trust for me. I do not want to trust PKI to have free
> reign on all data. I want it to be confined to only what it needs.
> 
> So we can use ldapi and user mapping, but we wouldn't map the user to DM
> anyway.
> 
> > > 3.
> > > 
> > > Index strategies are different
> > 
> > Use a union?  e.g. if ipa needs attribute "a" indexed for equality only, 
> > but PKI needs it indexed for presence and substring only, then we can just 
> > index it for eq, sub, and pres.
> 
> The problem here is finding out and how to make sure pki vs ds/ipa
> install and upgrade scripts do not stomp on each other.

> > > 4.
> > > 
> > > make sure we have a union of the required sets of plugins
> > > 5.
> > > 
> > > PKI needs to set D.S. Default Name context
> > 
> > What is this?
> 
> See my other mail, we need DS to support setting defaultNamingContext in
> rootdse.
> 
> > > 6.
> > > 
> > > If PKI uses the IPA datastore for users, it needs to creat the user
> > > with all the right prerequisites (object class, defaults)
> > 
> > If both PKI and IPA use structural objectclasses, we may have to create 
> > corresponding auxiliary objectclasses so that you can mix-in both sets of 
> > objectclasses while having only one structural objectclass per entry.
> 
> The problem here is much bigger, PKI simply do not have enough
> information to create a proper IPA user, so it should not be allowed to.
> This is an example of why I want to tightly control through ACIs what
> PKI can do and prevent it from causing "issues".
> 
If we do this integration, then I'm OK with IPA creating the users.

> 
> Simo.
> 


___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-01 Thread Simo Sorce
On Tue, 2011-11-01 at 12:40 -0400, Richard Megginson wrote:
> - Original Message -
> > 
> > 
> > 
> > We had a brief discussion on unifying the PKI and IPA Directory
> > Server instances. Here are my notes from it. Please fill out the
> > details and correct me if I've mis-stated anything below.
> > 
> > 
> > Issues:
> > 
> > 
> > 
> 
> Do IPA and PKI use different suffixes?

Currently not as we use completely separate instances, but we will be
able to use different suffixes for some stuff.

> > 
> > 1.
> > 
> > Both make changes to Config. One identified conflict is he
> > configuration of the Uniqueness plugin
> 
> It may be easy to enhance this plugin and other plugins to allow different 
> configuration per subtree.

If we confirm this conflict this will become a requirement before we can
proceed.

> > 2.
> > 
> > PKI uses Directory Manager. This is insecure. Can it use a differen,
> > limited admin?
> 
> Or use ldapi?  I don't think ldapjdk can use ldapi.

It's a matter of trust for me. I do not want to trust PKI to have free
reign on all data. I want it to be confined to only what it needs.

So we can use ldapi and user mapping, but we wouldn't map the user to DM
anyway.

> > 3.
> > 
> > Index strategies are different
> 
> Use a union?  e.g. if ipa needs attribute "a" indexed for equality only, but 
> PKI needs it indexed for presence and substring only, then we can just index 
> it for eq, sub, and pres.

The problem here is finding out and how to make sure pki vs ds/ipa
install and upgrade scripts do not stomp on each other.

> > 4.
> > 
> > make sure we have a union of the required sets of plugins
> > 5.
> > 
> > PKI needs to set D.S. Default Name context
> 
> What is this?

See my other mail, we need DS to support setting defaultNamingContext in
rootdse.

> > 6.
> > 
> > If PKI uses the IPA datastore for users, it needs to creat the user
> > with all the right prerequisites (object class, defaults)
> 
> If both PKI and IPA use structural objectclasses, we may have to create 
> corresponding auxiliary objectclasses so that you can mix-in both sets of 
> objectclasses while having only one structural objectclass per entry.

The problem here is much bigger, PKI simply do not have enough
information to create a proper IPA user, so it should not be allowed to.
This is an example of why I want to tightly control through ACIs what
PKI can do and prevent it from causing "issues".


Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel


Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-01 Thread Simo Sorce
On Tue, 2011-11-01 at 12:12 -0400, Adam Young wrote:
> We had a brief discussion on unifying the PKI and IPA Directory Server
> instances.  Here are my notes from it.  Please fill out the details
> and correct me if I've mis-stated anything below.
> 
> 
> Issues:
> 
> 
> 1. Both make changes to Config. One identified conflict is he
> configuration of the Uniqueness plugin
> 
> 2. PKI uses Directory Manager. This is insecure. Can it use a
> differen, limited admin?

Not only insecure but we do not want necessarily trust PKI to touch
stuff that is IPA specific.
> 
> 3. Index strategies are different
> 
> 4. make sure we have a union of the required sets of plugins
> 
> 5. PKI needs to set D.S. Default Name context

This is a DS/IPA feature, not a PKI feature. In an IPA install we will
need to be able to tell DS that the IPA namingContext is the default
one.

> 6. If PKI uses the IPA datastore for users, it needs to creat
> the user with all the right prerequisites (object class,
> defaults)

No it should never be allowed to create users, it should just use
existing users I think.

> 7. PKI puts users in groups using “member of” so that should
> still work for the IPA tree

PKI is currently using groupOfUniqueUsers and uniqueMember. We will need
it to use groupOfNames (as modified in 389DS to not require members) and
use member (which will automatically create memberof attributes).


Simo.

-- 
Simo Sorce * Red Hat, Inc * New York

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-01 Thread Richard Megginson
- Original Message -
> 
> 
> 
> We had a brief discussion on unifying the PKI and IPA Directory
> Server instances. Here are my notes from it. Please fill out the
> details and correct me if I've mis-stated anything below.
> 
> 
> Issues:
> 
> 
> 

Do IPA and PKI use different suffixes?

> 
> 1.
> 
> Both make changes to Config. One identified conflict is he
> configuration of the Uniqueness plugin

It may be easy to enhance this plugin and other plugins to allow different 
configuration per subtree.

> 2.
> 
> PKI uses Directory Manager. This is insecure. Can it use a differen,
> limited admin?

Or use ldapi?  I don't think ldapjdk can use ldapi.

> 3.
> 
> Index strategies are different

Use a union?  e.g. if ipa needs attribute "a" indexed for equality only, but 
PKI needs it indexed for presence and substring only, then we can just index it 
for eq, sub, and pres.

> 4.
> 
> make sure we have a union of the required sets of plugins
> 5.
> 
> PKI needs to set D.S. Default Name context

What is this?

> 6.
> 
> If PKI uses the IPA datastore for users, it needs to creat the user
> with all the right prerequisites (object class, defaults)

If both PKI and IPA use structural objectclasses, we may have to create 
corresponding auxiliary objectclasses so that you can mix-in both sets of 
objectclasses while having only one structural objectclass per entry.

> 7.
> 
> PKI puts users in groups using “member of” so that should still work
> for the IPA tree
> 
> 
> 
> ___
> Freeipa-devel mailing list
> Freeipa-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/freeipa-devel

___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Re: [Freeipa-devel] Unifying the PKI and IPA Directory Server instances

2011-11-01 Thread Adam Young

On 11/01/2011 12:12 PM, Adam Young wrote:


We had a brief discussion on unifying the PKI and IPA Directory Server 
instances.  Here are my notes from it.  Please fill out the details 
and correct me if I've mis-stated anything below.


Issues:


1.

Both make changes to Config. One identified conflict is he
configuration of the Uniqueness plugin

2.

PKI uses Directory Manager. This is insecure. Can it use a
differen, limited admin?

3.

Index strategies are different

4.

make sure we have a union of the required sets of plugins

5.

PKI needs to set D.S. Default Name context

6.

If PKI uses the IPA datastore for users, it needs to creat the
user with all the right prerequisites (object class, defaults)

7.

PKI puts users in groups using "member of" so that should still
work for the IPA tree



___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

One additional point:

8. make sure that Certificate Server and IPA upgrade mechanisms  for 
DirSrv  don't conflict
___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel