IBM Cloud: ibmcloudコマンドでAPI Keyを使ってログインする方法


1. はじめに

ibmcloudコマンドを使ってログインするには、ibmcloud loginとかibmcloud login -ssoを使えばいいのだが、毎回ID/Passwordを入力して認証するのが面倒である。
API Keyを使えばこうした手間を省けることが意外に知られていないので、念の為紹介しておく。

2. API Keyの取得

IBM Cloudの管理コンソールから、Manage -> Access(IAM) -> API Keysとたどり、API Keyを生成する。

  • Create an IBM Cloud API Keyを押下
  • API Keyに対する適当なNameやDescriptionを入力。
  • API Keyが生成されるので、これをコピーしてファイルに保管しておく(今回はibmcloud_apikeyとする)。なお、紛失した場合は二度とアクセスできないため、再作成になる。

3. API Keyを使ったログイン

以下に幾つかの例を記載する。

APIKeyのみを指定した場合
$ ibmcloud login --apikey @ibmcloud_apikey
API_Endpointやリージョンを指定した場合
$ ibmcloud login -a cloud.ibm.com --apikey @ibmcloud_apikey -r jp-tok
API_Endpoint(Private)を指定した場合
#CLIの最新バージョンをチェックしに行くのを無効にする。無効にしておかないと、cloud.ibm.comへのアクセスも試行される。
#詳細は、https://qiita.com/testnin2/items/2c89c13ad90640f0df91 も参考のこと。
$ ibmcloud config --check-version=false
$ ibmcloud login -a private.cloud.ibm.com --apikey @ibmcloud_apikey -r us-south

4. 参考