kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

VSサブスクリプションとVSTSアカウントをAzure AD認証で動かす場合の注意事項

これは2018/2/1時点の情報です。

たぶん日本マイクロソフトさんから翻訳が出るんじゃないかなあと期待しているのですが、重要な注意事項なので簡単に翻訳&解説してみます。オリジナルも必ず読んでください。

VS Subscriptions and linking your VSTS account to AzureAD – Microsoft DevOps Blog

前提

Visual StudioサブスクリプションはMSアカウントに紐づけるのが基本です。そして、AzureやVSTSのサブスクリプションもMSアカウントで使っている人が多いと思います。個人もしくは小規模団体であればこれでもいいでしょう。

しかし、大きな組織ではそうはいきません。会社で買ったVSサブスクリプションは会社のAzure ADに紐づけておきたいという話はよくあります。VSサブスクリプションを自分のMSアカウントに紐づけたまま、VSTSをAzure ADにくっつける場合の認証のパターンによってはちょっと厄介なことになります。

そのことを書いたのがMSから公開された前述のブログです。

MSアカウントをoutlook.com等に使っていて、VSサブスクリプションをAzure AD(exsample.com)に紐づけたい場合

VSTSかAzureを組織のAzure ADに紐づけていて、VSサブスクリプションが個人のMSアカウントなどの異なる認証にある場合、VSサブスクリプションを"Alternate Account"でAzure ADに紐づけてください。

関連付けされると、どちらもOKになります。

exsample.comにサブスクリプションが関連付けられているけど、このドメインのVSTSがAzure ADで運用されていない。サインインはoutlook.comなどのMSアカウント

このシナリオではMSアカウント作成時にロックダウンされてしまいます。現在解決方法はなく、MS側が頑張って修正しています。今後、MSアカウントの"Alternate account"でAzure ADのVSTSにサインインできるようにするつもりです。

サブスクリプションの管理者はAzure ADのメールアドレスに関連付けます。

サブスクリプションが exsample.com に関連付けられているけど、組織のAzure ADは別のメールアドレス(exsample.jpなど)で、サブスクリプションと一致していない

二番目のシナリオとよく似ていますが、こちらもサポートされていません。VSサブスクリプション側にフィードバックをもらっていて、Azure ADの外部認証で何とかできるように計画中。管理者が期待するメールアドレスに割り当てるのが一番いい解決方法になります。

最後に

この辺のドメインと認証の運用は過渡期ということもあり、非常にややこしいです。私もいろいろ便利そうなので、Azure ADベースでVSTSを運用したいのです。

しかし、サブスクリプションががんじがらめ&失敗するとどうにもならないということもあり、気軽に試せないです…。必要であれば、MSのサポートに問い合わせてみてください。

注意点として、会社のAzure ADはVSサブスクリプションに対して関知しないといわれたら一番目のシナリオの解決が非常に困ることになるので、この辺の制度を認識してもらうところからでしょうかね。Azure AD関係の知識がないと理解してもらうのが難しいところです。