19.10から、Azure Sphereテナントの認証が、ロールによるアクセス制御に変更されました。
ロールによるアクセス制御に
ざっくり言うと、認証にマイクロソフトwork/schoolアカウントが使えるようになって、Azure ADテナントを立てたりといった手間が無くなります。また、ユーザー毎にロール(役割)を指定できるようになりました。現在は、Administrator, Contributor, Readerの3種類が指定できます。なんでもアリな人と、デバイスの追加変更ができる人と、見るだけの人。ロールの詳細は、azsphere roleのaddを参照ください。
OTAの構造がシンプルに
アプリケーションの配布に、Image, Image Set, Component, Feed, Device Group, SKUと、大変凝った構造になっていましたが、
Product, Device Group, Imageとシンプルになりました。
新しい認証モデルへの移行作業が必要
この、新しい認証モデルへは、突如変更されるわけではなく、自ら移行を作業が必要です。
一人でしか使っていないAzure Sphereテナントの場合は簡単です。(複数で利用しているAzure Sphereテナントの場合はこちらを参照ください。)
- マイクロソフトアカウントでログイン(azsphere login --newuser)
- Azure Sphereテナントを新しい認証モデルへ移行(azsphere tenant migrate)
- 旧来の認証を禁止(azsphere role remove-legacy-access)
たったこれだけ。
さぁ、やってみましょう。
認証モデルを移行してみる
azsphere -?
で19.10以降になっていることを確認します。
マイクロソフトアカウントでログインします。azsphere login --newuser
。
Press any keyと出ているので、Enterキーを押します。
すると、別ウィンドウでマイクロソフトアカウントのログイン画面が表示されました。
ログインすると、アクセス許可の画面が表示されました。
一番下の承諾ボタンをクリックすると、azsphereコマンドのウィンドウにLogin successfulのメッセージが表示されて、無事ログインできたようです。
黄色でいくつか警告メッセージが表示されていますが、Azure Sphereテナントがまだ移行されていないため表示されたようです。
それでは、移行しましょう。azsphere tenant migrate
を実行します。
移行するAzure Sphereテナントと管理者のアカウントに間違いがないことを十分確認してから、yes
と入力します。
移行が開始した旨のメッセージが表示されました。
公式ドキュメントによると、20分くらいかかるそうです。
azsphere device list
が表示されれば、新しい認証モデルへ移行完了のようなので、実行してみます。
完了したみたい♪
最後に、旧来の認証を禁止しておきましょう。azsphere role remove-legacy-access
間違いないことを確認してから、yes
と入力します。
移行作業が全て完了しました!
おまけ
azsphere login --newuser
すると、azsusers.onmicrosoft.comというAzureディレクトリにマイクロソフトアカウントが登録されるようです。
覗いてみようとしましたが、ちゃんと権限で弾かれてしまいましたw