IBM Cloud内でのアカウント切り替えについて
IBM Cloudは単一のIBM idでログインし、アカウント(契約先)を切り替えて利用することができます。ブラウザでログインした場合には、画面上のプルダウンで簡単に切り替えができます。
しかし、著者はCLIではibmcloudコマンドでのアカウント切り替えの方法を知らなかったため、切り替え時にはログインし直して対応していました。が、調べてみると簡単に切り替えができましたので、日本語でのメモ代わりに記録しておきます。
アカウントのGUIDの取得
アカウントの切り替えにはアカウントのGUIDが必要です。
CLIでログイン済みの状態でibmcloud account list
コマンドを実行すると、アカウントの一覧を表示することができそこにアカウントのGUIDが表示されます。
この例では、左端のaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxの部分がアカウントのGUIDとなります。
$ ibmcloud account list
MTAG@example.org のすべてのアカウントを取得しています...
OK
アカウント GUID IMS ID 名前 状態 所有者ユーザー ID
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa MASANAO TAGUCHI Account ACTIVE mtag@example.org
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx Test Account ACTIVE test@example.org
GUIDはログイン時のアカウント選択画面にも表示されているので、この値を利用することも可能です。
GUIDの値は変わらないので必要なアカウントのGUIDを記録しておき、次回以降のログインで利用することもできます。
アカウントの切り替え
上記の手順でGUIDを取得すると、ibmcloud target -c <<GUID>>
でアカウントを切り替えることができます。
$ ibmcloud target -c aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ターゲットのアカウント MASANAO TAGUCHI's Account (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
API エンドポイント: https://cloud.ibm.com
Region: jp-tok
ユーザー: MTAG@example.org
アカウント: MASANAO TAGUCHI's Account (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
リソース・グループ: リソース・グループがターゲットになっていません。'ibmcloud target -g RESOURCE_GROUP' を使用してください
CF API エンドポイント:
組織:
スペース:
Cloud Shell内での切り替え
この切り替え方法はIBM CloudのCloud Shell内でも利用できます。
あるアカウントから別アカウントへファイルを連携する場合など、Cloud Shell内で送信元アカウントのリソースからファイルを取り出し、アカウント切り替えて、別アカウントのリソースへ展開するなどの対応が行えます(ファイルサイズの制限があります)。