はじめに
ローカル環境からCLIでAlibaba Cloudのリソースを操作したいですので、ローカル環境にAccessKeyをおいて、日々気をつけながらAccessKeyを利用しています。
19年1月に OpenAPI Explorerというプロダクトが利用可能になり、これをちゃんと活用すれば、ローカル環境にAccesskeyを置かなくても、簡単にALibaba Cloudのリソースを操作できます。
OpenAPI Explorerはブラウザベースで (Online Linux Shellで)aliyun-cli を実行したり、(Online Debugで)APIをデバッグしたりできるサービスになります。
今日はOpenAPI Explorerの活用について、自分の考えを共有させていただきます。
OpenAPI Explorerについて
OpenAPI Explorerは 「プロダクトとサービス」の欄に表示されておらず、Alibaba Cloudにログインしてから、直接 OpenAPI ExplorerのURL にアクセスすれば、下記のようなOpenAPI Explorerの管理画面にたどり着けます。
Online Debug
Alibaba Cloudのプロダクトを選択すれば、選択されたプロダクトのAPIとそのAPIのパラメーターが表示されます。パラメーター欄に入力して、「Submit Request」ボタンをクリックすれば、APIを実行されます。
また、SDK(Java、Node.js、Go、PHP、Python)のサンプルもあります。
Online Linux Shell
裏では(Cloud Shellの)仮想Linuxサーバーが一台立ち上げられます。
aliyun-cliを実行するため、一時的なクレデンシャル情報が必要です。
また、ファイルとか永続的に保存したい場合はNASを利用することも可能です。
このCloud Shell環境にはpython、kubectl、terraform、aliyun-cli、vimとか入っていて、実用は非常に便利です。
Cloud Shellの詳細については、森(@mosuke5)が書いた記事 【Alibaba CloudのCloud Shellでは何ができるか】にてご確認ください。
OpenAPI Explorerの活用について
OpenAPI ExplorerではRAM Userの一時的な認証情報を利用しているため、権限も利用されるRAM Userの権限と同じです。
Alibaba CloudへログインするIPを制限して、AssumeRoleを利用すれば、下記の図のようなセキュアなクロスアカウントアクセスできる仕組みができます。しかもAccessKeyの発行も必要がありません。
実運用する際に、たとえば、権限管理、データ連携、操作履歴の記録などのセキュリティ管理といったことも考える必要があります。上記の仕組みに関しては、現状あくまでもOpenAPI Explorer活用の案になります。
IP制限、AssuemRole、aliyun-cliの詳細については、下記の記事にてご確認ください。
① RAMユーザーのIPアクセス制限について
② ユーザーロールでの一時的な認証アクセスについて
③ aliyun-cliの各認証メソッドについて
OpenAPI Explorerのいいところと改善してほしいところ
いいところ
① OpenAPI Explorerはただで使える、NASを利用する場合はNASの料金が発生します。
② AccessKeを発行しても、ブラウザベースでAPIを試せる
改善してほしいところ
① Cloud Shellの仮想サーバーは現状中国のリージョンに立ち上げられるので、ちゃんとリージョン指定できるようにしたい
② SDKのサンプルでは、下記のようにAccessKeyのハードコーディングの実装になりますので、ダサい
最後
OpenAPI Explorerはまだプレビュー版のプロダクトで、いろいろ改善すべきところがありますが、わりっと便利なサービスですので、皆さんも是非イジってみてください。そしてAlibaba Cloudにフィードバックすれば、もっと使いやすくなるはずです。