LoginSignup
6
5

More than 5 years have passed since last update.

Microsoft Azure CLI 2.0 で サービス プリンシパルを登録する

Posted at

目的

仕事柄、 Azure xx への操作をするアプリケーション・サービスを触る機会があります。
最近は、構成管理ツールを使って、デモ環境をかんたんに作って、使用しないときには、クリーンにしたいと思い、以前利用していた Terraform で構築しようと思いつきました。
先駆者の情報を参考にアプリ登録をしていましたが、Azure CLI 2.0 (Preview) での情報がなかったので、自分メモ代わりにまとめることにしました。

環境

  • Mac
  • Microsoft Azure (以降、Azure)

準備

Azure CLI 2.0 をインストール ガイドを参考にインストールします。ここでは、割愛します。

サービス プリンシパル登録

ログイン

ターミナルを起動し、以下のコマンドを実行して Azure へログインします。

$ az login
To sign in, use a web browser to open the page https://aka.ms/devicelogin and enter the code XXXXXXXXX to authenticate.

そうすると、https://aka.ms/devicelogin にアクセスして、コードXXXXXXXXX を入力するよう、メッセージが出力されますので、指定された URL にアクセスします。

スクリーンショット 2017-03-15 21.34.18.png
上図のような画面が表示されますので、ターミナルで表示されているコード XXXXXXXXX を入力します。入力コードが正しいと、自動で画面遷移します。
スクリーンショット 2017-03-15 21.34.43.png
コードが正しければ続行ボタンをクリックします。 (上図のコードは、既に処理済みなので、無効です。。。)
スクリーンショット 2017-03-15 21.35.01.png

Azure へのログイン画面が表示されたら、ご自身が利用されている ID とパスワードを入力してログインしましょう。
スクリーンショット 2017-03-15 21.35.40.png
ログイン完了したら、画面を閉じても大丈夫です。ターミナルでは、しばらくすると、サブスクリプション一覧が JSON で返ってきているはずです。

サービス プリンシパル登録

az ad sp create-for-rbac コマンドを実行します。

$ az ad sp create-for-rbac -n "TEST1" --role Contributor
{
  "appId": "0d2a0c30-e8fe-47fd-80d7-xxxxxxxxxxxx",
  "displayName": "TEST1",
  "name": "http://TEST1",
  "password": "ac52783a-488c-45e6-8504-xxxxxxxxxxxx",
  "tenant": "1686c04e-9f16-487f-bf89-xxxxxxxxxxxx"
}

Azure 管理ポータルで確認すると、アプリの登録も完了していました。
スクリーンショット 2017-03-15 22.01.13.png

サービス プリンシパルでログインできるか、ターミナルで確認してみます。

$ az login --service-principal -u "http://TEST1" -p <password> --tenant <tenant>
[
  {
    "cloudName": "AzureCloud",
    "id": "140b7311-XXXXXXX-43d7-a119-XXXXXXX",
    "isDefault": true,
    "name": "Microsoft Azure",
    "state": "Enabled",
    "tenantId": "1686c04e-XXXX-487f-bf89-XXXXXXXX",
    "user": {
      "name": "http://TEST1",
      "type": "servicePrincipal"
    }
  }
]

という具合にログインできました。

参考

この記事を書くにあたり、参考にしたページをまとめました。
- Azure CLI 2.0 でサービスプリンシパルが簡単に作れるようになっていた
- バーチャルマシンを ARM対応の Terraform を使ってプロビジョンしてみる

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5