Realm_Domains#
__NOTOC__
Overview#
Related tickets: #2945, #2848, #3407
We want to allow administrators to maintain a list of domains associated
with IPA Kerberos realm. This list will be stored in LDAP, under
cn=RealmDomains,cn=ipa,cn=etc,$SUFFIX
.
We need to expose an interface to display and modify this list via IPA commands:
realmdomains-show
realmdomains-mod
Use Cases#
IPA administrator can display/modify the list of domains associated with IPA realm
ipa dnszone-add
command can be hooked torealmdomains-mod
, to automatically add domain to the list of domains associated with IPA realm if this is not a reverse domain and not a pure forwarderTrust code can use this list to expose to trusted parties
Design#
Update LDAP schema to add the RealmDomains
container. The default value for associatedDomain
attribute will
be the DNS domain of the IPA server:
dn: cn=Realm Domains,cn=ipa,cn=etc,$SUFFIX
default:objectClass: domainRelatedObject
default:objectClass: nsContainer
default:objectClass: top
default:cn: Realm Domains
default:associatedDomain: $DOMAIN
Add two new IPA commands:
realmdomains-show
, to display the current list of realm domainsrealmdomains-mod
, to modify the list
Feature Managment#
UI
A new page needs to be added to UI. This page will be able to handle all mentioned operations with realm domains: display the current list, add a new domain, remove an existing domain. The new page will be added under ‘Identity’ section.
CLI
realmdomains-show#
realmdomains-show
will display the current list of realm
domains, stored in
cn=RealmDomains,cn=ipa,cn=etc,$SUFFIX
.
realmdomains-mod#
realmdomains-mod
will modify the list of realm domains.
Modifications can be performed in several ways:
To replace the list of realm domains with a new list (or a single value):
realmdomains-mod –domain=ourdomain.com realmdomains-mod –domain={ourdomain.com,domain2.com,domain3.com}
To add a domain to the list:
realmdomains-mod--add-domain=newdomain.com
To delete a domain from the list:
realmdomains-mod--del-domain=olddomain.com
It will be possible to use either the --domain
option, or a
combination of --add-domain
and --del-domain
.
The following checks will be performed:
Check that we are not deleting the DNS domain of the IPA server from the list
Check that domain is a valid DNS domain name
Check that domain is accessible through DNS (provide –force option to skip this check)
Questions#
dnszone-*#
Should
dnszone-del
deleteassociatedDomain
when whole DNS zone is being deleted?Should
dnszone-add
offer an option to createassociatedDomain
attribute for the new zone?
pspacek 03:26, 7 February 2013 (EST)
Update regarding DNS integration: DNS <-> realmdomains integration has been implemented. Details are covered in this design page.
akrivoka 05:05, 7 May 2013 (EDT)
Major configuration options and enablement#
N/A
Replication#
N/A
Updates and Upgrades#
Container cn=RealmDomains,cn=ipa,cn=etc,$SUFFIX
needs to be created in LDAP. This will be achieved by adding a new
update file install/updates/40-realm_domains.update
, with the
following contents:
# Add the Realm Domains container
dn: cn=Realm Domains,cn=ipa,cn=etc,$SUFFIX
default:objectClass: domainRelatedObject
default:objectClass: nsContainer
default:objectClass: top
default:cn: Realm Domains
default:associatedDomain: $DOMAIN
and referencing this file in install/updates/Makefile.am
.
A reference to this container will also be added to the
DEFAULT_CONFIG
variable in ipalib/constants.py
Dependencies#
N/A
External Impact#
N/A