Skip to main content

Organizationのカスタムリポジトリロールの管理

カスタムのリポジトリロールを作成することで、Organizationのリポジトリへのアクセスをより詳細に制御できます。

Organization owners can manage custom repository roles.

カスタムリポジトリロールについて

リポジトリでのPull Requestの作成やOrganizationの支払い設定の変更など、GitHub Enterprise Cloudでなんらかのアクションを行うためには、ユーザは関連するアカウントやリソースに対する十分なアクセス権を持っていなければなりません。 このアクセスは、権限によって制御されます。 権限は、特定のアクションを行える能力です。 たとえばIssueを削除する能力は権限です。 ロールは、個人やTeamに割り当てることができる権限のセットです。

Organization内では、ロールをOrganization、Team、リポジトリのレベルで割り当てることができます。 ロールの様々なレベルに関する詳しい情報については「Organizationのロール」を参照してください。

最大で3つのカスタムリポジトリロールを作成することによって、リポジトリレベルで付与する権限をもっと詳細に制御できます。 カスタムリポジトリロールは、選択したカスタム名を持つ設定可能な権限のセットです。 カスタムロールを作成すると、リポジトリへの管理アクセスを持つユーザはそのロールを個人やTeamに割り当てることができます。 詳しい情報については「Organizationのリポジトリへの個人のアクセスの管理」及び「OrganizationのリポジトリへのTeamのアクセスの管理」を参照してください。

継承されたロールについて

カスタムリポジトリロールを作成する際は、事前設定された選択肢のセットから継承されたロールを選択することから始めます。 継承されたロールは、カスタムロールに含まれる権限の初期セットを決定します。 そして、そのロールは付与する追加権限を選択することによって、さらにカスタマイズできます。 利用可能な権限の完全なリストについては「カスタムロールのための追加権限」を参照してください。

継承されたロールの選択肢については、リポジトリの様々な種類のコントリビューターに対して標準化されています。

継承されたロール設計対象
Readプロジェクトを見たり議論したりしたい非コードコントリビューター。
Triage書き込みアクセスなしに、積極的にIssueやPull Requestを管理する必要があるコントリビューター。
Writeアクティブにプロジェクトに対してプッシュを行うOrganizationのメンバーとコントリビューター。
Maintain機微あるいは破壊的なアクションを行うためアクセスなしにリポジトリを管理する必要があるプロジェクトマネージャー。

カスタムロールの例

以下は、設定できるカスタムリポジトリロールの例です。

カスタムリポジトリロール概要継承されたロール追加の権限
Security engineerコードをコントリビュートし、セキュリティパイプラインをメンテナンスできるMaintainCode scanningの結果の削除
Contractorwebhookのインテグレーションを開発できるWritewebhookの管理
Community managerコードをコントリビュートすることなく、コミュニティのすべてのやりとりを扱えるRead- Issueを重複としてマーク
- GitHub Pageの設定を管理
- Wikiの設定を管理
- ソーシャルプレビューの設定
- リポジトリのメタデータを編集
- ディスカッションのトリアージ

カスタムロールの追加権限

継承されたロールを選択した後、カスタムロールの追加権限を選択できます。

継承されたロールにまだ含まれていない場合にのみ、追加の権限を選択できます。 たとえば、継承されたロールがリポジトリへのWriteアクセスを提供しているなら、"Close a pull request"権限は継承されたロールに既に含まれています。

Discussions

  • Create a discussion category(ディスカッションカテゴリの作成): 新しいディスカッションカテゴリを作成できる。 詳しい情報については「新しいディスカッションカテゴリの作成」を参照してください。
  • Edit a discussion category(ディスカッションカテゴリの編集): ディスカッションカテゴリを編集できる。 詳しい情報については「ディスカッションカテゴリの編集」を参照してください。
  • Delete a discussion category(ディスカッションカテゴリの削除): ディスカッションカテゴリを削除できる。 詳しい情報については「ディスカッションカテゴリの削除」を参照してください。
  • Mark or unmark discussion answers(ディスカッションの回答のマークもしくはマーク解除): ディスカッションのカテゴリが回答を受け付ける藻のだった場合、ディスカッションの回答をマークできる。 詳しい情報については「ディスカッション中のコメントを回答としてマークもしくはマーク解除する」を参照してください。
  • Hide or unhide discussion comments(ディスカッションコメントの非表示もしくは非表示解除): ディスカッションのコメントを非表示あるいは非表示解除できる。 詳しい情報については、「 ディスカッションをモデレートする」を参照してください。
  • Convert issues to discussions(Issueをディスカッションに変換): Issueをディスカッションに変換できる。 詳しい情報については「Issueのディスカッションへの変換」を参照してください。

IssueとPull Request

  • Assign or remove a user(ユーザをアサインあるいは外す): ユーザをIssueあるいはPull Requestにアサインするか、ユーザをIssueあるいはPull Requestから外す。
  • Add or remove a label(ラベルの追加あるいは削除): ラベルをIssueあるいはPull Requestに追加するか、ラベルをIssueあるいはPull Requestから削除する。

Issue

  • Close an issue(Issueのクローズ)
  • Reopen a closed issue(クローズされたIssueの再オープン)
  • Delete an issue(Issueの削除)
  • Mark an issue as a duplicate(Issueを複製としてマーク)

プルリクエスト

  • Close a pull request(Pull Requestをクローズ)
  • Reopen a closed pull request(クローズされたPull Requestを再オープン)
  • Request a pull request review(Pull Requestのレビューをリクエスト): ユーザあるいはTeamからのレビューをリクエスト。

リポジトリ

  • Set milestones(マイルストーンの設定): IssueあるいはPull Requestにマイルストーンを追加。
  • Manage wiki settings(Wiki設定の管理): リポジトリでWikiを有効化。
  • Manage project settings(プロジェクト設定の管理): リポジトリでプロジェクトを有効化。
  • Manage pull request merging settings(Pull Requestのマージ設定の管理): マージ、squash、リベースなど、リポジトリで許可されるマージコミットの種類を選択。
  • Manage GitHub Pages settings(設定の管理): リポジトリでGitHub Pagesを有効化し、公開したいブランチを選択。 詳しい情報については「GitHub Pages サイトの公開元を設定する」を参照してください。
  • Manage webhooks(webhookの管理): リポジトリにwebhookを追加。
  • Manage deploy keys(デプロイキーを管理): リポジトリにデプロイキーを追加。
  • Edit repository metadata(リポジトリのメタデータを編集): リポジトリの説明とともにリポジトリのトピックを更新。
  • Set interaction limits(インタラクションの制限を設定): 自分のパブリックリポジトリで特定のユーザによるコメント、Issueのオープン、Pull Requestの作成を一時的に制限し、アクティビティの制限期間を施行。 詳しい情報については「リポジトリでの操作の制限」を参照してください。
  • Set the social preview(ソーシャルプレビューの設定): リポジトリがリンクされたときにソーシャルメディア上に表示される識別画像をリポジトリに追加。 詳細は「リポジトリのソーシャルメディア向けプレビューをカスタマイズする」を参照してください。
  • Push commits to protected branches(保護されたブランチにコミットをプッシュ): 保護されたブランチとしてマークされているブランチにプッシュ。
  • Create protected tags(保護されたタグの作成): タグの保護ルールにマッチしたタグの作成。 詳しい情報については「タグ保護ルールの設定」を参照してください。
  • Delete protected tags(タグ保護ルールの削除): タグ保護ルールにマッチしたタグの削除。 詳しい情報については「タグ保護ルールの設定」を参照してください。

セキュリティ

  • View code scanning results(Code scanningの結果を表示): code scanningアラートを表示できる。
  • Dismiss or reopen code scanning results(Code scanningの結果を却下もしくは再オープン): code scanningアラートを却下もしくは再オープンできる。
  • Delete code scanning results(Code scanningの結果の削除): code scanningアラートを削除できる。
  • View Dependabotアラート(Dependabotアラートの表示): Dependabotアラートを見ることができる。
  • Dismiss or reopen Dependabotアラート(Dependabotアラートを却下もしくは再オープン): Dependabotアラートを却下もしくは再オープンできる。
  • View secret scanning results(Secret scanningの結果の表示): secret scanningアラートを表示できる。
  • Dismiss or reopen secret scanning results(Secret scanningの結果の却下もしくは再オープン): secret scanningアラートを却下もしくは再オープンできる。

様々なアクセスレベルの優先順位

TeamのメンバーシップやOrganizationの基本権限など、様々な方法を通じて様々なレベルのアクセスを与えられている場合、最上位のアクセスが他よりも優先されます。 たとえば、OrganizationのオーナーがOrganizationのメンバーに継承ロールの"Read"を使うカスタムロールを与え、そしてOrganizationのオーナーがOrganizationの基本権限を"Write"にした場合、このカスタムロールはカスタムロールに含まれている追加の権限とともに、書き込みアクセスを持つことになります。

If a person has been given conflicting access, you'll see a warning on the repository access page. The warning appears with " Mixed roles" next to the person with the conflicting access. To see the source of the conflicting access, hover over the warning icon or click Mixed roles.

競合するアクセスを解決するには、Organizationの基本アクセスあるいはTeamのアクセスを調整するか、カスタムロールを編集してください。 詳しい情報については、以下を参照してください。

リポジトリロールの作成

新しいリポジトリロールを作成するには、継承されたロールに権限を追加し、カスタムロールに名前を付けます

ノート: GitHub Enterprise Cloudを使うOrganizationだけがカスタムリポジトリロールを作成できます。 For more information about how you can try GitHub Enterprise Cloud for free, see "Setting up a trial of GitHub Enterprise Cloud."

  1. In the top right corner of GitHub.com, click your profile photo, then click Your profile. プロフィール画像
  2. In the top right corner of GitHub.com, click your profile photo, then click Your organizations. プロフィールメニューのあなたのOrganization
  3. Organization 名の下で、クリックします Settings. Organizationの設定ボタン
  4. Under "Organizations", next to the name of your organization, click Settings. Screenshot of an organization next to the "Settings" button
  5. In the "Access" section of the sidebar, click Repository roles.
  6. Create a Role(ロールの作成)をクリックしてください。 "ロールの作成"ボタンのスクリーンショット
  7. "Name(名前)"の下で、リポジトリロールの名前を入力してください。 リポジトリロールの名前の入力フィールド
  8. "Description(説明)"の下で、リポジトリロールの説明を入力してください。 リポジトリロールの説明の入力フィールド
  9. "Choose a role to inherit(継承するロールの選択)"の下で、継承したいロールを選択してください。 リポジトリロールの基本ロールの選択
  10. "Add Permissions(権限の追加)"の下で、ドロップダウンメニューを使ってカスタムロールに含めたい権限を選択してください。 リポジトリロールのドロップダウンで権限レベルを選択
  11. Create role(ロールの作成)をクリックしてください。 リポジトリロールの作成の確認

リポジトリロールの編集

  1. In the top right corner of GitHub.com, click your profile photo, then click Your profile. プロフィール画像
  2. In the top right corner of GitHub.com, click your profile photo, then click Your organizations. プロフィールメニューのあなたのOrganization
  3. Organization 名の下で、クリックします Settings. Organizationの設定ボタン
  4. Under "Organizations", next to the name of your organization, click Settings. Screenshot of an organization next to the "Settings" button
  5. In the "Access" section of the sidebar, click Repository roles.
  6. 編集したいロールの右でをクリックし、続いてEdit(編集)をクリックしてください。 リポジトリロールのドロップダウンメニュー内の選択肢を編集
  7. 編集し、続いてUpdate role(ロールの更新)をクリックしてください。 リポジトリロールのフィールドを編集して更新

リポジトリロールの削除

既存のリポジトリロールを削除すると、そのカスタムロールを持つ保留中の招待、Team、ユーザはすべてOrganizationの基本権限に割り当てなおされます。

  1. In the top right corner of GitHub.com, click your profile photo, then click Your profile. プロフィール画像
  2. In the top right corner of GitHub.com, click your profile photo, then click Your organizations. プロフィールメニューのあなたのOrganization
  3. Organization 名の下で、クリックします Settings. Organizationの設定ボタン
  4. Under "Organizations", next to the name of your organization, click Settings. Screenshot of an organization next to the "Settings" button
  5. In the "Access" section of the sidebar, click Repository roles.
  6. 削除したいロールの右でをクリックし、続いてDelete(削除)をクリックしてください。 リポジトリロールのドロップダウンメニュー内の選択肢を編集
  7. 削除したいロールに対する変更をレビューし、続いてDelete role(ロールの削除)をクリックしてください。 リポジトリロールの削除を確認