今回は Azure CLI を使って Azure に サインイン したり テナント ( サブスクリプション ) を切り替える方法です。別のブログで流れ的に書こうと思ったけど、必要性に疑問を感じたので分割したオチです。
余談ですが PowerShell 編はこちらです。
では本題に入りましょう。
Azure CLI の準備
Azure CLI を使うにはざっくりこの選択肢がよくあるパターンでしょうか。
- 自分の PC に Azure CLI をインストールする
- ブラウザで Azure portal を開いたときに右上にある Cloud Shell をクリックして表示されるシェル (PowerShell または Bash) から使う
よく使うならインストールした方が手軽に使えるかなって感じでしょうかね。
Azure CLI の操作
参照してるサブスクリプションの確認とサインイン
Azure CLI を使う際、どのサブスクリプションを見ているかのまず大事になります。サブスクリプションを一つしか持っていなければいいんですが、仕事や趣味で使ってると複数になるのでその確認からしていきましょう。
まずは必要なサブスクリプションが見えているかを、以下のコマンドで確認してみましょう。オプションでついてる -o table
を付けないと json が prettify された状態でダラーっと表示されるので見難いですが、このオプションを付けることでテーブル形式で表示してくれます。
az account list -o table
そもそもどのサブスクリプションかわからんってときは、ブラウザで Azure portal を開いて対象のリソースをひらけば確認できます。
もしサインインできていなかったり、対象のサブスクリプションがなければログインします。コマンドこれ。
az login
入りたい tenant id がわかっている場合は
az login --tenant "テナントの ID"
を入力した方が早いですが。
ブラウザが起動して Sign in の画面が出てくるので sign in しましょう。
サインインしたらブラウザの画面は閉じて大丈夫です。
もういちど以下のコマンドでサブスクリプションの一覧を確認します。
az account list -o table
参照してるサブスクリプションの切り替え
上図で IsDefault になっているのが現在参照してるサブスクリプションです。今は1行目が True になってますが、2行目のに切り替えたいときは以下のコマンド です。
az account set -s <subscriptionId の値>
例えば subscriptionId の値が "subscriptionId の値" だったらこんな感じ
az account set -s 62e8efdb-27fc-4f2f-a6ae-9b0cc23700e5
ダブルクォーテーションで囲っても囲わなくてもどっちでも大丈夫です。ちなみに ダブルクォーテーションで囲って Name を入れても大丈夫ですが、たまに同じ Name のものもあるので SubsciptionId を使ってます。
これでもう一度このコマンドをうって、対象のサブスクリプションが IsDefault が True になっていれば OK です。
az account list -o table
参考
az account list で
--query
オプションつけてフィルターとかもできます。Azure CLI 全般の話ですが、今回
-o table
で指定した出力形式は、teble の他にも yaml とか色々あります。