// Copyright (c) 2010 DMTF. All rights reserved. [Version ( "2.26.0" ), UMLPackagePath ( "CIM::User::Role" ), Description ( "The CIM_RoleBasedAuthorizationService class represents the " "authorization service that manages and configures roles on a " "managed system. The CIM_RoleBasedAuthorizationService is " "responsible for creating, and deleting CIM_Role instances. " "Privileges of the roles are represented through the " "instance(s) of CIM_Privilege class associated to CIM_Role " "instances through the CIM_MemberOfCollection association. As a " "result of creating, and deleting CIM_Role instances the " "CIM_Privilege instances can also be affected. The limiting " "scope of the role is determined by the CIM_RoleLimitedToTarget " "association." )] class CIM_RoleBasedAuthorizationService : CIM_PrivilegeManagementService { [Description ( "AssignRoles() removes a security principal from any " "Roles to which it currently belongs and assigns it to " "the Roles identified by the Roles[] parameter. Upon " "successful completion of the method, the instance of " "CIM_Identity identified by the Identity parameter shall " "be associated to each Role referenced by the Roles " "parameter through the CIM_MemberOfCollection association " "and shall not be associated to an instance of CIM_Role " "unless a reference to it is contained in the Roles " "parameter." ), ValueMap { "0", "1", "2", "..", "32000..65535" }, Values { "Success", "Not Supported", "Failed", "Method Reserved", "Vendor Specific" }] uint32 AssignRoles( [Required, IN, Description ( "The Identity instance representing the security " "principal whose role membership is being modified." )] CIM_Identity REF Identity, [Required, IN, Description ( "The set of Roles to which the Identity will be " "associated through CIM_MemberOfCollection. If the " "Roles parameter is an empty array, then the " "successful execution of the method will unassign " "all the roles from the identity represented by the " "Identity parameter." )] CIM_Role REF Roles[]); [Description ( "ModifyRole method modifies the privileges and the scope " "of the specified instance of the targeted CIM_Role " "instance. The call may result in the creation, deletion, " "or modification of CIM_Privilege instances. The call may " "result in the creation and deletion of " "CIM_RoleLimitedTarget association instances." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "32000..65535" }, Values { "Success", "Not Supported", "Unknown", "Timeout", "Failed", "Invalid Parameter", "Inappropriate Privilege", "DMTF Reserved", "Vendor Specific" }] uint32 ModifyRole( [IN, Description ( "Privileges parameter represents the desired " "privileges for the targeted role. When this " "parameter is non-null, upon successful completion " "of the method, the instances of CIM_Privilege " "associated with the targeted CIM_Role instance " "shall convey equivalent privileges as those " "indicated by the specified embedded CIM_Privilege " "instances. The Privilege parameter is an array of " "elements of CIM_Privilege, encoded as a string " "valued embedded instance parameter. The embedded " "instances allow the client to convey the " "privileges desired for the targeted CIM_Role " "instance. The method may result in the creation, " "deletion, or modification of the CIM_Privilege " "instances. The rights indicated by a CIM_Privilege " "may be revoked by passing the embedded instance of " "CIM_Privilege with PrivilegeGranted property set " "to \"FALSE.\". When the parameter is null, the " "privileges for the CIM_Role shall not be modified." ), EmbeddedInstance ( "CIM_Privilege" )] string Privileges[], [IN, Description ( "RoleLimitedToTargets parameter references all of " "the CIM_ManagedElement instances to which the role " "shall be limited. When this parameter is non-null, " "upon successful completion of the method, the " "targeted CIM_Role instanceshall be associated " "through the CIM_RoleLimitedToTarget association " "with only the specified instances of " "CIM_ManagedElement. This may result in the " "creation and deletion of instances of " "CIM_RoleLimitedToTarget. When this parameter is " "null, the set of instances of " "CIM_RoleLimitedToTarget that reference the " "targeted CIM_Role instance shall not be modified." )] CIM_ManagedElement REF RoleLimitedToTargets[], [Required, IN, Description ( "Role parameter is the reference to the targeted " "CIM_Role instance for which the privileges will be " "modified." )] CIM_Role REF Role); [Description ( "ShowRoles reports the Privileges (i.e., rights) granted " "to a particular Subject, for a particular Target, or to " "a particular Subject for a particular Target through " "membership in, or scoping to instances of CIM_Role. The " "Subject parameter, Target parameter, or both shall be " "specified. \n" "When the Subject parameter is specified and the Target " "parameter is not specified, the method shall return all " "of Roles to which the subject is associated through " "CIM_MemberOfCollection. When Target parameter is " "specified and the Subject parameter is not specified, " "the method shall all instances of CIM_Role within whose " "scope the Target Parameter lies.\n" "When the Subject parameter and Target parameter are both " "specified, the method shall return an instance of " "CIM_Role if and only if the Subject Parameter is " "associated to the instance of CIM_Role through " "CIM_MemberOfCollection and the Target Parameter lies " "within the scope of the instance of CIM_Role.\n" "For each instance of CIM_Role returned in the Roles " "parameter, the corresponding index of the Privileges " "parameter may contain an instance of CIM_Privilege. The " "corresponding index of the Privileges parameter may be " "null when rights granted through a CIM_Role are not " "explicitly managed, or when there are not currently any " "instances of CIM_Privilege associated with the CIM_Role " "instance. When the corresponding index of of the " "Privileges parameter is non-null, the embedded instance " "of CIM_Privilege shall reflect the cumulative rights " "granted through membership in the Role. \n" "Each embedded instance of CIM_Role contained in the " "Roles parameter shall correspond to an instrumented " "instance of CIM_Role. Each embedded instance of " "CIM_Privilege contained in the Privileges parameter may " "correspond to an instance of CIM_Privilege associated to " "the corresponding instance of CIM_Role through the " "CIM_MemberOfCollection. However, this is not required. " "Embedded instances of CIM_Role are returned rather than " "References in order to simplify the query operation for " "clients. The properties of the instances of CIM_Role " "provide context to aid a client in selecting which " "instance(s) to modify in order to change the privileges " "of a Subject or for a Target." ), ValueMap { "0", "1", "2", "..", "32000..65535" }, Values { "Success", "Not Supported", "Failed", "Method Reserved", "Vendor Specific" }] uint32 ShowRoles( [IN, Description ( "The Subject parameter identifies the instance of " "CIM_Identity whose containing instances of " "CIM_Role will be returned." )] CIM_Identity REF Subject, [IN, Description ( "The Target parameter identifies an instance of " "CIM_ManagedElement whose scoping instances of " "CIM_Role will be returned." )] CIM_ManagedElement REF Target, [IN ( false ), OUT, Description ( "The set of instances of CIM_Role filtered " "according to the Subject and Target parameters." ), EmbeddedInstance ( "CIM_Role" ), ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_PrivilegeManagementService.ShowAccess.Privileges" }] string Roles[], [IN ( false ), OUT, Description ( "The cumulative rights granted through membership " "in the instance of CIM_Role located at the same " "array index in the Roles parameter." ), EmbeddedInstance ( "CIM_Privilege" ), ArrayType ( "Indexed" ), ModelCorrespondence { "CIM_PrivilegeManagementService.ShowAccess.Roles" }] string Privileges[]); };