LoginSignup
0

More than 3 years have passed since last update.

SoftLayerのユーザーをslcliを使って削除や無効化する方法

Posted at

SoftLayerのユーザーをslcliを使って削除や無効化する

9月も最終日。そろそろユーザー一覧の棚卸しをしないとな。
ということで、ユーザー数も多いし新しく統合されたポータルだとSoftLayerIDをベースにメンテするのつらいな、ということで
久々にslcliを使ってみることにしました。

slcliについては、@MahoTakaraさんのpyenv と slcli コマンドをインストールする手順を参考にしてください。

今どきは IBM idがメインですが、今回はSoftLayer IDのみで
IBM Cloudを運用しているアカウントを題材にしています。

ユーザー一覧を取得する

$ slcli user list --columns id,username,email,displayName,status  

こんな感じの一覧がずらずらでます

:.........:.............................:.......................................:................:..........:
:    id   :           username          :                 email                 :  displayName   :  status  :
:.........:.............................:.......................................:................:..........:
:  XXXXXX :           SL999999          :     KANRI@SUGOIKAISYA.co.jp           :     SUGOIK     :  Active  :
:.........:.............................:.......................................:................:..........:

ユーザーを削除する

削除コマンドはコマンド1行で簡単に消えます。
なので慎重に、IDを間違わないようにしましょう。

$ slcli user delete {ID}

ユーザーを無効にする

参考) userStatusIdの値を確認すると、1002が** DISABLED ** フラグのようです。
今回はこのパラメーターを与えてユーザー情報を編集します。

JSON形式で、パラメーターはリファレンスを参考にしてください

$ slcli user edit-details {ID} -t '{"userStatusId" :  1002}'

参考) 大量に無効にする

IDを大量に虐殺したくなるしなければならない時があるときは、
以下の用なFor分で消す必要のあるUserIDを改行区切りで食べさせてあげましょう

$ for i in `cat disable-users.txt `
> do
> slcli user edit-details $i -t '{"userStatusId" :  1002}'
> done

参考) userStatusIdの値を確認する

いきなり1002って番号って何?!って思ったので、もう少し調べてみました。
以下コマンドを使うと、一覧が取れます。
そうです。戻したければ1001に変えればDisableに~うっかり~してしまったIDをもどすことができます。

$ slcli --format=json call-api SoftLayer_User_Customer_Status getAllObjects
[
    {
        "keyName": "ACTIVE", 
        "id": 1001, 
        "name": "Active"
    }, 
    {
        "keyName": "DISABLED", 
        "id": 1002, 
        "name": "Disabled"
    }, 
    {
        "keyName": "INACTIVE", 
        "id": 1003, 
        "name": "Inactive"
    }, 
    {
        "keyName": "PENDING", 
        "id": 1004, 
        "name": "Pending"
    }, 
    {
        "keyName": "SUSPENDED", 
        "id": 1005, 
        "name": "Suspended"
    }, 
    {
        "keyName": "CANCEL_PENDING", 
        "id": 1021, 
        "name": "cancel_pending"
    }, 
    {
        "keyName": "VPN_ONLY", 
        "id": 1022, 
        "name": "VPN Only"
    }
]

自分への宿題

この記事へのアップデートもしくは新規で以下も書いてみたいです。

  • VPNの接続許可サブネットをCLIで管理したい
  • 新規作成まわりもせっかくだしまとめておきたい

さいごに

ID管理はだいじだよ

発注できたりするアカウントもあればデバイスの停止・起動ができたりと、
SoftLayerIDは重要なアカウントです。退職や異動があったときにはぜひSoftLayer IDの棚卸し・権限の無効化、削除など適切に処理を行いましょう。

要望が出せるよ

SoftLayerIDをIBM Portal上でもカラムとして表示してほしい!
ということで、要望を起票してみました。

英語ではありますが、要望・アイデアをPublicに受け付けていて、賛同した要望・アイデアを投票できるようになっています。ぜひこんなこと困ったなーということがあればアイデアを寄稿してみてください。(投稿時メールアドレス必要ですが、公開は匿名です)

IBM Cloud - Structured Ideas

さんこうにしたところ

https://github.com/softlayer/softlayer-python/issues/1008

ほんとうにさいごに

SUGOIKAISYA.co.jp なんてドメインはありません。
また執筆時点では存在しないことを確認しましたが、ドメインとしてそのドメインを万一登録されたとしても、本記事とは一切関係が有りませんのでご了承ください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0