Git リポジトリのアクセス許可を設定する

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

ヒント

AI を使用して、Azure DevOps タスクに役立てることができます。 作業を開始するには、 Azure DevOps MCP Server で AI サポートを有効にする 方法に関するページを参照してください。

レポジトリへのアクセスを管理して、ソース コードにコントリビュートできるユーザーおよび他の機能を管理できるユーザーを制限します。 最上位の Git リポジトリ エントリを変更すると、すべての Git リポジトリのアクセス許可を設定できます。 個々のリポジトリは、最上位の Git リポジトリ エントリからアクセス許可を継承します。

Note

ブランチは、リポジトリ レベルで行われた割り当てからアクセス許可のサブセットを継承します。 ブランチのアクセス許可とポリシーについては、「ブランチ アクセス許可の設定」およびブランチ ポリシーを使用したコード品質の向上に関する記事を参照してください。

リポジトリのアクセス許可、ブランチ ポリシー、コミット署名、および実際の実装シナリオに関する包括的なセキュリティ ガイドについては、 リポジトリとプル要求のセキュリティ保護に関するセクションを参照してください。

より高いアクセス許可レベルを提供するユーザーに関するガイダンスについては、「アクセス 許可を使用したアクセスの管理」を参照してください。

前提条件

カテゴリ Requirements
プロジェクトへのアクセス権 プロジェクトのメンバー。
アクセス許可 - プライベート プロジェクトのコードを表示する: 少なくとも Basic アクセス。
- プライベート プロジェクトのコードを複製または投稿する: 共同作成者 セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。
- ブランチまたはリポジトリのアクセス許可を設定する: ブランチまたはリポジトリの アクセス許可を管理 します。
- ブランチ ポリシーの設定、状態チェック、または既定のブランチの変更: リポジトリまたはブランチのポリシーアクセス許可、またはProject Administrators セキュリティ グループのメンバーシップを編集します。
- リポジトリをインポートする: プロジェクト管理者 セキュリティ グループのメンバーまたは Git プロジェクト レベルの [リポジトリ の作成 ] アクセス許可が [許可] に設定されています。 詳細については、「Git リポジトリのアクセス許可を設定する」を参照してください。
サービス リポジトリが有効になっています
ツール Optional. az reposコマンドを使用する: Azure DevOps CLI
カテゴリ Requirements
プロジェクトへのアクセス権 プロジェクトのメンバー。
アクセス許可 - コードの表示: 基本 アクセスが最低限必要です。
- コードの複製または投稿: 共同作成者 セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。
サービス リポジトリが有効になっています

ソース コードに貢献するには、 Basic アクセス レベル以上が必要です。 プライベート プロジェクトの 利害関係者 アクセス権が付与されているユーザーは、ソース コードにアクセスできません。 パブリック プロジェクトに対してステークホルダーアクセス権が付与されているユーザーは、共同作成者やBasicアクセス権が付与されたユーザーと同じアクセス権を持ちます。 詳細については、「アクセス レベルについて」を参照してください。

ソース コードに貢献するには、 Basic アクセス レベル以上が必要です。 利害関係者アクセス権が付与されているユーザーは、ソース コードにアクセスできません。 詳細については、「アクセス レベルについて」を参照してください。

既定のリポジトリのアクセス許可

既定では、プロジェクトの共同作成者グループのメンバーには、リポジトリに投稿するためのアクセス許可があります。 このアクセス許可レベルには、ブランチの作成、タグの作成、ノートの管理を行う機能が含まれます。 各セキュリティ グループとアクセス許可レベルの詳細については、アクセス許可とグループ リファレンスに関する記事を参照してください。

権限

Readers

寄稿者

ビルド管理者

プロジェクト管理者


読み取り (リポジトリの内容の複製、フェッチ、検索) も可能で、さらに pull request の作成、コメント、投票、および 貢献もできます。

✔️

✔️

✔️

✔️

投稿ブランチの作成タグの作成ノートの管理

✔️

✔️

✔️

リポジトリの作成リポジトリの削除リポジトリの名前変更

✔️

ポリシーの編集アクセス許可の管理他のユーザーのロックの削除

✔️

プルリクエスト完了時にポリシーをバイパスプッシュ時にポリシーをバイパス強制プッシュ(履歴の書き換え、ブランチとタグの削除)
(どのセキュリティ グループにも設定されていません)


Azure DevOps スプリント 224 (Azure DevOps Services および Azure DevOps Server 2022.1 以降) 以降では、ブランチ作成者にポリシーの編集アクセス許可が自動的に付与されなくなりました。 以前は、新しいブランチを作成したときに、そのブランチのポリシーを編集するアクセス許可が付与されていました。

この更新プログラムでは、既定の動作が変更されました。 リポジトリのアクセス許可管理設定がオンになっている場合でも、この アクセス許可 は付与されません。 セキュリティ アクセス許可の継承またはグループ メンバーシップによって、ポリシー の編集 アクセス許可が明示的に (手動または REST API を介して) 付与されている必要があります。

リポジトリのセキュリティを開く

Git リポジトリのアクセス許可は 、プロジェクト設定>Repositories から設定します。

  1. Web ポータルを開き、ユーザーまたはグループを追加するプロジェクトを選択します。 別のプロジェクトを選択するには、「 プロジェクト、リポジトリ、チームの切り替え」を参照してください。

  2. プロジェクト 設定>Repositories を選択します。

  3. すべての Git リポジトリのアクセス許可を設定するには、[セキュリティ] を選択 します

    [リポジトリ] > [セキュリティ] >プロジェクト設定の選択を示すスクリーンショット。

  4. 特定のリポジトリのアクセス許可を設定するには、リポジトリを選択し、[ セキュリティ] を選択します。

    リポジトリの選択と [セキュリティ] の選択を示すスクリーンショット。

リポジトリのアクセス許可を設定する

1 人のユーザーまたはセキュリティ グループのアクセス許可の状態を [許可] または [禁止] に設定することで、リポジトリへのアクセスを管理できます。

  1. Web ポータルを開き、ユーザーまたはグループを追加するプロジェクトを選択します。 別のプロジェクトを選択するには、「 プロジェクト、リポジトリ、チームの切り替え」を参照してください。

  2. プロジェクト 設定>Repositories を選択します。

  3. プロジェクトのすべての Git リポジトリのアクセス許可を設定するには、[ Git リポジトリ ] を選択し、管理するアクセス許可を持つセキュリティ グループを選択します。 たとえば、[ 共同作成者] を選択し、[ リポジトリの作成] のアクセス許可を選択します。

    画像全体を表示するには、画像をクリックして拡大します。 閉じるアイコン 閉じるアイコン を選択して閉じます。

    プロジェクト設定の [リポジトリ] > [Git リポジトリ] > [共同作成者] > を選択しているスクリーンショット。

    Note

    ユーザーをセキュリティ グループまたはプロジェクト チームに追加することによって、ユーザーがプロジェクトに追加されていない場合は、アクセス許可ページまたは ID フィールドからユーザーを見つけることができない場合があります。 また、ユーザーが Microsoft Entra ID または Active Directory に追加されると、プロジェクトに追加されてから ID フィールドから検索できるようになるまでの間に遅延が発生する可能性があります。 遅延は 5 分から 7 日かかる場合があります。

    それ以外の場合は、特定のリポジトリを選択し、管理するアクセス許可を持つセキュリティ グループを選択します。

    Note

    ユーザーまたはグループを追加し、そのユーザーまたはグループのアクセス許可を変更しない場合があります。 アクセス許可ページが更新されると、ユーザーまたはグループは表示されなくなります。

  4. 変更を保存を選択します。

セキュリティ グループのアクセス許可を変更する

カスタム セキュリティ グループのアクセス許可を設定するには、そのグループを以前に定義する必要があります。 詳細については、「プロジェクトレベルの権限の変更」を参照してください。

  1. 特定のグループのアクセス許可を設定するには、グループを選択します。 たとえば、[ 共同作成者] を選択します。

    [共同作成者] グループの選択を示すスクリーンショット。

  2. 1 つ以上のアクセス許可を変更します。 アクセス許可を付与するには、未設定許可 に変更してください。 アクセス許可を制限するには、[許可][禁止] に変更します。

    共同作成者グループに対して 3 つのアクセス許可が変更されたことを示すスクリーンショット。

アクセス許可の変更は、選択したグループに対して自動的に保存されます。

特定のユーザーのアクセス許可を設定する

  1. 特定のユーザーのアクセス許可を設定するには、検索フィルターにユーザーの名前を入力し、表示される ID から選択します。

    ユーザーまたはグループの選択を示すスクリーンショット。

  2. アクセス許可セットに変更を加えます。

    Note

    ユーザーをセキュリティ グループまたはプロジェクト チームに追加することによって、ユーザーがプロジェクトに追加されていない場合は、アクセス許可ページまたは ID フィールドからユーザーを見つけることができない場合があります。 また、ユーザーが Microsoft Entra ID または Active Directory に追加されると、プロジェクトに追加されてから ID フィールドから検索できるようになるまでの間に遅延が発生する可能性があります。 遅延は 5 分から 7 日かかる場合があります。

    アクセス許可の変更は、選択したグループに対して自動的に保存されます。

    ユーザーまたはグループを追加し、そのユーザーまたはグループのアクセス許可を変更しない場合があります。 アクセス許可ページが更新されると、ユーザーまたはグループは表示されなくなります。

特定のリポジトリの継承を有効または無効にする

特定のリポジトリの継承を有効または無効にするには、リポジトリを選択し、[ 継承 ] スライダーをオンまたはオフの位置に移動します。

[!div class="mx-imgBorder"] 特定のリポジトリの継承の有効化または無効化を示すスクリーンショット。

継承の詳細については、「 権限とグループについて」を参照してください。

ポリシーの適用を除外し、ポリシーのアクセス許可をバイパスする

ブランチ ポリシーをバイパスする必要があるシナリオは多くあります。 たとえば、ビルドの中断の原因となった変更を元に戻したり、深夜に修正プログラムを適用したりする場合があります。

以前は、 ポリシー適用の除外 アクセス許可は、チームがプル要求を完了したときにブランチ ポリシーをバイパスする機能を付与されたユーザーを管理するのに役立ちました。 ただし、そのアクセス許可により、ユーザーはブランチに直接プッシュし、PR プロセスを完全にバイパスする権限も付与されました。

ポリシー適用の除外アクセス許可により、バイパスアクセス許可を与えているチームがより多くの制御を持つことができるようになりました。 以前のアクセス許可に代わるものとして、次の 2 つのアクセス許可があります。

  • プル要求を完了するときにポリシーをバイパスする: このアクセス許可を持つユーザーは、プル要求のオーバーライド エクスペリエンスを使用できます。
  • プッシュ時にポリシーをバイパスする: このアクセス許可を持つユーザーは、構成されている必要なポリシーを持つブランチに直接プッシュできます。

必要に応じて、最初のアクセス許可を付与し、2 番目のアクセス許可を拒否することで、バイパス オプションを使用できます。 ポリシーが設定されているブランチへの誤ったプッシュに対する保護機能は、引き続き有効です。

Note

この変更では、動作の変更は発生しません。 以前にポリシー適用除外許可が付与されていたユーザーには、両方の新しいアクセス許可に対する許可が付与されます。 どちらも、プル要求での自動補完機能を無効にしたり、ポリシーに基づいてブランチに直接プッシュしたりすることができます。