やりたいこと
GUI上にて以下のURL(管理>アクセス(IAM)>ユーザー)で確認できるユーザ情報を
https://cloud.ibm.com/iam/users
APIを利用したcurlコマンド経由で一覧表示させる。
環境情報
$ ibmcloud --version ...version 1.3.0:...
やり方
IBM Cloud User Management APIを利用する。
具体的には、以下で確認できるアカウントIDを控えた状態で
$ ibmcloud login
以下コマンドでIAM トークンを取得し
$ ibmcloud iam oauth-tokens
以下のACCOUNTIDとTOKENを上記値に置き換えて実行すると
curl -X GET https://user-management.cloud.ibm.com/v2/accounts/ACOUNTID/users -H 'Authorization: TOKEN'
以下のJSON形式で情報が確認できる。
{"total_results":2,"limit":100,"first_url":"/v2/accounts/xx/users","next_url":null,"resources":[{"id":"xx","iam_id":"xx","realm" :"BSS","user_id":"xx","firstname":"","lastname":"","state":"PENDING","email":"xx","phonenumber":"","altphonenumber":"","photo":"","account_id":"xx"},{"id":"xx","iam_id":"xx","realm":"IBMid","user_id":"xx","firstname":"xx","lastname":"xx","state":"ACTIVE","email":"xx","phonenumber ":"xx","altphonenumber":"","photo":"","account_id":"xx"}]}
以下、補足です。
補足
アカウントIDは以下の括弧の中に格納されている英数文字列で確認でき
$ ibmcloud login ... アカウント: xx (xx) ...
IAMトークンは標準出力に「IAM トークン: Bearer ...」と表示されるので以下のようにすればURLに利用する部分のみきりだすことも可能です。
$ ibmcloud iam oauth-tokens | awk '{print substr($0,index($0,"Bearer"))}'
また、 デフォルトでは100件しか表示されないのでそれ以降はnext urlフィールド経由で取得するようです。
Users are returned in a paginated list with a default limit of 100 users. You can iterate through all users by following the next_url field.
以上、ご参考になれば幸いです。