|
...
|
...
|
@@ -12,14 +12,14 @@ Introduction
|
|
12
|
12
|
LDAP support in keystone is read-only. You can use it to back an entire
|
|
13
|
13
|
OpenStack deployment to a single LDAP server, or you can use it to back
|
|
14
|
14
|
separate LDAP servers to specific keystone domains. Users within those domains
|
|
15
|
|
-will can authenticate against keystone, assume role assignments, and interact
|
|
16
|
|
-with other OpenStack services.
|
|
|
15
|
+can authenticate against keystone, assume role assignments, and interact with
|
|
|
16
|
+other OpenStack services.
|
|
17
|
17
|
|
|
18
|
18
|
Configuration
|
|
19
|
19
|
=============
|
|
20
|
20
|
|
|
21
|
21
|
To deploy an OpenLDAP server, make sure ``ldap`` is added to the list of
|
|
22
|
|
-``ENABLED_SERVICES``::
|
|
|
22
|
+``ENABLED_SERVICES`` in the ``local.conf`` file::
|
|
23
|
23
|
|
|
24
|
24
|
enable_service ldap
|
|
25
|
25
|
|
|
...
|
...
|
@@ -35,9 +35,9 @@ Devstack will prompt you for a password when running ``stack.sh`` if
|
|
35
|
35
|
|
|
36
|
36
|
At this point, devstack should have everything it needs to deploy OpenLDAP,
|
|
37
|
37
|
bootstrap it with a minimal set of users, and configure it to back to a domain
|
|
38
|
|
-in keystone::
|
|
|
38
|
+in keystone. You can do this by running the ``stack.sh`` script::
|
|
39
|
39
|
|
|
40
|
|
- ./stack.sh
|
|
|
40
|
+ $ ./stack.sh
|
|
41
|
41
|
|
|
42
|
42
|
Once ``stack.sh`` completes, you should have a running keystone deployment with
|
|
43
|
43
|
a basic set of users. It is important to note that not all users will live
|
|
...
|
...
|
@@ -63,7 +63,7 @@ Listing Users
|
|
63
|
63
|
To list all users in LDAP directly, you can use ``ldapsearch`` with the LDAP
|
|
64
|
64
|
user bootstrapped by devstack::
|
|
65
|
65
|
|
|
66
|
|
- ldapsearch -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
|
66
|
+ $ ldapsearch -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
67
|
67
|
-H ldap://localhost -b dc=openstack,dc=org
|
|
68
|
68
|
|
|
69
|
69
|
As you can see, devstack creates an OpenStack domain called ``openstack.org``
|
|
...
|
...
|
@@ -93,7 +93,7 @@ example LDIF that can be used to create a new LDAP user, let's call it
|
|
93
|
93
|
|
|
94
|
94
|
Now, we use the ``Manager`` user to create a user for Peter in LDAP::
|
|
95
|
95
|
|
|
96
|
|
- ldapadd -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
|
96
|
+ $ ldapadd -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
97
|
97
|
-H ldap://localhost -c -f peter.ldif.in
|
|
98
|
98
|
|
|
99
|
99
|
We should be able to assign Peter roles on projects. After Peter has some level
|
|
...
|
...
|
@@ -125,7 +125,7 @@ Deleting Users
|
|
125
|
125
|
We can use the same basic steps to remove users from LDAP, but instead of using
|
|
126
|
126
|
LDIFs, we can just pass the ``dn`` of the user we want to delete::
|
|
127
|
127
|
|
|
128
|
|
- ldapdelete -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
|
128
|
+ $ ldapdelete -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
129
|
129
|
-H ldap://localhost cn=peter,ou=Users,dc=openstack,dc=org
|
|
130
|
130
|
|
|
131
|
131
|
Group Management
|
|
...
|
...
|
@@ -153,7 +153,7 @@ Let's define a specific group with the following LDIF::
|
|
153
|
153
|
We can create the group using the same ``ldapadd`` command as we did with
|
|
154
|
154
|
users::
|
|
155
|
155
|
|
|
156
|
|
- ldapadd -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
|
156
|
+ $ ldapadd -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
157
|
157
|
-H ldap://localhost -c -f guardian-group.ldif.in
|
|
158
|
158
|
|
|
159
|
159
|
If we check the group membership in Horizon, we'll see that only Peter is a
|
|
...
|
...
|
@@ -167,7 +167,7 @@ Deleting Groups
|
|
167
|
167
|
|
|
168
|
168
|
Just like users, groups can be deleted using the ``dn``::
|
|
169
|
169
|
|
|
170
|
|
- ldapdelete -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
|
170
|
+ $ ldapdelete -x -w LDAP_PASSWORD -D cn=Manager,dc=openstack,dc=org \
|
|
171
|
171
|
-H ldap://localhost cn=guardians,ou=UserGroups,dc=openstack,dc=org
|
|
172
|
172
|
|
|
173
|
173
|
Note that this operation will not remove users within that group. It will only
|