次の方法で共有


アクセス許可と有効なアクセスを表示する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

この記事では、組織、プロジェクト、リポジトリ (またはその他のオブジェクト) レベルでアクセス許可を表示し、ユーザーとグループの有効なアクセス権を確認する方法について説明します。 アクセス許可の状態 (許可、拒否、継承)、継承とグループ メンバーシップが有効なアクセス許可に与える影響、および一般的なアクセスの問題をトラブルシューティングする手順について説明します。

ここでは、次の内容について学習します。

  • Web ポータルでアクセス許可の割り当てを表示する場所。
  • ユーザーまたはグループの有効なアクセス許可を確認する方法。
  • アクセス許可に期待される効果がない一般的な理由 (継承、拒否、利害関係者アクセス、Microsoft Entra ID グループ マッピング)。

簡単な手順:

  1. 組織の設定またはプロジェクトの設定>セキュリティ (またはアクセス許可) を開きます。
  2. オブジェクト (プロジェクト、リポジトリ、またはグループ) を選択し、割り当てられたアクセス許可を表示します。
  3. 有効なアクセスを検査するには、[ユーザー/グループ] または [有効なアクセス許可] UI を使用します。
  4. 必要に応じて、グループ メンバーシップと、オーバーライドで許可される拒否規則を調べます。

注釈

アクセス許可管理機能と UI は、Azure DevOps Services (クラウド) とオンプレミスの Azure DevOps Server によって若干異なります。 次のガイダンスでは、必要に応じて UI の違いについて説明します。

権限モデルの基本

Azure DevOps のアクセス許可では、次の 3 つの割り当て状態が使用されます。

  • 許可— 明示的にアクセス許可を付与します。
  • 拒否- 明示的にアクセス許可を拒否し、[許可] をオーバーライドします。
  • 継承 — このレベルでは明示的な割り当てはありません。アクセス許可は親スコープまたはグループ メンバーシップから継承されます。

有効なアクセス許可は、次の割り当てを評価して計算されます。

  • オブジェクト自体 (プロジェクト、リポジトリ、エリア パスなど)
  • 親スコープ (コレクション、組織、プロジェクト)
  • グループ メンバーシップ (組み込みグループ、カスタム グループ、Microsoft Entra ID グループ)
  • 明示的な拒否割り当て(優先される)

"有効な" アクセス許可の意味:

有効なアクセス許可とは、Azure DevOps が関連するすべてのアクセス許可の割り当てを評価した後に、ユーザーまたはグループがオブジェクトに対して実際に持っているネット アクセスです。 システムは、オブジェクト、親スコープ、およびすべてのグループ メンバーシップ全体で明示的な許可と拒否の割り当てを結合します。明示的な拒否エントリが優先されます。 実際には、"有効なアクセス許可" は、その結果に貢献したすべての個々の割り当てではなく、最終的な結果 (実際に実行できること) を示します。

アクセス許可の解決と継承の詳細については、「 アクセス許可について」と「アクセス許可の状態」を参照してください。

アクセス許可を表示する場所

オブジェクトに応じて、Web ポータル内の複数の場所でアクセス許可を表示できます。

  • 組織レベルまたはコレクション レベル: 組織の設定>セキュリティ (または 組織の設定>権限)。
  • プロジェクト レベル: プロジェクト設定>Permissions (または Project 設定>古い UI のセキュリティ)。
  • リポジトリ、パイプライン、ボード、または他のリソース: リソースを開いて、設定またはセキュリティ(例えば、>> を選択します)。

[セキュリティ/アクセス許可] ページには、割り当てられたグループとユーザー、およびユーザーまたはグループでフィルター処理できるアクセス許可マトリックスが表示されます。

有効なアクセス許可を確認する (UI)

  1. https://dev.azure.com/{Your_Organization} にサインインします。

  2. 検査するオブジェクト (組織、プロジェクト、リポジトリなど) に移動します。

  3. [プロジェクトの設定] または [組織の設定] >[アクセス] (または [セキュリティ]) を選択します。

  4. [ ユーザー または グループ] を選択し、検査する ID を選択してから、アクセス許可グリッドを表示します。

  5. 指定された "有効なアクセス許可" リンクまたはボタン (存在する場合) を使用して、選択したオブジェクトで選択した ID の最終的な有効なアクセス許可を計算します。

    プロジェクトのセキュリティまたはアクセス許可を開きます。

  1. サーバーまたはコレクション ポータルにサインインします。
  2. プロジェクト設定>セキュリティ (または組織/コレクションの設定>セキュリティ) に移動します。
  3. グループまたはユーザーを選択し、アクセス許可マトリックスを調べます。 ダイアログでフィルターと有効なアクセス許可のコントロールを使用します。

有効なアクセス許可を確認する (コマンド ライン/REST)

自動化を希望する場合は、REST API を使用して ACL または Azure DevOps CLI/PowerShell モジュールを読み取り、アクセス許可チェックをスクリプト化します。 リソースのセキュリティ名前空間を検索し、ACL ビットを評価して効果的なアクセスを計算します。

一般的なシナリオとトラブルシューティング

  • 許可より拒否が優先: どの範囲においても明示的な拒否が優先されます。 アクセス許可の拒否を上位または下位のスコープやグループ メンバーシップ全体で確認します。
  • 複数のグループのメンバーシップ: 有効なアクセス許可はグループの割り当てを組み合わせます。すべてのグループの拒否が適用されます。
  • 親スコープからの継承: アクセス許可が現在のレベルで継承されている場合は、親スコープで割り当てを確認します。
  • Microsoft Entra ID グループ マッピング: ユーザーが Microsoft Entra グループを通じて追加される場合は、正しいグループが Azure DevOps に同期されていること、およびグループのメンバーシップが期待通りであることを確認します。
  • 利害関係者のアクセス制限: 利害関係者アクセス権を持つユーザーは、アクセス許可の割り当てに関係なく機能の可用性が制限されます。ユーザーがアクションを実行できない場合は、アクセス レベルを確認します。
  • 動的または一時的なアクセス: 一部のポリシー (条件付きアクセスなど) や外部プロビジョニングがサインイン/アクセスに影響する可能性があります。サインインに失敗した場合は、Microsoft Entra 条件付きアクセス ポリシーを確認してください。

クイックトラブルシューティングのチェックリスト

  1. サインインに使用されているユーザー アカウントを確認します (Azure DevOps に表示されている ID と一致します)。
  2. ユーザーの直接グループ メンバーシップと間接グループ メンバーシップを調べます。
  3. オブジェクトスコープと親スコープで明示的な拒否割り当てを検索します。
  4. ユーザーのアクセス レベル (利害関係者と基本) とライセンスの制限を確認します。
  5. Microsoft Entra グループを使用している場合は、グループの同期とメンバーシップを確認します。
  6. 必要に応じて、REST/CLI を使用してリソースの ACL を一覧表示し、プログラムで評価します。

監査と履歴

組織で監査が有効になっている場合は、監査ログ (組織の設定 > 監査ログ) を使用して、セキュリティ グループ、アクセス許可の割り当て、メンバーシップの変更を追跡します。 監査イベントは、アクセス許可またはメンバーシップが変更されたタイミングを追跡するのに役立ちます。

次のステップ