summaryrefslogtreecommitdiff
path: root/qpid/doc/book/src/java-broker/Java-Broker-Security-Group-Providers.xml
blob: 34ea443ef7d4cb1fcc57aa6a2f279d358c04dd2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?xml version="1.0" encoding="utf-8"?>

<!--

 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.

-->

<section id="Java-Broker-Security-Group-Providers">
  <title>Group Providers</title>
  <para>
    The Java broker utilises GroupProviders to allow assigning users to groups for use in <link linkend="Java-Broker-Security-ACLs">ACLs</link>.
    Following authentication by a given <link linkend="Java-Broker-Security-Authentication-Providers">Authentication Provider</link>,
    the configured Group Providers are consulted allowing the assignment of GroupPrincipals for a given authenticated user. Any number of
    Group Providers can be added into the Broker. All of them will be checked for the presence of the groups for a given authenticated user.
  </para>
  <para>The <emphasis>Group Provider</emphasis> can be configured using <link linkend="Java-Broker-Configuring-And-Managing-REST-API">
  REST Management interfaces</link> and <link linkend="Java-Broker-Configuring-And-Managing-Web-Console">Web Management Console</link>.</para>
  <para>The following <emphasis>Group Provider</emphasis> managing operations are available from Web Management Console:
    <itemizedlist>
        <listitem><para>A new Group Provider can be added by clicking onto "Add Group Provider" button on a Broker tab.</para></listitem>
        <listitem><para>An existing providers can be removed by pressing "Delete Group Provider" button
         on Broker tab or Group Provider tab.</para></listitem>
        <listitem><para>On clicking onto provider name in the Group Providers grid or Broker object tree,
         the tab for the Group Provider is displayed.</para></listitem>
        <listitem><para>A new group can be added into the Group Provider by clicking onto "Add Group" button on provider tab.</para></listitem>
        <listitem><para>An existing group can be deleted from the Group Provider by clicking onto "Delete Group" button on provider tab.</para></listitem>
        <listitem><para>On clicking onto group name in the groups grid, the tab with the list of existing
        group members is displayed for the Group.</para></listitem>
        <listitem><para>From the Group tab a new member can be added into a group or existing members can be deleted
        from a group by clicking on "Add Group Member" or "Remove Group Members" accordingly.</para></listitem>
     </itemizedlist>
   </para>

  <section role="h3" id="File-Group-Manager">
    <title>GroupFile Provider</title>
    <para>
      The <emphasis>GroupFile</emphasis> Provider allows specifying group membership in a flat file on disk.
      On adding a new GroupFile Provider the path to the groups file is required to be specified.
      If file does not exist an empty file is created automatically. On deletion of GroupFile Provider
      the groups file is deleted as well. Only one instance of "GroupFile" Provider per groups file location can be created.
      On attempt to create another GroupFile Provider pointing to the same location the error will be displayed and
      the creation will be aborted.
    </para>

    <section role="h4" id="File-Group-Manager-FileFormat">
       <title>File Format</title>
      <para>
            The groups file has the following format:
          </para>
            <programlisting>
    # &lt;GroupName&gt;.users = &lt;comma deliminated user list&gt;
    # For example:

    administrators.users = admin,manager
</programlisting>
          <para>
            Only users can be added to a group currently, not other groups. Usernames can't contain commas.
          </para><para>
            Lines starting with a '#' are treated as comments when opening the file, but these are not preserved when the broker updates the file due to changes made through the management interface.
          </para>
     </section>
  </section>
</section>