Bluemix

APIKeyを利用したcfコマンドでのログイン

少し前にBluemixのID管理画面にAPIKeyが発行できる機能が追加されました。
IBM側で拡張している bx コマンドでの利用は確認できていたのですが cf コマンドでの確認をしていませんでしたが確認が取れたので情報を共有しておきます。

apikey を利用することにより仮にキーが漏洩してもシステム側で容易にリセット可能ですのでこちらを利用して作業をするのがオススメです。とくに Bluemixの場合には IBMIdが利用されており他のIBMのソフトウェアの管理などにも利用されますので扱いには気をつけましょう。

APIの発行の仕方

ManageメニューからBluemix API Keysまで進む

image.png

Create API Keyをクリック

image.png

情報を入力します。

image.png

キーが生成されます。

image.png

このキーは一度きりしか表示されませんのでダウンロードするか、メモするかしておきましょう。

bxコマンドでの実行例

$ bx login —apikey XXXXXXXXXXXXXXXXXXXXX
API エンドポイント: https://api.ng.bluemix.net
認証中です...
OK

cfコマンドでの実行例

cf側では、ユーザ名が apikey となりパスワードが XXXXXを先程の APIKEY となります。

$ cf login -u apikey -p XXXXXXXXXXXXXXXXXXXXXXXXXX 
API エンドポイント: https://api.ng.bluemix.net
認証中です...
OK

RESTで利用する際のオプション

これはcfと同様になります。

項目 備考
接続先 POST http://login.ng.bluemix.net/UAALoginServerWAR/oauth/token
Header accept application/json
authorization Basic Y2Y6 Y2Y6は cf
content-type application/x-www-form-urlencoded'
Data grant_type password
username apikey 固定文字列
password XXXXXXX ここにAPIKEYを記入