Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
組織のセキュリティを管理する際に、組織/コレクション レベル、プロジェクト レベル、およびオブジェクト レベルでアクセス許可を設定できます。 この記事では、ユーザー インターフェイスが Azure Devops によって多少異なるため、オブジェクト レベルでアクセス許可を設定するためのセキュリティ ダイアログに進むのに役立ちます。 詳細については、「アクセス許可、アクセス、およびセキュリティ グループの概要」を参照してください。
次の項目はオブジェクトと見なされます。
- 全般: ダッシュボード、分析ビュー、Wiki、通知
- Azure Boards: 区分パス、イテレーション パス、共有クエリとクエリ フォルダーなど
- Azure Pipelines: パイプライン、デプロイ グループ、タスク グループなどをビルドおよびリリースする
- Azure Repos: Git リポジトリとブランチ、TFVC フォルダーまたはブランチ
- Azure Artifacts: アーティファクトとフィード
作業項目、タグ、テスト計画、およびその他のテストアーティファクトは、通常、プロジェクト レベルまたは区分パスで設定されるセキュリティ設定の対象となります。
必須コンポーネント
| カテゴリ | 要件 | 
|---|---|
| アクセス許可 | プロジェクト管理者 グループのメンバー、または個別のオブジェクト セキュリティ ダイアログを介して明示的な権限を持つ者。 | 
Note
TFVC では、プロジェクトごとに 1 つのリポジトリのみがサポートされます。 リポジトリから継承するリポジトリまたはリポジトリ フォルダー/ブランチのアクセス許可を設定できます。
オブジェクト セクションのアクセス許可ダイアログを開く
オブジェクトの [アクセス許可] ダイアログにアクセスするには、次の手順に従います。
- 特定のオブジェクトに移動します。
- 
              [詳細]...を選択します。
- ドロップダウン メニューから [セキュリティ] を選びます。
              
               
              
              
            
Note
リポジトリや Analytics ビューなどの一部のオブジェクトには、少なくとも Basic アクセス レベルが必要です。 詳細については、「アクセス レベル」を参照してください。
ダッシュボード、Wiki、および Analytic ビューのアクセス許可を設定する
プロジェクトの作成、削除、名前変更など、一部の一般的な項目に対して、プロジェクト レベルおよび組織/コレクション レベルでアクセス許可を設定できます。 次の表は、ダッシュボード、Wiki、および Analytic ビューのオブジェクト レベルでのアクセス許可の設定に関する情報を示しています。
| Object | 既定のグループ メンバーシップ | セキュリティにアクセスする方法 | 継承 | 
|---|---|---|---|
| ダッシュボード | Contributor | ダッシュボードを開き、区分パスを選択し、[詳細] [...] >[セキュリティ] を選択します。 | ✔️ (チーム ダッシュボードのプロジェクト設定) | 
| Wiki | Contributor | wiki を開き、[詳細] [...]>[Wiki のセキュリティ] を選択します。 詳細については、「Wiki のアクセス許可の管理」を参照してください。 | no | 
| Analytic ビュー | 共同作成者 & Basic | analytic ビューを開き、[詳細] [...]>[セキュリティ] を選択します。 | no | 
Boards オブジェクトのアクセス許可を設定する
次の表は、区分と反復パス、作業項目などのオブジェクト レベルでのアクセス許可の設定に関する情報を示しています。
| Object | 既定のグループ メンバーシップ | セキュリティにアクセスする方法 | 継承 | 
|---|---|---|---|
| 区分パス | プロジェクト管理者 | 区分の横にある [プロジェクトの設定]>[プロジェクトの構成]>[区分]>、[詳細] [...] >[セキュリティ] を選択します。 | ✔️ (親ノードからの子ノード) | 
| イテレーション パス | プロジェクト管理者 | イテレーションの横にある [プロジェクトの設定]>[プロジェクトの構成]>[イテレーション]>[詳細] [...] >[セキュリティ] を開きます。 | ✔️ (親ノードからの子ノード) | 
| 作業項目 | Contributor | [プロジェクトの設定]>[プロジェクトの構成]>[区分]>[区分パス]> 作業項目を開きます。 | no | 
| 作業項目のクエリとクエリ フォルダー | クエリまたはフォルダーまたはプロジェクト管理者の作成者 | 作業項目のクエリまたはクエリ フォルダー >[詳細] ... >[セキュリティ] を開きます。 | no | 
| デリバリー計画。 | プロジェクト管理者 またはデリバリー計画の作成者 | デリバリー計画の横にある [ボード]>[デリバリー計画]>[その他][...]>[セキュリティ] を開きます。 | no | 
| プロセス | プロジェクト管理者 | [詳細] ... >[セキュリティ] を選択します。 | ✔️ (組織/コレクションの設定から) | 
Note
作業項目タグ - プロジェクト レベル、[タグ定義の作成] でアクセス許可が設定されます。 作業項目タグはオブジェクトとして修飾されません。作業項目を通じて定義されます。
ヒント
レビュー担当者に関連する次のロールを分解してみましょう。
- 
              変更されたレビュー担当者:
- このロールは、一連のファイルに対してポリシーが定義されているため、追加または削除されたすべてのレビュー担当者に適用されます。
- たとえば、File1.csに変更が加えられたプル要求 (PR) について考えてみます。
- ユーザー A が File1.csへの変更を確認する必要があるとポリシーで指定した場合、PR のそのイテレーションの "変更されたレビュー担当者" ロールに分類されます。
 
- 
              レビュー担当者をリセットする:
- このロールは、"投票のリセット" ポリシーに関連しています。
- リポジトリにポリシー "新しいプッシュでの投票のリセット" が構成されていると仮定します。
- PR を確認する必要があった人物 B が既に承認している場合、ポリシーにより投票がリセットされます。
- 結果として、そのイテレーションの "レビュー担当者のリセット" ロールになります。
 
Repos オブジェクトのアクセス許可を設定する
次の表に、リポジトリ、Git リポジトリ、Git ブランチ、TFVC リポジトリのオブジェクト レベルでのアクセス許可の設定に関する情報を示します。
| Object | 既定のグループ メンバーシップ | セキュリティにアクセスする方法 | 継承 | 
|---|---|---|---|
| レポ | プロジェクト管理者 | [プロジェクトの設定][リポジトリ]> を開き、リポジトリの >[セキュリティ] を強調表示します。 | ✔️ | 
| Git リポジトリ | プロジェクト管理者 | [プロジェクトの設定]>[リポジトリ] および Git リポジトリを開きます。 | ✔️ (Git リポジトリのプロジェクト設定から) | 
| Git ブランチ | プロジェクト管理者 | [Repos]>[ブランチ]>使用するブランチ>[その他]>[ブランチ セキュリティ] を開きます。 | ✔️ | 
| TFVC リポジトリ | プロジェクト管理者 | [プロジェクトの設定]>[リポジトリ] および TFVC リポジトリを開きます。 | ✔️ | 
ヒント
- 
              ブランチ アクセス許可:
- ブランチは、リポジトリ レベルで行われた割り当てからアクセス許可のサブセットを継承します。
- 詳細については、「ブランチ アクセス許可の設定」と「ブランチ ポリシーを使用してコードの品質を改善する」を参照してください。
 
- 
              共有クエリ フォルダー:
- 各チームの共有クエリ フォルダーを作成します。
- そのフォルダーの下にクエリを作成および編集するためのアクセス許可を、すべてのチーム メンバーに提供します。
 
- 
              共同作成者グループ:
- 共同作成者グループにユーザーを追加すると、作業項目を追加および変更できます。
- 区分パスに基づいて、ユーザーとグループのアクセス許可を制限できます。 詳細については、「作業追跡のアクセス許可とアクセス権を設定する」、「区分パスの下の作業項目を変更する」を参照してください。
 
- 
              アクセス許可レポート:
- プロジェクト コレクション管理者は、リポジトリのアクセス許可レポートを ダウンロードできます。
- この機能のユーザー インターフェイス ボタンは、プロジェクト コレクション管理者グループのメンバーではないユーザーには表示されません。
 
Pipelines オブジェクトのアクセス許可を設定する
次の表は、ビルド パイプライン、リリース パイプライン、デプロイ グループなどのオブジェクト レベルでのアクセス許可の設定に関する情報を示しています。
| Object | 既定のグループ メンバーシップ | セキュリティにアクセスする方法 | 継承 | 
|---|---|---|---|
| Pipelines | プロジェクト管理者 | [パイプライン]>[パイプライン]>[すべて]>使用するパイプライン>[その他]>[セキュリティの管理] を開きます。 | ✔️ | 
| ビルド パイプライン | プロジェクト管理者 | ビルド パイプライン>[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ | 
| ビルド パイプライン実行 | プロジェクト管理者 | ビルド パイプライン実行 >[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ | 
| リリース パイプライン | プロジェクト管理者 | リリース パイプライン>[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ | 
| タスク グループ (クラシック) | プロジェクト管理者 | タスク グループ >[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ | 
| デプロイ グループ | プロジェクト管理者 | デプロイ グループ >[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ | 
| デプロイ プール | プロジェクト管理者 | 展開プール >[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ | 
| 環境 | プロジェクト管理者 | 環境 >[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ (環境のアクセス許可設定から) | 
| 変数グループ | プロジェクト管理者 | 変数グループ >[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ (ライブラリのアクセス許可設定から) | 
| セキュア ファイル | プロジェクト管理者 | セキュア ファイル >[詳細] [...] >[セキュリティの管理] を開きます。 | ✔️ (ライブラリのアクセス許可設定から) | 
アーティファクトオブジェクトのアクセス許可を設定する
次の表は、アーティファクトとフィードのオブジェクト レベルでのアクセス許可の設定に関する情報を示しています。
| Object | 既定のグループ メンバーシップ | セキュリティにアクセスする方法 | 継承 | 
|---|---|---|---|
| アイテム | プロジェクト管理者 | [アーティファクト]>[Azure Artifacts 設定] アイコンを開きます。 適切なアクセス許可がない場合、アイコンは表示されません。 | no | 
| フィード | プロジェクト管理者またはフィード管理者 | フィード >ギア アイコン>[アクセス許可]>[+ ユーザー/グループの追加] を開きます。 | no | 
Test plans オブジェクトのアクセス許可を設定する
- テスト計画、テスト スイート、テスト ケース、およびその他のテスト オブジェクトは、テスト固有の作業項目の種類を表しているため、作業項目と同様に管理されます。これについては、「テストのオブジェクトと用語」に説明があります。
- テスト レベルのアクセス許可は、プロジェクト レベルの設定または区分パス オブジェクト レベルの設定を使用して管理できます。 詳細については、「テストのアクセス許可とアクセスを設定する」を参照してください。
コマンド ラインを使用してオブジェクトのアクセス許可を設定する
az devops セキュリティ コマンド ライン ツールを使用すると、さまざまなオブジェクトと機能のアクセス許可を表示および管理できます。
コマンド ラインで管理できるものより詳細なアクセス許可の例を次に示します。
- 
              通知:EventSubscriptionとEventSubscriber名前空間を使用します。
- 
              ダッシュボード:DashboardPrivileges名前空間を使用してダッシュボードを読み取るか、または作成します。
- 
              サービス エンドポイント:ServiceEndpoints名前空間を介してサービス エンドポイントを使用、管理、または表示します。
- 
              デリバリー計画:Plans名前空間を介してデリバリー計画を表示します。
名前空間の詳細については、「セキュリティ名前空間とアクセス許可のリファレンス」を参照してください。
オブジェクト通知のアクセス許可を設定する
通知のアクセス許可を設定するためのユーザー インターフェイスはありませんが、コマンド ライン ツールと EventSubscription 名前空間を使用して一部のアクセス許可を設定できます。 詳細については、「セキュリティ名前空間とアクセス許可のリファレンス」を参照してください。
通知を管理するためのその他のヒントを次に示します。
- 
              通知レベル:
- 通知は、ユーザー、チーム、プロジェクト、組織/コレクションなど、さまざまなレベルで設定できます。
- 残念ながら、通知アクセス許可を設定するためのユーザー インターフェイスはありません。
- ただし、一部のアクセス許可は、コマンド ライン ツールと EventSubscription 名前空間を使用して構成できます。
 
- 
              イニシエーター オプションをスキップする:
- 開始したイベントの通知を受信しない場合は、[イニシエーターのスキップ] オプションを有効にします。
- これにより、開始したアクションの通知が禁止されます。
- 詳細については、「自分が開始したイベントの通知メールを受け取らないように設定する」を参照してください。
 
- 
              組織全体の通知:
- Azure DevOps では、組織全体の通知は直接サポートされていません。
- 別の方法として、組織全体に到達する電子メール配布リストを提供することを検討してください。
- Azure DevOps Services では、すべてのユーザーがサインインしたときに表示される az devops bannerコマンドを使用してバナーを作成できます。