Azure DevOpsの権限について「組織レベルの権限について」「プロジェクトレベル・リポジトリレベルの権限について」、「各サービスレベルの権限について」の3回に分けて書きたいと思います。
はじめに
Azure DevOpsの権限ですが、とても細かく区分されており、少々複雑になっています。組織レベル、プロジェクトレベル、リポジトリレベル…とそれぞれのレベルで権限が存在し、さらにそれぞれのサービスに対しても権限が存在するためです。
そんな、細分化された権限について、本記事では解説していきたいと思います。
また、Azure DevOpsはサービス自体も多く存在するため、代表的なサービスについての権限についても紹介します。
Azure DevOpsとは
Azure DevOpsとは、Microsoftが提供する、DevOpsを実行するために必要な環境やツールを備えたサービス群です。
Azure DevOpsを使うことで以下のことが実行できます。
- ソースコードやライブラリの管理
- CI/CDの実行
- 手動テストの管理・支援
また、Azure DevOpsでは以下のサービスを利用することができます。
- Azure Boards
- Azure Repos
- Azure Pipelines
- Azure Test Plans
- Azure Artifacts
それぞれの細かい機能については以下のドキュメントを参照ください。
Azure DevOpsの権限について
本記事では、まず組織レベルの権限について紹介します。
Azure DevOpsにおける組織とは
Azure DevOpsは階層構造であり、組織は必ず1つのEntra IDを親として持っています。
組織は、Azure DevOpsを管理するためのグループです。
組織の配下で、事業ごと、地域ごと、案件ごと、といったように複数のプロジェクトを作成し、管理することが可能です。
Azure DevOpsでの組織の作成方法は、以下ドキュメントを参照ください。
組織の権限について
既定のユーザーとグループ
Azure DevOpsでは 、組織を作成した時、以下のグループとユーザーがデフォルトで作成されます。
■グループ
- Project Collection Administrators
- すべての特権操作を実行可能なグループ
- Project Collection Build Administrators
- ビルドリソースを管理するためのアクセス許可と組織のアクセス許可を持つグループ
- Project Collecrion Build Service Accounts
- 組織のビルドサービスを実行許可を持つグループ
- Project Collection Proxy Service Accounts
- 組織のプロキシサービスの実行許可を持つグループ
- Project Collection Service Accounts
- 組織とAzure DevOps Serviceに対するサービスレベルのアクセス許可を持つグループ
- Project Collection Test Service Accounts
- 組織に対するテストサービス許可を持つグループ
- Project Collection Valid Users
- すべてのユーザとグループが所属するグループ
- Project-Scoped Users
- 組織レベルのデータに対する制限付きの可視性を持つグループ
- Security Service Group
- リソースへの明示的なアクセス許可を付与されたIDが自動定に追加されるグループ
■ユーザー
- ユーザー
- Demo Build Service(組織名)
- Project Collection Buid Service(ID)
権限の付与
グループ、ユーザーにはそれぞれ権限が割り振られています。
ユーザーの権限はユーザー個々で設定することも可能ですが、基本的には所属するグループの権限を継承するよう規定で設定されています。そのため、管理者権限を持つグループにユーザーを追加すると、そのユーザーが管理者としてAzure DevOpsを運用することができます。
※下図はProject Collection Administrators(グループ)の権限詳細画面
Azure DevOpsの権限は既定で作成されている役割を持ったグループに別のグループ、またはユーザーを所属させることで、組織への権限を与えることができます。
例えば、あるユーザーに組織への管理者権限を与え、管理・運用をさせたいと考えた時、指定のユーザを「Project Collection Administrators」に所属させることで、管理者権限を与えることができます。
また、独自のグループを作成し、そのグループに複数のユーザを追加し、そのグループ自体を「Project Collection Administrators」に所属させることで、そのグループに所属している複数のユーザにて管理・運用することも可能です。
最後に
Azure DevOpsはとても細かく権限が分かれているため、運用・管理の際には、しっかり控えておくことが重要となります。
本記事ではAzure DevOpsの「組織レベルの権限について」簡単に記載しました。
次の記事では「プロジェクトレベル・サービスレベルの権限について」書こうと思います。
米澤 拓馬(日本ビジネスシステムズ株式会社)
ハイブリッドクラウドグループの米澤です。ハイブリッドということもあり普段の業務ではクラウドとオンプレミスの両方を対応しております。趣味は、映画とNBAの鑑賞です。最近はゴルフをはじめまして、週末は打ちっぱなしに行き、練習の日々です。
担当記事一覧