Multi-tenancy in MIT KDC

Jeremy Hunt jeremyh at optimation.com.au
Sun May 31 12:58:50 EDT 2015



A kerberos 'realm' is a logical network. by convention it is set up to 
be the same as the DNS domain, but its name is set up as uppercase 
e.g.:

DNS domain: a.b.c
Kerberos realm: A.B.C

hostname fqdn: client1.a.b.c.d
Kerberos name: CLIENT1.A.B.C

If you wanted to break up the domain into subsets, then you could have 
an extra branch in the DNS domain. Let's say you wanted a Geographic 
breakup, then with this scheme and the same base domain you could add 
a location branch something like:

DNS domain: a.b.c
Kerberos realm A.B.C

DNS sub-domain location1.a.b.c
Kerberos sub-realm LOCATION1.A.B.C

hostname fqdn: client2.location1.a.b.c
Kerberos name: CLIENT2.LOCATION1.A.B.C

If you wanted to have some other association, and subsubdomains you 
could set up their DNS and kerberos like this:


DNS domain: a.b.c
Kerberos realm A.B.C

DNS sub-domain tenant1.a.b.c            (using your 'higher' 'tenant' 
concept)
Kerberos sub-realm TENANT1.A.B.C

Then locations of tenants are subdomains of the tenants:
DNS sub-sub-domain location2.tenant1.a.b.c            (using your 
'higher' 'tenant' concept)
Kerberos sub-sub-realm LOCATION2.TENANT1.A.B.C

hostname fqdn: client3.location2.tenant1.a.b.c
Kerberos name: CLIENT3.LOCATION2.TENANT1.A.B.C

If you want to set up some other logical network hierarchy you can. 
The choice is yours.

To answer your specific question, if you don't want to use DNS like 
names I think it is technically possible, this way of naming realms is 
only a convention. But why would you do this? The domain concept is 
pretty easy to implement and fits in with the way networks in TCP/IP 
are partitioned. It has the added bonus that basic things like routing 
and network filtering follow logically.

Or are you talking about linking networks and systems that are not 
related in any way except your tenancy concept ? If these networks and 
hosts are administered by different network administrators then you 
may find yourself falling foul of things like routing and network 
filtering. That is your clients and servers may not be able to use the 
kerberos protocol because the kerberos packets they depend on are not 
able to get through.

What I am saying is that  the network planning has to encapsulate you 
tenancy concept in the first place, or be made to encapsulate it. 
Which is going beyond a kerberos question.

And Kerberos doesn't support network partitioning, you plan the TCP/IP 
networks and how they are partitioned. Then you use Kerberos within 
that network, it has to be able to be used in the network.
> --- Original message ---
> Subject: RE: Multi-tenancy in MIT KDC
> From: Firouzeh Jalilian <fjalilian at vmware.com>
> To: Tim Mooney <Tim.Mooney at ndsu.edu>, kerberos at mit.edu 
> <kerberos at mit.edu>
> Date: Saturday, 30/05/2015 11:12 AM
>
> What is the definition of "realm" in MIT KDC?  Is it just different 
> domains?
>
> By definition of "tenant" I am referring to a categorization above the 
> "domains".  For example a tenant could have multiple domains, and when 
> a a user logs in there has to be an indicator of the "tenant" it 
> belongs to besides its the domain. As the domain may not be sufficient 
> to find the tenant the user belongs to.
>
> Is that something that is supported?
>
> Firouzeh
> ________________________________________
> From: kerberos-bounces at mit.edu <kerberos-bounces at mit.edu> on behalf of 
> Tim Mooney <Tim.Mooney at ndsu.edu>
> Sent: Friday, May 29, 2015 4:00 PM
> To: kerberos at mit.edu
> Subject: Re: Multi-tenancy in MIT KDC
>
> In regard to: Multi-tenancy in MIT KDC, Firouzeh Jalilian said (at 
> 10:24pm...:
>
>>
>> I would like to know if there is any support currently for 
>> multi-tenancy
>> in MIT KDC?
>
> What do you mean by multi-tenancy?  Do you mean one krb5kdc process
> serving multiple distinct realms?  If so, then yes, that's possible.
> We've served 11 different realms from one krb5kdc process.
>
> You have to run separate kadmind processes, each on a separate port,
> because those can't serve multiple realms.  On your secondary kdcs,
> you also need to run a separate kpropd per realm, each on its own
> port.
>
> We've done it for years and it works, but if we were starting over,
> these days I'm not certain I would choose the same path.  Depending on
> your realms, it might be better to use separate VMs or containers,
> depending on what you're comfortable with.
>
> Tim
> --
> Tim Mooney                                             
> Tim.Mooney at ndsu.edu
> Enterprise Computing & Infrastructure                  701-231-1076 
> (Voice)
> Room 242-J6, Quentin Burdick Building                  701-231-8541 
> (Fax)
> North Dakota State University, Fargo, ND 58105-5164
> ________________________________________________
> Kerberos mailing list           Kerberos at mit.edu
> https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman.mit.edu_mailman_listinfo_kerberos&d=BQICAg&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=0wthfOXikoIWE5NfoxCN7_R8HXNMORzBYVlqWqEvHTA&m=cF...
>
> ________________________________________________
> Kerberos mailing list           Kerberos at mit.edu
> https://mailman.mit.edu/mailman/listinfo/kerberos



More information about the Kerberos mailing list