Azure DevOpsのアクセスレベルとは?2026年更新情報と管理者が確認すべき設定

Azure DevOpsのアクセスレベルで最初に押さえるべきことは、これは「権限そのもの」ではなく、ユーザーが使える機能範囲と課金対象を決める設定だという点です。Reposに入れない、Test Plansが表示されない、ユーザー追加後に想定外の課金が発生する、といったトラブルは、アクセスレベルとセキュリティグループを混同したときに起こりがちです。Microsoft Learnの「About access levels」では、Azure DevOpsのアクセスレベルがWebポータル機能を制御し、セキュリティグループによる許可・拒否を補完するものだと説明されています。(Microsoft Learn)

2026年5月時点で管理者が見るべきポイントは、単に「Basic」「Stakeholder」を選ぶことではありません。2026年5月8日更新の公式情報では、有料アクセスの割り当て、既定アクセスレベル、グループルール、未使用ユーザーの見直し、複数組織の課金管理が実務上の確認対象になっています。(Microsoft Learn)

目次

Azure DevOpsのアクセスレベルとは何か

Azure DevOpsのアクセスレベルは、ユーザーがAzure DevOps ServicesまたはAzure DevOps Serverで利用できる機能を決める設定です。たとえば、コードを扱う開発者にはAzure Reposが必要ですが、進捗確認や作業項目へのコメントだけを行う関係者には、より限定的なStakeholderで足りる場合があります。

ここで重要なのは、アクセスレベルと権限は別物だということです。

項目役割
アクセスレベル使える機能範囲と課金対象を決めるReposを使えるか、Test Plansを使えるか
セキュリティグループ操作の許可・拒否を決めるContributors、Readers、Project Administrators
個別権限・ACL特定リポジトリやパス単位で操作を制御するブランチポリシー、Area Path、Iteration Path

Microsoftの公式説明でも、アクセスレベルはセキュリティグループを補完するものであり、ユーザーやグループをチーム・プロジェクトへ追加すると、既定のアクセスレベルとセキュリティグループに応じた機能を利用できるようになるとされています。多くの一般ユーザーには、BasicアクセスレベルとContributorsグループの組み合わせで大半の機能を利用できます。(Microsoft Learn)

今回の確認ポイントは「仕様変更」よりも「運用見直し」

「About access levels – Azure DevOps」で理解すべき変更点は、アクセスレベルの名称が大きく変わるというより、ライセンス・課金・グループルール・外部ユーザー管理まで含めた運用確認が重要になっている点です。

確認ポイント管理者への影響開発者・利用者への影響
アクセスレベルと権限の分離ライセンスを付けても、権限設定が不足すると操作できないReposやBoardsが見えない原因を切り分けやすくなる
Basic、Stakeholder、Basic + Test Plansの使い分け不要な有料ライセンスを減らせる必要な機能だけを利用できる
Visual Studioサブスクライバーの自動認識有効期限切れユーザーの棚卸しが必要サブスクリプション失効時に機能が制限される可能性がある
GitHub Enterpriseライセンスの認識Entra IDやGitHub側のライセンス状態確認が必要Basic相当のアクセスが自動付与される場合がある
グループルールMicrosoft Entraグループ単位で割り当てを自動化できる所属グループ変更によりアクセスレベルが変わる
Public projectの廃止予定公開プロジェクト前提の運用を見直す必要がある匿名アクセスや公開リンクが使えなくなる可能性がある

特に注意したいのは、アクセスレベルを下げると「ログインはできるが、必要な機能が見えない」という状態が起こり得ることです。たとえばStakeholderは無料で使いやすい一方、プライベートプロジェクトではAzure Reposへアクセスできません。(Microsoft Learn)

Azure DevOpsで使われる主なアクセスレベル

Azure DevOps Servicesでは、主に次のアクセスレベルを使います。

アクセスレベル向いているユーザー主な用途注意点
Stakeholder進捗確認者、業務部門、短期のレビュー担当者作業項目の閲覧・編集、ダッシュボード確認、リリース承認などプライベートプロジェクトではReposやTest Plansに制限がある
Basic開発者、スクラムメンバー、運用担当者Repos、Boards、Pipelines、Artifactsなどの基本機能6人目以降は課金対象になる場合がある
Basic + Test PlansQA担当、テスト設計者、受け入れテスト担当Basic機能に加えてTest Plansを利用テスト計画・手動テストを使う人に限定するのが基本
Visual Studio SubscriberVisual Studioサブスクリプション保有者サブスクリプション特典に応じたAzure DevOps利用サブスクリプションの有効性が検出される
GitHub EnterpriseGitHub Enterpriseライセンス保有者Basic相当のAzure DevOps利用Test Plansが必要なら追加の割り当てを検討する

公式ドキュメントでは、Basicは多くの機能を利用できるアクセスレベル、Basic + Test PlansはBasicにAzure Test Plansを加えたアクセスレベル、Stakeholderは制限付きアクセスとして説明されています。また、Visual StudioサブスクライバーやGitHub Enterpriseユーザーは、サインイン時にサブスクリプションやライセンスが認識される仕組みです。(GitHub)

管理者が最初に確認すべき設定

Azure DevOps管理者は、アクセスレベルを変更する前に次の順番で確認すると失敗しにくくなります。

手順確認する場所見るべき内容
現在のユーザー一覧を確認Organization settings > UsersAccess level、Last Access、割り当て元
役割ごとに必要機能を整理チーム構成、業務内容Repos、Boards、Pipelines、Test Plansの要否
既定アクセスレベルを確認Organization settings > Billing新規ユーザーに何が付与されるか
グループルールを確認Users > Group rulesEntraグループとアクセスレベルの対応
直接割り当てを確認Users画面グループルールと競合していないか
不要ユーザーを見直すUsersのLast Access退職者、長期未使用者、不要なBasicユーザー

公式情報では、Users画面でアクセスレベルやサービス拡張を確認・変更でき、複数ユーザーをまとめて編集したり、Last Accessを見て不要または低いアクセスレベルに変更すべきユーザーを探したりできます。(Microsoft Learn)

BasicとStakeholderの判断基準

アクセスレベルの判断で迷いやすいのが、BasicとStakeholderの使い分けです。費用だけを見てStakeholderに寄せると、開発・レビュー・テストの現場で必要な機能が使えなくなる可能性があります。

ユーザーの役割推奨アクセスレベル理由
Gitリポジトリをclone、push、pull requestレビューする開発者Basic以上StakeholderではプライベートプロジェクトのReposを利用できない
バックログを更新し、スプリント計画に参加するスクラムメンバーBasicBoardsを本格的に使うにはBasicが安全
作業項目の確認・コメント・簡単な更新だけを行う業務部門Stakeholder作業項目中心ならコストを抑えられる
リリース承認だけを行う管理職・承認者Stakeholderで足りる場合があるPipelinesの表示・承認用途なら十分なケースがある
テスト計画やテストスイートを作成するQA担当Basic + Test PlansTest Plans管理機能が必要
Wiki、ダッシュボード、チャートを作成・編集するメンバーBasicStakeholderでは作成・構成に制限が出やすい

Stakeholderは無料で無制限に割り当てられる便利なアクセスレベルですが、「制限付きの共同作業者」です。公式のStakeholderクイックリファレンスでは、StakeholderはAzure Boardsの作業項目作成・更新などが可能な一方、コードベースに貢献するユーザーには少なくともBasicアクセスを割り当てる必要があるとされています。(Microsoft Learn)

課金面で確認すべきポイント

Azure DevOpsのアクセスレベルは、課金にも直結します。Azure DevOps Servicesの料金ページでは、Basic Planは最初の5ユーザーが無料で、その後はユーザー単位の月額課金、Basic + Test Plansはユーザー単位の月額課金として示されています。Visual StudioサブスクライバーはAzure DevOpsへのアクセスが含まれ、5人の無料Basicユーザー枠にはカウントされないと説明されています。(マイクロソフトアジュール)

管理者が特に確認すべきなのは、次の3点です。

項目確認内容失敗しやすいポイント
Basicユーザー数6人目以降が課金対象になっていないか退職者や休眠ユーザーがBasicのまま残る
Basic + Test Plans本当にTest Plans管理が必要な人だけかQA以外にも広く付与してしまう
Visual Studio / GitHub Enterprise自動認識されるライセンスが有効か無効化後にStakeholderへ下がり、Reposが使えなくなる

公式の有料アクセス管理ページでは、Visual StudioサブスクライバーやGitHub Enterpriseユーザーはサインイン時に自動検出され、Stakeholderは無料の制限付きアクセス、Basicは最初の5ユーザーが無料、Basic + Test Plansは有料アクセスとして整理されています。(Microsoft Learn)

既定アクセスレベルを見直す

新規ユーザー追加時の既定アクセスレベルは、運用コストとセキュリティの両方に影響します。たとえば、開発者が多い組織で既定をStakeholderにしていると、参加直後にReposが使えずオンボーディングが止まることがあります。逆に、外部レビュー担当者が多い組織で既定をBasicにしていると、不要な課金が発生しやすくなります。

公式情報では、新しいユーザーがプロジェクトへ直接追加された場合は無料のStakeholderアクセスを取得し、既定アクセスレベルを変更するにはOrganization settingsのBillingで設定すると説明されています。(Microsoft Learn)

実務では、次のように決めると管理しやすくなります。

組織の状況既定アクセスレベルの考え方
開発者中心で、参加者の大半がReposを使うBasicを既定にし、不要ユーザーを定期的にStakeholderへ下げる
外部関係者や閲覧者が多いStakeholderを既定にし、開発者だけBasicを付与する
Entraグループで職種管理できている既定は低めにし、グループルールでBasicやTest Plansを付与する
短期プロジェクトや委託先が多いStakeholderまたは期限付きの棚卸し運用を前提にする

グループルールでアクセスレベルを自動化する

ユーザー単位でアクセスレベルを変更していると、異動・退職・プロジェクト参加のたびに設定漏れが起きます。Microsoft Entra IDを使っている組織では、グループルールでアクセスレベルとプロジェクトメンバーシップをまとめて管理すると効果的です。

公式ドキュメントでは、Azure DevOpsのグループルールにより、Microsoft EntraグループやAzure DevOpsグループ単位でアクセスレベルを割り当てられると説明されています。複数のルールに所属するユーザーには、より高いアクセスレベルが適用されます。(Microsoft Learn)

Entraグループ例割り当てるアクセスレベルプロジェクト権限の例
Dev-AzureDevOps-ContributorsBasicContributors
QA-TestPlansBasic + Test PlansContributors
PM-StakeholdersStakeholderContributorsまたはReaders
Project-AdminsBasicProject Administrators
External-ReviewersStakeholderReadersまたは限定的なContributors

グループルールの注意点は、反映タイミングです。公式情報では、Microsoft Entra IDのグループメンバーシップ更新はAzure DevOps側で定期的に反映され、動的グループの更新に時間がかかる場合があると説明されています。また、サービスプリンシパルやマネージドIDにはライセンス用グループルールが適用されないため、直接割り当てが必要です。(Microsoft Learn)

Visual Studioサブスクリプション失効への対応

2026年の運用で特に見落としやすいのが、Visual Studioサブスクリプションの失効です。公式FAQでは、2026年2月から管理者が期限切れサブスクリプションのユーザーを確認できるようになり、2月・3月の猶予後、4月以降は期限切れユーザーがStakeholderアクセスへ移行し始めると説明されています。(Microsoft Learn)

影響は小さくありません。これまでVisual Studio Enterpriseなどの特典でBasic + Test Plans相当の機能を使っていたユーザーが、失効後にStakeholder相当になると、ReposやTest Plansが使えなくなる可能性があります。

確認手順は次のとおりです。

手順操作
影響ユーザーを抽出Organization settings > UsersでAccess levelフィルターを使い、Invalid表示のVisual Studioサブスクリプションを確認
必要機能を確認Repos、Pipelines、Test Plans、Artifactsの利用有無を確認
代替アクセスを付与必要に応じてBasicまたはBasic + Test Plansを割り当て
グループルールを整備サブスクリプション失効後も必要なアクセスが維持されるようにする
開発者へ通知失効後にReposやTest Plansが見えなくなる可能性を事前共有

公式FAQでは、Visual Studioサブスクリプションが検出されなくなったユーザーは新規ユーザーのように扱われ、既定アクセスレベル、グループルール、GitHub Enterpriseライセンスの有無に応じてアクセスが決まるとされています。(Microsoft Learn)

GitHub Enterpriseユーザーの確認ポイント

GitHub Enterpriseを利用している組織では、Azure DevOps側のアクセスレベルにも影響があります。公式FAQでは、GitHub Enterprise Cloudユーザーが同じMicrosoft EntraテナントでGitHubとAzure DevOpsへアクセスしている場合、Azure DevOpsでGitHub Enterpriseライセンスが認識されると説明されています。(Microsoft Learn)

ただし、GitHub EnterpriseはBasic相当のアクセスであり、Test Plansが必要なユーザーにはBasic + Test Plansを割り当てる必要があります。また、GitHub Enterpriseライセンスが検出されなくなった場合は、既定アクセスレベルやグループルールに従って再評価されます。(Microsoft Learn)

状況確認すべきこと
GitHub Enterpriseを導入済みAzure DevOpsとGitHubで同じEntra IDを使っているか
Azure DevOpsでBasic課金が増えているGitHub Enterpriseとして認識されていないユーザーがいないか
QA担当がGitHub EnterpriseユーザーTest Plansが必要ならBasic + Test Plansを別途検討
ライセンス解除・退職者がいるStakeholderへ下がるか、組織から削除されるかを確認

Azure DevOps Serverの場合の注意点

Azure DevOps ServicesとAzure DevOps Serverでは、アクセスレベルの管理画面や前提が異なります。公式の「Change access levels」はAzure DevOps Server向けであり、Azure DevOps Servicesのアクセス管理は「Add organization users and manage access」を参照するよう案内されています。(Microsoft Learn)

Azure DevOps Serverでは、コレクション単位でアクセスレベルを管理し、既定アクセスレベルが全プロジェクトに影響します。公式ドキュメントでは、ユーザーやグループがチーム、プロジェクト、コレクションへ追加されると既定アクセスレベルを取得し、別のアクセスレベルを与えるには非既定のアクセスレベルへ追加する必要があると説明されています。(Microsoft Learn)

Server環境で特に注意すべきなのは、既定アクセスレベルをStakeholderにする場合です。公式情報では、サービスアカウントが既定アクセスレベルへ追加されるため、既定をStakeholderにする場合はAzure DevOpsサービスアカウントをBasicまたは上位レベルへ追加する必要があるとされています。(Microsoft Learn)

開発者が確認すべき影響範囲

アクセスレベルの見直しは管理者だけの作業ではありません。開発者やQA担当も、自分の作業に必要な機能がどのアクセスレベルに依存しているかを把握しておく必要があります。

作業内容必要になりやすいアクセスレベル確認ポイント
Git clone、push、pull requestレビューBasic以上StakeholderではプライベートReposにアクセスできない
Boardsで作業項目を追加・更新Stakeholderでも可能な範囲あり優先順位変更、スプリント割り当てなどは制限に注意
Pipelineの確認・承認Stakeholderでも可能な場合ありYAML編集やリポジトリ操作が必要ならBasic
Test Plansの作成・管理Basic + Test PlansBasicだけではテスト計画管理が不足する可能性
Wikiやダッシュボードの編集Basic推奨Stakeholderでは作成・構成に制限がある
拡張機能の利用Basic以上が必要な場合ありMarketplace拡張の説明を確認

公式FAQでは、Stakeholderアクセスのユーザーは作業項目やダッシュボードなどを扱える一方、プライベートGitリポジトリの閲覧、clone、push、pull requestレビューはできないと説明されています。(Microsoft Learn)

CLIやAPIで管理する場合のマッピング

ユーザー管理を自動化している組織では、Azure DevOps CLIやREST APIでアクセスレベルを扱う場面があります。UI上の表示名とCLI/APIの値は一致しないため、スクリプト作成時はマッピングを確認する必要があります。

UI上のアクセスレベルCLI/APIで使う値の例
Stakeholderstakeholder
Basicexpress
Basic + Test Plansadvanced
Visual Studio Subscribermsdn / eligible
Visual Studio Enterprisemsdn / enterprise
GitHub EnterprisegitHub / enterprise

公式のアクセスレベル解説では、Azure DevOps Servicesでaz devops user addやUser Entitlement REST APIを使ってアクセスレベルを管理でき、UI上のアクセスレベルとAccountLicenseTypelicensingSourcemsdnLicenseTypeGitHubLicenseTypeの対応が示されています。(GitHub)

たとえば、Basicアクセスのユーザーを追加するCLIの考え方は次のようになります。

az devops user add \
  --email-id [email protected] \
  --license-type express \
  --org https://dev.azure.com/yourorganization

Stakeholderへ変更する場合は次のように指定します。

az devops user update \
  --user [email protected] \
  --license-type stakeholder \
  --org https://dev.azure.com/yourorganization

公式のユーザー管理ページでも、az devops user addaz devops user updatestakeholderexpressadvancedなどのライセンスタイプを指定できると説明されています。(Microsoft Learn)

移行・展開時の実務チェックリスト

アクセスレベルの見直しを一括で行う場合は、いきなり全ユーザーへ適用しないことが重要です。特に、BasicからStakeholderへ下げる作業はコスト削減につながる一方、開発やテストを止めるリスクがあります。

フェーズ実施内容成功条件
棚卸しユーザー、アクセスレベル、Last Access、所属プロジェクトを一覧化不明な直接割り当てが見える
役割定義開発者、QA、PM、閲覧者、外部委託先を分類必要な機能とアクセスレベルが対応している
小規模検証1チームまたは一部ユーザーで変更を試すRepos、Boards、Pipelines、Test Plansが想定どおり使える
グループルール適用Entraグループ単位で割り当てを自動化手作業の割り当てが減る
直接割り当て削除グループルール運用へ移行例外ユーザーだけが直接割り当てで残る
監視課金、Last Access、問い合わせ内容を確認不要なBasicやTest Plansが減る

公式のグループルールドキュメントでは、グループルールで管理する場合、直接割り当てを削除してグループルール中心の運用へ移行できると説明されています。ただし、グループルールが付与するより高いアクセスレベルを手動で持っているユーザーは、その高いアクセスレベルが維持されます。(Microsoft Learn)

よくある失敗と対策

失敗例起きる問題対策
Stakeholderを「読み取り専用」と誤解する作業項目の編集などが可能な範囲を見落とす権限制御はReadersや個別権限で行う
Basicを付ければ何でもできると思い込むリポジトリやプロジェクトの権限不足で操作できないセキュリティグループとACLも確認する
Test Plans利用者をBasicに下げるテスト計画作成や手動テスト管理ができなくなるQA担当はBasic + Test Plansの要否を確認する
グループルールだけでサービスプリンシパルを管理する自動割り当てされないサービスプリンシパルやマネージドIDは直接割り当てる
Visual Studioサブスクリプション失効を放置するReposやTest Plansが使えなくなるInvalid表示のユーザーを定期確認する
Public project前提でStakeholder運用する2027年以降の非公開化で外部公開運用が崩れるGitHub移行またはPrivate前提の認証設計にする

特にPublic projectは注意が必要です。Microsoftは、Azure DevOpsの新しいPublic projectを作成できなくなり、2027年には既存のPublic projectがPrivate projectへ自動変換され、匿名アクセスが無効化されると説明しています。(Microsoft Learn)

Conditional Accessはアクセスレベルとは別に設計する

アクセスレベルは「Azure DevOps内の機能範囲」を決めるものであり、MFA、デバイス準拠、IP制限などのサインイン条件を直接管理するものではありません。これらはMicrosoft Entra IDのConditional Accessで設計します。

公式ドキュメントでは、Azure DevOpsを対象リソースにしたConditional Accessポリシーを作成でき、MFA要求、ユーザーやワークロードID、ネットワーク条件、デバイス条件などを組み合わせられると説明されています。(Microsoft Learn)

実務では、次のように分けて考えると整理しやすくなります。

管理したいこと使う設定
ReposやTest Plansを使えるかAzure DevOpsのアクセスレベル
プロジェクトで何を操作できるかAzure DevOpsのセキュリティグループ・権限
どの端末・場所からサインインできるかMicrosoft Entra Conditional Access
APIやPAT利用をどこまで許可するかAzure DevOps組織ポリシー、Conditional Access、PAT管理
外部ユーザーをどこまで見せるかEntra ID、Project-Scoped Users、プロジェクト権限

まず実施すべきアクション

Azure DevOpsのアクセスレベル見直しでは、最初から全ユーザーを変更するのではなく、棚卸し、分類、検証の順で進めるのが安全です。

まず、Organization settings > Usersでユーザー一覧を確認し、Basic、Basic + Test Plans、Stakeholder、Visual Studio Subscriber、GitHub Enterpriseの割り当て状況を把握します。次に、Last Accessで長期間使っていない有料アクセスユーザーを洗い出します。そのうえで、開発者はBasic、QA担当はBasic + Test Plans、閲覧・承認中心の関係者はStakeholderという形で役割別の基準を作ります。

グループルールを使える組織では、Entraグループを起点にアクセスレベルを自動化しましょう。直接割り当てを残す場合は、例外理由を記録しておくと、後から課金や権限の棚卸しがしやすくなります。

最後に、変更後は開発者に次の4点を確認してもらうと、影響を早期に見つけられます。

確認項目見るべき結果
Reposclone、push、pull request確認ができる
Boards作業項目の作成・更新・スプリント操作ができる
Pipelines必要なパイプラインの閲覧・実行・承認ができる
Test PlansQA担当がテスト計画・テストケースを扱える

Azure DevOpsのアクセスレベルは、単なるライセンス設定ではなく、開発体験、セキュリティ、コスト管理を同時に左右する重要な管理項目です。まずは現在の割り当てを可視化し、役割別の基準を決め、グループルールで継続管理できる状態にすることが、2026年時点の最も現実的な対応です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次