次の方法で共有


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

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

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

以下について学習します。

  • 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)。
  • プロジェクト レベル: プロジェクト設定>Permissions (または Project 設定>古い UI のセキュリティ)。
  • リポジトリ、パイプライン、ボード、または他のリソース: リソースを開いて、設定またはセキュリティ(例えば、>> を選択します)。

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

ユーザーまたはグループのアクセス許可を表示する

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

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

  3. プロジェクト の設定 または 組織の設定>Permissions を選択します

  4. [ ユーザー ] または [グループ] を選択し、検査する ID を選択します。

  5. アクセス許可グリッドを表示して、割り当てられたアクセス許可を表示します。 グリッドには、グループ メンバーシップと継承に基づいて、各アクセス許可の有効な結果が表示されます。

    注釈

    アクセス許可グリッドには、選択したユーザーまたはグループに対して計算された有効なアクセス許可が表示されます。 アクセス許可に特定の値がある理由を理解するには、ユーザーのグループ メンバーシップを確認し、親スコープで明示的な 許可 または 拒否 の割り当てを確認します。

    プロジェクト レベルのアクセス許可ページを示すスクリーンショット。

  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 を一覧表示し、プログラムで評価します。

監査と履歴

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

次のステップ