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に受け付けていて、賛同した要望・アイデアを投票できるようになっています。ぜひこんなこと困ったなーということがあればアイデアを寄稿してみてください。(投稿時メールアドレス必要ですが、公開は匿名です)
さんこうにしたところ
https://github.com/softlayer/softlayer-python/issues/1008
ほんとうにさいごに
SUGOIKAISYA.co.jp なんてドメインはありません。
また執筆時点では存在しないことを確認しましたが、ドメインとしてそのドメインを万一登録されたとしても、本記事とは一切関係が有りませんのでご了承ください。