blob: ce87dec7a7d0d0e8cfb7d6934d478077d6d9979d [file] [log] [blame]
Tom Josephbf21cfa2018-08-20 19:13:39 +05301description: >
Patrick Williamsa1347412022-12-06 10:56:22 -06002 Implement this interface to set the privilege of the user based on the group
3 name. The users in the group will inherit the privilege mapping of the
4 group. The Create method on success creates the object which implements
Tom Josephbf21cfa2018-08-20 19:13:39 +05305 xyz.openbmc_project.User.PrivilegeMapperEntry. For example in the case of
Tom Josepha5848932018-09-30 16:00:54 +05306 LDAP, the object path will be
Patrick Williamsa1347412022-12-06 10:56:22 -06007 /xyz/openbmc_project/user/ldap/privilege_mapper/<id>. The <id> will be a
8 unique number generated by the application. If the privilege mapping already
9 exists then it throws the exception
Tom Josephbf21cfa2018-08-20 19:13:39 +053010 xyz.openbmc_project.User.Common.Error.PrivilegeMappingExists. To modify the
11 privilege for a mapping which already exists, the Privilege property in the
Patrick Williamsa1347412022-12-06 10:56:22 -060012 xyz.openbmc_project.User.PrivilegeMapperEntry interface needs to be set. Any
13 application consuming the privilege mapping should not cache the object path
14 and use the GetManagedObjects method on the
Tom Josepha5848932018-09-30 16:00:54 +053015 org.freedesktop.DBus.ObjectManager interface to figure out the D-Bus object
16 path associated with the group name.
Tom Josephbf21cfa2018-08-20 19:13:39 +053017
18methods:
19 - name: Create
20 description: >
21 Creates a mapping for the group to the privilege.
22 parameters:
Patrick Williams8da396c2022-03-14 14:21:02 -050023 - name: GroupName
24 type: string
25 description: >
26 Group Name to which the privilege is to be assigned. In the case
Patrick Williamsa1347412022-12-06 10:56:22 -060027 of LDAP, the GroupName will be the LDAP group the user is part
28 of.
Patrick Williams8da396c2022-03-14 14:21:02 -050029 - name: Privilege
30 type: string
31 description: >
32 The privilege associated with the group. The set of available
33 privileges are xyz.openbmc_project.User.Manager.AllPrivileges.
34 xyz.openbmc_project.Common.Error.InvalidArgument exception will
35 be thrown if the privilege is invalid. Additional documentation
36 on privilege is available here.
37 https://github.com/openbmc/docs/blob/master/architecture/user-management.md
Tom Josephbf21cfa2018-08-20 19:13:39 +053038 returns:
Patrick Williams8da396c2022-03-14 14:21:02 -050039 - name: Path
Patrick Williamsb78a0702022-10-24 12:32:56 -050040 type: object_path
Patrick Williams8da396c2022-03-14 14:21:02 -050041 description: >
42 The path for the created privilege mapping object.
Tom Josephbf21cfa2018-08-20 19:13:39 +053043
44 errors:
45 - xyz.openbmc_project.Common.Error.InternalFailure
46 - xyz.openbmc_project.Common.Error.InvalidArgument
Gunnar Mills3f86d122019-10-17 12:16:58 -050047 - xyz.openbmc_project.User.Common.Error.PrivilegeMappingExists