Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

OAuth Appのスコープ

スコープによって、必要なアクセスの種類を正確に指定できます。 スコープは、OAuthトークンのアクセスを制限します。 ユーザがすでに持っている範囲を超えた権限を許可することはありません。

OAuth AppをGitHub上でセットアップする際には、要求されたスコープが認可フォー� 上でユーザに表示されます。

ノート: GitHub Appを構築しているなら、認可リクエストでスコープを提供する必要はありません。 このことに関する詳細については「GitHub Appのユーザの特定と認可」を参照してく� さい、

CLIツールなど、OAuth Appがブラウザにアクセスできない� �合、アプリケーションを認可するユーザのスコープを指定する必要はありません。 詳しい情� �については「OAuth Appの認可」を参照してく� さい。

どのOAuthスコープを所有しているか、そしてAPIアクションが何を受け付けるかを知るには、ヘッダを確認してく� さい。

$ curl -H "Authorization: token OAUTH-TOKEN" http(s)://[hostname]/api/v3/users/codertocat -I
HTTP/2 200
X-OAuth-Scopes: repo, user
X-Accepted-OAuth-Scopes: user
  • X-OAuth-Scopesはトークンが認可したスコープをリストします。
  • X-Accepted-OAuth-Scopesは、アクションがチェックするスコープをリストします。

利用できるスコープ

名前説明
(スコープなし)パブリックな情� �への読み取りのみのアクセスを許可します (ユーザのプロフィール情� �、リポジトリの情� �、Gist)
site_adminサイト管理者にGitHub Enterprise Serverの管理APIエンドポイントへのアクセスを許可します。
repoプライベートリポジトリを含め、リポジトリへの完全なアクセスを許可します。 これにはコード、コミットのステータス、リポジトリおよびOrganizationのプロジェクト、招待、コラボレータ、Teamのメンバーシップの追� 、デプロイメントのステータス、リポジトリとOrganizationのためのリポジトリwebhookが含まれます。 また、ユーザプロジェクトを管理する機能も許可します。
repo:statusGrants read/write access to commit statuses in public, private, and internal repositories. このスコープが必要になるのは、コードへのアクセスを許可することなく他のユーザあるいはサービスにプライベートリポジトリのコミットステータスへのアクセスを許可したい� �合のみです。
repo_deploymentデプロイメントステータス for パブリックおよびプライベートリポジトリへのアクセスを許可します。 このスコープが必要になるのは、コードへのアクセスを許可することなくデプロイメントステータスへのアクセスをユーザまたはサービスに許可する� �合のみです。
public_repoアクセスをパブリックリポジトリのみに制限します。 これには、コード、コミットステータス、リポジトリプロジェクト、コラボレータ、パブリックリポジトリ及びOrganizationのデプロイメントステータスへの読み書きアクセスが含まれます。 パブリックリポジトリにStarを付けるためにも必要です。
repo:inviteリポジトリでのコラボレーションへの招待の承認/拒否を許可します。 このスコープが必要になるのは、コードへのアクセスを許可することなく他のユーザまたはサービスに招待へのアクセスを許可する� �合のみです。
security_eventsGrants:
read and write access to security events in the code scanning API
This scope is only necessary to grant other users or services access to security events without granting access to the code.
admin:repo_hookGrants read, write, ping, and delete access to repository hooks in public, private, or internal repositories. repoおよびpublic_repoスコープは、リポジトリフックを含むリポジトリへの完全なアクセスを許可します。 アクセスをリポジトリフックのみに限定するには、admin:repo_hookスコープを使ってく� さい。
write:repo_hookGrants read, write, and ping access to hooks in public, private, or internal repositories.
read:repo_hookGrants read and ping access to hooks in public, private, or internal repositories.
admin:orgOrganizationとそのTeam、プロジェクト、メンバーシップを完全に管理できます。
write:orgOrganizationのメンバーシップ、Organizationのプロジェクト、Teamのメンバーシップへの読み書きアクセス。
read:orgOrganizationのメンバーシップ、Organizationのプロジェクト、Teamのメンバーシップへの読み取りのみのアクセス。
admin:public_key公開鍵を完全に管理できます。
write:public_key公開鍵の作成、リスト、詳細の表示。
read:public_key公開鍵のリストと詳細の表示。
admin:org_hookOrganizationフックへの読み書き、ping、削除アクセスを許可します。 ノート: OAuthトークンがこれらのアクションを行えるのは、OAuth Appが作成したOrganizationフックに対してのみです。 個人アクセストークンがこれらのアクションを行えるのは、ユーザが作成したOrganizationフックに対してのみです。
gistGistへの書き込みアクセスを許可します。
notifications許可するアクセス:
ユーザの通知に対する読み取りアクセス
スレッドへの既読アクセス
リポジトリへのWatch及びWatch解除のアクセス
スレッドのサブスクリプションに対する読み書き及び削除アクセス。
ユーザプロフィール情� �にのみ読み書きアクセスを許可します。 このスコープにはuser:emailuser:followが含まれることに注意してく� さい。
read:userユーザのプロフィールデータへの読み取りアクセスを許可します。
user:emailユーザのメールアドレスへの読み取りアクセスを許可します。
user:follow他のユーザのフォローあるいはフォロー解除のアクセスを許可します。
delete_repo管理可能なリポジトリの削除アクセスを許可します。
write:discussionTeamのディスカッションの読み書きアクセスを許可します。
read:discussionAllows read access for team discussions.
write:packagesGitHub Packagesでのパッケージのアップロードあるいは公開のアクセスを許可します。 詳しい情� �については「パッケージの公開」を参照してく� さい。
read:packagesGitHub Packagesからのパッケージのダウンロードあるいはインストールのアクセスを許可します。 For more information, see "Installing a package".
admin:gpg_keyGPGキーを完全に管理できます。
write:gpg_keyGPGキーの作成、リスト、詳細の表示ができます。
read:gpg_keyGPGキーのリストと詳細を表示できます。
ワークフローGitHub Actionsのワークフローファイルの追� と更新機能を許可します。 同じリポジトリ内の他のブランチに同じファイル(パスと内容が同じ)が存在する� �合、ワークフローファイルはこのスコープがなくてもコミットできます。 ワークフローファイルは、異なるスコープのセットを持ちうるGITHUB_TOKENを公開できます。 詳しい情� �については、「ワークフローでの認証」を参照してく� さい。

ノート:OAuth Appは最初のリダイレクトでスコープをリクエストできます。 スコープは、%20を使って、空白で区切って複数指定できます。

https://github.com/login/oauth/authorize?
  client_id=...&
  scope=user%20repo_deployment

リクエストされたスコープと許可されたスコープ

scope属性は、トークンに添付された、ユーザが許可したスコープをリストします。 通常、これらのスコープはリクエストされたものと同じになります。 しかし、ユーザはスコープを編集でき、実質的にアプリケーションに対して元々リクエストされたよりも少ないアクセス� けを許可できます。 また、ユーザはOAuthフローが完了した後にトークンのスコープを編集することもできます。 この可能性を認識しておき、対応してアプリケーションの動作を調整しなければなりません。

元々リクエストされたよりも少ないアクセスをユーザが許可した� �合のエラーケースを処理することは重要です。 たとえば、アプリケーションはユーザに対し、機能が低下したり、行えないアクションがでてくることを警告したり、知らせたりすることができます。

また、アプリケーションはいつでもユーザをフローに戻して追� の権限を得ようとすることができますが、ユーザは常に拒否できることを忘れないようにしてく� さい。

変更できるトークンのスコープの扱いに関するヒントが提供亜sレテイル、認証の基礎ガイドを参照してく� さい。

正規化されたスコープ

複数のスコープがリクエストされた� �合、トークンは正規化されたスコープのリストとともに保存され、リクエストされた他のスコープに暗黙のうちに含まれているスコープは� �棄されます。 たとえばuser,gist,user:emailをリクエストすると、トークンにはusergistスコープ� けが含まれます。これは、user:emailスコープで許可されるアクセスはuserスコープに含まれているためです。