summaryrefslogtreecommitdiffstats
path: root/xyz/openbmc_project/User/PrivilegeMapper.interface.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'xyz/openbmc_project/User/PrivilegeMapper.interface.yaml')
-rw-r--r--xyz/openbmc_project/User/PrivilegeMapper.interface.yaml46
1 files changed, 46 insertions, 0 deletions
diff --git a/xyz/openbmc_project/User/PrivilegeMapper.interface.yaml b/xyz/openbmc_project/User/PrivilegeMapper.interface.yaml
new file mode 100644
index 0000000..aac9fc0
--- /dev/null
+++ b/xyz/openbmc_project/User/PrivilegeMapper.interface.yaml
@@ -0,0 +1,46 @@
+description: >
+ Implement this interface to set the privilege of the user based on the
+ group name. The users in the group will inherit the privilege mapping of
+ the group. The Create method on success creates the object which implements
+ xyz.openbmc_project.User.PrivilegeMapperEntry. For example in the case of
+ LDAP, the object path will be
+ /xyz/openbmc_project/user/ldap/privilege_mapper/<id>. The <id> will be
+ a unique number generated by the application. If the privilege mapping
+ already exists then it throws the exception
+ xyz.openbmc_project.User.Common.Error.PrivilegeMappingExists. To modify the
+ privilege for a mapping which already exists, the Privilege property in the
+ xyz.openbmc_project.User.PrivilegeMapperEntry interface needs to be set.
+ Any application consuming the privilege mapping should not cache the object
+ path and use the GetManagedObjects method on the
+ org.freedesktop.DBus.ObjectManager interface to figure out the D-Bus object
+ path associated with the group name.
+
+methods:
+ - name: Create
+ description: >
+ Creates a mapping for the group to the privilege.
+ parameters:
+ - name: GroupName
+ type: string
+ description: >
+ Group Name to which the privilege is to be assigned. In the case
+ of LDAP, the GroupName will be the LDAP group the user is part of.
+ - name: Privilege
+ type: string
+ description: >
+ The privilege associated with the group. The set of available
+ privileges are xyz.openbmc_project.User.Manager.AllPrivileges.
+ xyz.openbmc_project.Common.Error.InvalidArgument exception will
+ be thrown if the privilege is invalid. Additional documentation
+ on privilege is available here.
+ https://github.com/openbmc/docs/blob/master/user_management.md
+ returns:
+ - name: Path
+ type: path
+ description: >
+ The path for the created privilege mapping object.
+
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - xyz.openbmc_project.Common.Error.InvalidArgument
+ - xyz.openbmc_project.User.Common.Error.PrivilegeMappingExists \ No newline at end of file
OpenPOWER on IntegriCloud