はじめに
Azure DevOps の Organizaion や Project には、当該環境を作成したサブスクリプション上の Azure AD ユーザーだけでなく外部組織の Azure AD ユーザーも参加させることが可能です。仕組みとしてはシンプルで Azure AD B2B の機能によって外部ユーザーを招待しているだけですが、課金や権限管理を外部組織のパートナーも含めて一元化できるため非常に便利です。
また、Organizaion の Owner はいつでも変更でき外部ユーザーに設定することも可能であるため、プロジェクトの特定期間のみ外部組織のメンバーを Owner にアサインするといった運用も可能ですし、これらに派生した話として はじめの Organizaion の作成から外部ユーザーが実施することも可能 です。今回はこの点について解説したいと思います。
実施環境と前提条件
作業をするための前提として、Organizaion を作成する側のサブスクリプション(Azure AD)に対して事前に外部ユーザーを招待しておきます。ユーザー招待の細かな手順は割愛しますが、以下の通り実施しておけば問題ないです。
Azure Portal で Azure Active Directory B2B コラボレーション ユーザーを追加する
外部ユーザーによる Organizaion の作成
ここから本題となる、Organizaion の作成に入ります。作業は全て招待された外部ユーザーで実施します。
Azure Portal で devops を検索し、画面下部の「My Azure DevOps Organizations」をクリック。
何度か画面遷移すると以下が表示されますが、この画面における 「Switch directory」 というところがポイントです。ここをクリックすると、該当ユーザーがアクセス可能な Azure AD のディレクトリ一覧が表示されるので、先ほど招待されたディレクトリを選択します。これによって、選択した Azure AD のディレクトリ上で Organizaion が作成されます。
後は、Organizaion の名称を設定すれば完了です。https://dev.azure.com/{Organizaion名称} で作成したOrganizaionにアクセスできますし、「Organization Settings」-「Azure Active Directory」から、対象のディレクトリ上に正しく作成されたことが確認できます。
まとめ
外部組織の Azure AD ユーザーで Azure DevOps の Organizaion を作成する手順をご紹介しました。私は SIer に勤めておりまして、お客様や引き入れるパートナー様とどのような作業分担・責任分解でスキームを組むかはプロジェクト毎の契約内容により細部が変わってくるため、Azure AD の仕組みの応用でそれらが柔軟に調整できる Azure DevOps というサービスは非常に魅力的に感じました。
今回は検証作業であったため招待した外部ユーザーにはサブスクリプションに対して強めの権限を与えましたが、細かく制御すれば Azure DevOps 関係のロールだけでも問題ないかもしれません。この辺りは、時間のある時に別途検証してみたいと思います。