<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Rest API - Update user - ERSException - Operation is not permitted in Network Access Control</title>
    <link>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/4799974#M580691</link>
    <description>&lt;P&gt;Hello All,&lt;BR /&gt;&lt;BR /&gt;I am working on a custom password changer for Cisco ISE identities.&lt;BR /&gt;&lt;BR /&gt;Following the documentation we enabled ERS and created an ERS admin account.&lt;BR /&gt;&lt;BR /&gt;When attempting to send a PUT request, the server responds with an internal error, debug hints at issues with the operation, has anyone stumbled upon such a peculiar issue? The documentation isn't too conclusive.&lt;BR /&gt;&lt;BR /&gt;API Call:&lt;BR /&gt;Invoke-RestMethod "https://&amp;lt;server location&amp;gt;/ers/config/internaluser/&amp;lt;user id&amp;gt;" -Headers $headers -Method PUT -Body $json&lt;BR /&gt;&lt;BR /&gt;Body request (powershell):&lt;BR /&gt;$json = @"&lt;BR /&gt;{&lt;BR /&gt;"InternalUser" : {&lt;BR /&gt;"name" : "XXX",&lt;BR /&gt;"identityGroups": "XXX",&lt;BR /&gt;"description" : "description",&lt;BR /&gt;"enabled" : true,&lt;BR /&gt;"email" : "email@domain.com",&lt;BR /&gt;"firstName" : "firstName",&lt;BR /&gt;"lastName" : "lastName",&lt;BR /&gt;"changePassword" : false,&lt;BR /&gt;"passwordIDStore" : "Internal Users"&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;"@&lt;BR /&gt;&lt;BR /&gt;Debug logs:&lt;BR /&gt;023-03-23 13:09:04,587 DEBUG [ers-http-pool8][] ers.app.impl.converters.InternalUserConverter -::::- User PasswordIDStore - Internal Users isInternalPasswordIDStore - true&lt;BR /&gt;2023-03-23 13:09:04,591 INFO [ers-http-pool8][] cisco.cpm.nsf.impl.NSFUser -::::- Setting password ID store to cached internal ID &amp;lt;password storage ID&amp;gt;&lt;BR /&gt;2023-03-23 13:09:04,598 INFO [ers-http-pool8][] api.services.server.role.RoleImpl -::::- Fetched Role Information based on RoleID: &amp;lt;identity group ID&amp;gt;&lt;BR /&gt;2023-03-23 13:09:04,598 DEBUG [ers-http-pool8][] ers.app.impl.converters.InternalUserConverter -::::- Single Identity Group Details - ID - &amp;lt;identity group ID&amp;gt;&lt;BR /&gt;2023-03-23 13:09:04,598 DEBUG [ers-http-pool8][] ers.app.impl.converters.InternalUserConverter -::::- Single Identity Group Details - Name - &amp;lt;name&amp;gt;&lt;BR /&gt;2023-03-23 13:09:04,610 DEBUG [ers-http-pool8][] ers.app.impl.handlers.InternalUserCRUDHandler -::::- Old Identity Groups - [&amp;lt;identity group ID&amp;gt;]&lt;BR /&gt;2023-03-23 13:09:04,610 DEBUG [ers-http-pool8][] ers.app.impl.handlers.InternalUserCRUDHandler -::::- New Identity Groups - [&amp;lt;identity group ID&amp;gt;]&lt;BR /&gt;2023-03-23 13:09:04,619 INFO [ers-http-pool8][] cisco.ise.ups.internaluser.InternalUserServiceImpl -::::- going to save XXX&lt;BR /&gt;2023-03-23 13:09:04,619 INFO [ers-http-pool8][] cisco.ise.ups.internaluser.InternalUserServiceImpl -::::- done validation for user XXX&lt;BR /&gt;2023-03-23 13:09:04,620 INFO [ers-http-pool8][] cisco.ise.ups.internaluser.InternalUserServiceImpl -::::- retrieved RBAC groups for user XXX. number of groups: 1&lt;BR /&gt;2023-03-23 13:09:04,630 ERROR [ers-http-pool8][] ers.app.impl.handlers.InternalUserCRUDHandler -::::- InternalUser Update failed - Exception -&lt;BR /&gt;com.cisco.cpm.nsf.api.exceptions.NSFEntitySaveFailed: Operation is not permitted.&lt;BR /&gt;2023-03-23 13:09:04,630 DEBUG [ers-http-pool8][] cpm.ers.api.exception.ERSException -::::- Operation is not permitted.&lt;BR /&gt;2023-03-23 13:09:04,630 DEBUG [ers-http-pool8][] cisco.cpm.ers.fw.ERSServiceHelper -::::- The 'com.cisco.cpm.ers.api.exception.ERSCRUDHandlerException' occurred. Operation is not permitted.&lt;BR /&gt;2023-03-23 13:09:04,630 DEBUG [ers-http-pool8][] cisco.cpm.ers.fw.ERSServiceHelper -::::- assigning default content-type: application/json;charset=utf-8&lt;BR /&gt;2023-03-23 13:09:04,631 DEBUG [ers-http-pool8][] cpm.ers.app.web.MaxThreadsLimiterFilter -::::- ## RateLimitFilter Servlet =&amp;gt; Continue with the ERS Response, The current bucket count is: 49&lt;BR /&gt;&lt;BR /&gt;To me it looks like insufficient privileges, however I am unsure why? Is the account lacking privileges? Unlikely as it was set-up according to documentation.&lt;BR /&gt;Are internal user accounts not set-up in the right way? Seem more likely to me, as the account used for testing has admin privs, however I would appreciate some confirmation.&lt;BR /&gt;&lt;BR /&gt;Happy to provide more logs if necessary.&lt;/P&gt;</description>
    <pubDate>Thu, 23 Mar 2023 13:36:22 GMT</pubDate>
    <dc:creator>CyberNerd</dc:creator>
    <dc:date>2023-03-23T13:36:22Z</dc:date>
    <item>
      <title>Rest API - Update user - ERSException - Operation is not permitted</title>
      <link>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/4799974#M580691</link>
      <description>&lt;P&gt;Hello All,&lt;BR /&gt;&lt;BR /&gt;I am working on a custom password changer for Cisco ISE identities.&lt;BR /&gt;&lt;BR /&gt;Following the documentation we enabled ERS and created an ERS admin account.&lt;BR /&gt;&lt;BR /&gt;When attempting to send a PUT request, the server responds with an internal error, debug hints at issues with the operation, has anyone stumbled upon such a peculiar issue? The documentation isn't too conclusive.&lt;BR /&gt;&lt;BR /&gt;API Call:&lt;BR /&gt;Invoke-RestMethod "https://&amp;lt;server location&amp;gt;/ers/config/internaluser/&amp;lt;user id&amp;gt;" -Headers $headers -Method PUT -Body $json&lt;BR /&gt;&lt;BR /&gt;Body request (powershell):&lt;BR /&gt;$json = @"&lt;BR /&gt;{&lt;BR /&gt;"InternalUser" : {&lt;BR /&gt;"name" : "XXX",&lt;BR /&gt;"identityGroups": "XXX",&lt;BR /&gt;"description" : "description",&lt;BR /&gt;"enabled" : true,&lt;BR /&gt;"email" : "email@domain.com",&lt;BR /&gt;"firstName" : "firstName",&lt;BR /&gt;"lastName" : "lastName",&lt;BR /&gt;"changePassword" : false,&lt;BR /&gt;"passwordIDStore" : "Internal Users"&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;"@&lt;BR /&gt;&lt;BR /&gt;Debug logs:&lt;BR /&gt;023-03-23 13:09:04,587 DEBUG [ers-http-pool8][] ers.app.impl.converters.InternalUserConverter -::::- User PasswordIDStore - Internal Users isInternalPasswordIDStore - true&lt;BR /&gt;2023-03-23 13:09:04,591 INFO [ers-http-pool8][] cisco.cpm.nsf.impl.NSFUser -::::- Setting password ID store to cached internal ID &amp;lt;password storage ID&amp;gt;&lt;BR /&gt;2023-03-23 13:09:04,598 INFO [ers-http-pool8][] api.services.server.role.RoleImpl -::::- Fetched Role Information based on RoleID: &amp;lt;identity group ID&amp;gt;&lt;BR /&gt;2023-03-23 13:09:04,598 DEBUG [ers-http-pool8][] ers.app.impl.converters.InternalUserConverter -::::- Single Identity Group Details - ID - &amp;lt;identity group ID&amp;gt;&lt;BR /&gt;2023-03-23 13:09:04,598 DEBUG [ers-http-pool8][] ers.app.impl.converters.InternalUserConverter -::::- Single Identity Group Details - Name - &amp;lt;name&amp;gt;&lt;BR /&gt;2023-03-23 13:09:04,610 DEBUG [ers-http-pool8][] ers.app.impl.handlers.InternalUserCRUDHandler -::::- Old Identity Groups - [&amp;lt;identity group ID&amp;gt;]&lt;BR /&gt;2023-03-23 13:09:04,610 DEBUG [ers-http-pool8][] ers.app.impl.handlers.InternalUserCRUDHandler -::::- New Identity Groups - [&amp;lt;identity group ID&amp;gt;]&lt;BR /&gt;2023-03-23 13:09:04,619 INFO [ers-http-pool8][] cisco.ise.ups.internaluser.InternalUserServiceImpl -::::- going to save XXX&lt;BR /&gt;2023-03-23 13:09:04,619 INFO [ers-http-pool8][] cisco.ise.ups.internaluser.InternalUserServiceImpl -::::- done validation for user XXX&lt;BR /&gt;2023-03-23 13:09:04,620 INFO [ers-http-pool8][] cisco.ise.ups.internaluser.InternalUserServiceImpl -::::- retrieved RBAC groups for user XXX. number of groups: 1&lt;BR /&gt;2023-03-23 13:09:04,630 ERROR [ers-http-pool8][] ers.app.impl.handlers.InternalUserCRUDHandler -::::- InternalUser Update failed - Exception -&lt;BR /&gt;com.cisco.cpm.nsf.api.exceptions.NSFEntitySaveFailed: Operation is not permitted.&lt;BR /&gt;2023-03-23 13:09:04,630 DEBUG [ers-http-pool8][] cpm.ers.api.exception.ERSException -::::- Operation is not permitted.&lt;BR /&gt;2023-03-23 13:09:04,630 DEBUG [ers-http-pool8][] cisco.cpm.ers.fw.ERSServiceHelper -::::- The 'com.cisco.cpm.ers.api.exception.ERSCRUDHandlerException' occurred. Operation is not permitted.&lt;BR /&gt;2023-03-23 13:09:04,630 DEBUG [ers-http-pool8][] cisco.cpm.ers.fw.ERSServiceHelper -::::- assigning default content-type: application/json;charset=utf-8&lt;BR /&gt;2023-03-23 13:09:04,631 DEBUG [ers-http-pool8][] cpm.ers.app.web.MaxThreadsLimiterFilter -::::- ## RateLimitFilter Servlet =&amp;gt; Continue with the ERS Response, The current bucket count is: 49&lt;BR /&gt;&lt;BR /&gt;To me it looks like insufficient privileges, however I am unsure why? Is the account lacking privileges? Unlikely as it was set-up according to documentation.&lt;BR /&gt;Are internal user accounts not set-up in the right way? Seem more likely to me, as the account used for testing has admin privs, however I would appreciate some confirmation.&lt;BR /&gt;&lt;BR /&gt;Happy to provide more logs if necessary.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2023 13:36:22 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/4799974#M580691</guid>
      <dc:creator>CyberNerd</dc:creator>
      <dc:date>2023-03-23T13:36:22Z</dc:date>
    </item>
    <item>
      <title>Re: Rest API - Update user - ERSException - Operation is not permitted</title>
      <link>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/4800726#M580731</link>
      <description>&lt;P&gt;This seems to be an issue with the existing accounts, where they are admin accounts rather than ISE identities, further testing will be performed to validate, the same will be updated within this thread.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2023 09:53:41 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/4800726#M580731</guid>
      <dc:creator>CyberNerd</dc:creator>
      <dc:date>2023-03-24T09:53:41Z</dc:date>
    </item>
    <item>
      <title>Re: Rest API - Update user - ERSException - Operation is not permitted</title>
      <link>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/4800805#M580733</link>
      <description>&lt;P&gt;That is correct.&amp;nbsp; Admin password change is not allowed via API.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Mar 2023 12:09:07 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/4800805#M580733</guid>
      <dc:creator>Charlie Moreton</dc:creator>
      <dc:date>2023-03-24T12:09:07Z</dc:date>
    </item>
    <item>
      <title>Re: Rest API - Update user - ERSException - Operation is not permitted</title>
      <link>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/5267947#M595344</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.cisco.com/t5/user/viewprofilepage/user-id/317086"&gt;@Charlie Moreton&lt;/a&gt;&amp;nbsp;, I've tested this in our dev environment and was able to change passwords for internalusers. However, I'm having issues in production with some accounts.&amp;nbsp; All accounts are in the internalusers database.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;From what I undesrtand, the change admin accounts, you need to use CLI but, for internal identities, the API should work (and it does in dev).&lt;BR /&gt;&lt;BR /&gt;Can you elaborate on what you mean by "admin password change is not allowed via API" ?&lt;BR /&gt;&lt;BR /&gt;as stated I'm able to successfully change the password for most accounts using this body:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"InternalUser"&lt;/SPAN&gt;&lt;SPAN&gt;: {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"name"&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;"&amp;lt;username&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"password"&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;"&amp;lt;somepassword&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"changePassword"&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;false&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;BR /&gt;&lt;BR /&gt;Much appreciated.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Essman&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 05 Mar 2025 20:19:48 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-access-control/rest-api-update-user-ersexception-operation-is-not-permitted/m-p/5267947#M595344</guid>
      <dc:creator>EssMan</dc:creator>
      <dc:date>2025-03-05T20:19:48Z</dc:date>
    </item>
  </channel>
</rss>

