Skip to Main Content
IBM System Storage Ideas Portal


This portal is to open public enhancement requests against IBM System Storage products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Is a defect
Created by Guest
Created on Jun 3, 2025

Users with the “Monitor” role should also be able to change their own password using RoE

Since firmware version 1.10, it has been possible to change a user's password via a RoE endpoint. According to the documentation, every user should be able to change their own password. However, according to the support team, this is not available for users with the “Monitor” role and is restricted to members of the “Admin” role. Since we regularly retrieve data from our TS4500 systems with the help of a user with the “Monitor” role and the guidelines require the passwords to be changed at regular intervals, we want to automate this for the Monitor user.

Technically, the following example curl sequence should be made possible:

curl -k -H "Content-Type: application/json" -X POST https://ts4500.acme.com/web/api/v1/login -c cookies.txt -d "{\"user\":\"monuser\",\"password\":\"secretpass\"}"
curl -k -b cookies.txt  -X POST https://ts4500.acme.com/web/api/v1/authentication/userAccounts/monuser/setPassword -d "{\"password\":\"newsecret\",\"expirePassword\":\"no\"}"
curl -k -b cookies.txt  -X GET https://ts4500.acme.com/web/api/v1/logout
 

Idea priority Medium
  • Guest
    Jun 13, 2025

    I had a mistake in the loin url now i can login with henry_mon2 and get the same error as the customer i  would change the password of henry_mon2

    hwinkler:userscript$ curl -v -k -H "Content-Type: application/json" -X POST https://9.80.83.152/web/api/v1/login -c cookies.txt -d "{\"user\":\"henry_mon2\",\"password\":\"test2test\"}"
    Note: Unnecessary use of -X or --request, POST is already inferred.
    *   Trying 9.80.83.152:443...
    * ALPN: curl offers h2,http/1.1
    * TLSv1.3 (OUT), TLS handshake, Client hello (1):
    * TLSv1.3 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption
    * ALPN: server did not agree on a protocol. Uses default.
    * Server certificate:
    *  subject: C=US; ST=Arizona; L=Tucson; O=International Business Machines Corp.M; OU=STG; CN=ibm.com
    *  start date: Mar 24 02:53:57 2014 GMT
    *  expire date: Mar 19 02:53:57 2034 GMT
    *  issuer: C=US; ST=Arizona; L=Tucson; O=International Business Machines Corp.M; OU=STG; CN=ibm.com
    *  SSL certificate verify result: self-signed certificate (18), continuing anyway.
    *   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    *   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    * Connected to 9.80.83.152 (9.80.83.152) port 443
    * using HTTP/1.x
    > POST /web/api/v1/login HTTP/1.1
    > Host: 9.80.83.152
    > User-Agent: curl/8.11.1
    > Accept: */*
    > Content-Type: application/json
    > Content-Length: 44

    * upload completely sent off: 44 bytes
    < HTTP/1.1 200 OK
    * Added cookie JSESSIONID="EF4151D22E4560086B3EC1180BD93D2B" for domain 9.80.83.152, path /web, expire 0
    < Set-Cookie: JSESSIONID=EF4151D22E4560086B3EC1180BD93D2B; Path=/web; Secure; HttpOnly
    < Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none'
    < X-Content-Type-Options: nosniff
    < X-XSS-Protection: 1; mode=block
    < X-Frame-Options: SAMEORIGIN
    < Strict-Transport-Security: max-age=31536000;includeSubDomains
    < Content-Type: application/json;charset=ISO-8859-1
    < Transfer-Encoding: chunked
    < Date: Fri, 13 Jun 2025 14:42:12 GMT
    < Server: Server Hardware Management Console

    * Connection #0 to host 9.80.83.152 left intact
    hwinkler:userscript$ curl -v -k -b cookies.txt  -X POST https://9.80.83.152/web/api/v1/authentication/userAccounts/henry_mon2/setPassword -d "{\"password\":\"test3test\",\"expirePassword\":\"yes\"}"
    Note: Unnecessary use of -X or --request, POST is already inferred.
    *   Trying 9.80.83.152:443...
    * ALPN: curl offers h2,http/1.1
    * TLSv1.3 (OUT), TLS handshake, Client hello (1):
    * TLSv1.3 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption
    * ALPN: server did not agree on a protocol. Uses default.
    * Server certificate:
    *  subject: C=US; ST=Arizona; L=Tucson; O=International Business Machines Corp.M; OU=STG; CN=ibm.com
    *  start date: Mar 24 02:53:57 2014 GMT
    *  expire date: Mar 19 02:53:57 2034 GMT
    *  issuer: C=US; ST=Arizona; L=Tucson; O=International Business Machines Corp.M; OU=STG; CN=ibm.com
    *  SSL certificate verify result: self-signed certificate (18), continuing anyway.
    *   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    *   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    * Connected to 9.80.83.152 (9.80.83.152) port 443
    * using HTTP/1.x
    > POST /web/api/v1/authentication/userAccounts/henry_mon2/setPassword HTTP/1.1
    > Host: 9.80.83.152
    > User-Agent: curl/8.11.1
    > Accept: */*
    > Cookie: JSESSIONID=EF4151D22E4560086B3EC1180BD93D2B
    > Content-Length: 47
    > Content-Type: application/x-www-form-urlencoded

    * upload completely sent off: 47 bytes
    < HTTP/1.1 302 Found
    < Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none'
    < X-Content-Type-Options: nosniff
    < X-XSS-Protection: 1; mode=block
    < X-Frame-Options: SAMEORIGIN
    < Strict-Transport-Security: max-age=31536000;includeSubDomains
    < Location: /web/ErrorPage500.jsp
    < Content-Type: text/html
    < Content-Length: 0
    < Date: Fri, 13 Jun 2025 14:42:24 GMT
    < Server: Server Hardware Management Console

    * Connection #0 to host 9.80.83.152 left intact

  • Guest
    Jun 13, 2025

    Hello Carlos,

    i have checked it on one of our machines if the user has the role Monitor and also if the user has set to expiredPassword yes, the Monitor user cant change his one password. i get back that it is not  HTTP/1.1 401 Unauthorized . From my point of view this is normal because the role Monitor have no access to any user actions:

    Monitor

    Users mapped to this role can view all physical and library data, but cannot view user accounts or security settings. This role is useful for library operators.


    create a monitor user with admin rights:

    $ curl -k -b cookies.txt  -X POST https://9.80.83.152/web/api/v1/authentication/userAccounts -d "{\"name\":\"henry_mon2\",\"role\":\"Monitor\",\"email\":\"henry@de.ibm.com\",\"password\":\"test1test\",\"expirePassword\":\"yes\"}"

    you can see at the end that the user is creaded:

    $ curl -k -b cookies.txt  -X GET https://9.80.83.152/web/api/v1/authentication/userAccounts
    [{"name": "Service", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2025-06-11T20:54:35+0300"}, {"name": "localGUI", "state": "disconnected", "role": "Monitor", "email": "", "lastConnected": "2025-06-11T08:49:18+0300"}, {"name": "diman_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2025-06-13T15:24:44+0300"}, {"name": "boyan_service", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2025-06-12T10:14:02+0300"}, {"name": "boyan_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2025-06-13T15:34:56+0300"}, {"name": "ole_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2024-09-20T12:07:40+0300"}, {"name": "rob_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2025-05-14T18:04:28+0300"}, {"name": "rob", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2025-04-30T14:05:37+0300"}, {"name": "djunge", "state": "disconnected", "role": "Administrator", "email": "danny.junge@de.ibm.com", "lastConnected": "2025-06-04T15:04:18+0300"}, {"name": "djunge_service", "state": "disconnected", "role": "Local Service", "email": "danny.junge@de.ibm.com", "lastConnected": "2025-05-23T12:40:59+0300"}, {"name": "iliyan_service", "state": "disconnected", "role": "Local Service", "email": "b69913@bg.ibm.com", "lastConnected": "2024-10-01T12:37:56+0300"}, {"name": "Marcin_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2025-06-13T13:45:40+0300"}, {"name": "Marcin_service", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2025-05-13T14:16:11+0300"}, {"name": "leszek_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2023-11-09T15:45:53+0200"}, {"name": "albi_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2025-06-10T16:25:04+0300"}, {"name": "albi_service", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2025-06-10T12:15:59+0300"}, {"name": "shab_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2023-11-20T12:36:10+0200"}, {"name": "shab_service", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2023-11-20T12:37:34+0200"}, {"name": "Erwin_service", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2025-06-12T10:31:59+0300"}, {"name": "Erwin_admin", "state": "connected", "role": "Administrator", "email": "", "lastConnected": "2025-06-12T09:53:41+0300"}, {"name": "iliyan_admin", "state": "disconnected", "role": "Administrator", "email": "b69913@bg.ibm.com", "lastConnected": "2024-05-23T16:21:22+0300"}, {"name": "victor_admin", "state": "disconnected", "role": "Administrator", "email": "b69906@bg.ibm.com", "lastConnected": "2024-09-18T15:04:07+0300"}, {"name": "victor_service", "state": "disconnected", "role": "Administrator", "email": "b69906@bg.ibm.com", "lastConnected": "2025-03-25T14:14:07+0200"}, {"name": "lyudmil", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2024-10-07T17:19:21+0300"}, {"name": "lyudmilservice", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2024-10-04T16:54:11+0300"}, {"name": "marcin.test", "state": "disconnected", "role": "Monitor", "email": "test@o2.pl", "lastConnected": "2024-10-04T15:48:46+0300"}, {"name": "diman_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2024-10-09T10:36:58+0300"}, {"name": "diman_service", "state": "disconnected", "role": "Local Service", "email": "", "lastConnected": "2025-05-28T12:48:23+0300"}, {"name": "greg_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2025-03-13T09:58:53+0200"}, {"name": "greg_service", "state": "disconnected", "role": "Local Service", "email": "grba@ch.ibm.com", "lastConnected": "2025-03-13T10:00:41+0200"}, {"name": "sepp_admin", "state": "disconnected", "role": "Administrator", "email": "", "lastConnected": "2025-04-11T01:54:48+0300"}, {"name": "admin_test", "state": "disconnected", "role": "Bobo_admin_test", "email": "", "lastConnected": "2025-04-22T12:31:03+0300"}, {"name": "Tape_test", "state": "disconnected", "role": "351", "email": "", "lastConnected": "2025-05-15T15:07:43+0300"}, {"name": "Henry_admin", "state": "connected", "role": "Administrator", "email": "henry@ibm.com", "lastConnected": "2025-06-13T17:07:36+0300"}, {"name": "henry_mon", "state": "disconnected", "role": "Monitor", "email": "henry@de.ibm.com", "lastConnected": "2025-06-13T14:34:40+0300"}, {"name": "henry_test", "state": "disconnected", "role": "Monitor", "email": "henry@de.ibm.com", "lastConnected": "2025-06-13T16:21:29+0300"}, {"name": "henry_test_admin", "state": "disconnected", "role": "Administrator", "email": "henry@de.ibm.com", "lastConnected": "2025-06-13T16:45:03+0300"}, {"name": "henry_mon2", "state": "disconnected", "role": "Monitor", "email": "henry@de.ibm.com", "lastConnected": null}



    login to the webgui and have to change the password for henry_mon2. set it to test2test


    then i would change the password from test2test to test3test via curl

    log in as henry_mon2
    $ curl -k -H "Content-Type: application/json" -X POST https://9.80.83.152/web/api/v1/login -c cookies.txt -d "{\"user\":\"henry_mon2\",\"password\"test2test\"}"
     

    try to Change the password to test3test fails with:

    $ curl -v -k -b cookies.txt  -X POST https://9.80.83.152/web/api/v1/authentication/userAccounts/henry_mon2/setPassword -d "{\"password\":\"test3test\",\"expirePassword\":\"yes\"}"
    Note: Unnecessary use of -X or --request, POST is already inferred.
    *   Trying 9.80.83.152:443...
    * ALPN: curl offers h2,http/1.1
    * TLSv1.3 (OUT), TLS handshake, Client hello (1):
    * TLSv1.3 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption
    * ALPN: server did not agree on a protocol. Uses default.
    * Server certificate:
    *  subject: C=US; ST=Arizona; L=Tucson; O=International Business Machines Corp.M; OU=STG; CN=ibm.com
    *  start date: Mar 24 02:53:57 2014 GMT
    *  expire date: Mar 19 02:53:57 2034 GMT
    *  issuer: C=US; ST=Arizona; L=Tucson; O=International Business Machines Corp.M; OU=STG; CN=ibm.com
    *  SSL certificate verify result: self-signed certificate (18), continuing anyway.
    *   Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    *   Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption
    * Connected to 9.80.83.152 (9.80.83.152) port 443
    * using HTTP/1.x
    > POST /web/api/v1/authentication/userAccounts/henry_mon2/setPassword HTTP/1.1
    > Host: 9.80.83.152
    > User-Agent: curl/8.11.1
    > Accept: */*
    > Cookie: JSESSIONID=AA1542F5F71AF21EDCE0208ABE9A65EF
    > Content-Length: 47
    > Content-Type: application/x-www-form-urlencoded

    * upload completely sent off: 47 bytes
    < HTTP/1.1 401 Unauthorized
    < Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none'
    < X-Content-Type-Options: nosniff
    < X-XSS-Protection: 1; mode=block
    < X-Frame-Options: SAMEORIGIN
    < Strict-Transport-Security: max-age=31536000;includeSubDomains
    < Content-Type: application/json;charset=ISO-8859-1
    < Transfer-Encoding: chunked
    < Date: Fri, 13 Jun 2025 14:13:39 GMT
    < Server: Server Hardware Management Console

    * Connection #0 to host 9.80.83.152 left intact

  • Guest
    Jun 4, 2025

    Did you happen to see the error that was given when you tried to reset the password?

  • Admin
    CARLOS SANDOVAL
    Jun 4, 2025

    IBM has evaluated this request and has determined that this functionality already exists.

    The change user account password endpoint supports updating the password of user accounts with the monitor role today. However, according to the documentation, the "expirePassword" must be set to "yes" when modifying your own user account's password. https://www.ibm.com/docs/en/dtl/2.11.3?topic=accounts-change-user-account-password