Skip to main content

GitHub App の承認

GitHub App を承認して、GitHub アカウントに関する情報を取得し、ユーザーの代わりに変更を加えることができます。

GitHub Apps の承認ついて

自分自身、自分の組織、GitHub Marketplace のいずれかが所有していないアプリケーションの場合、GitHub ID を検証したり、ユーザーに代わって GitHub を操作したりしなければならないことがあります。 これらのアプリケーションは、これらのアクションを実行するための GitHub App の認可を要求できます。 アプリケーションが認可を要求すると、GitHub ページにリダイレクトされ、アプリの認可を求められます。

GitHub App を承認するときには、そのアプリケーション所有者が信頼できること、およびそのアプリケーションからアクセスする情報を確認する必要があります。 承認の際に、次のすべてを実行するためのアクセス許可を GitHub App に与えるよう求められます。

  • GitHub ID を確認する: 承認されると、GitHub App ではパブリック GitHub プロファイルを取得できるようになります。 アプリでは、プライベート アカウント情報を取得することもできます。 承認プロセス中に、GitHub によって、GitHub App からアクセスできるアカウント情報が通知されます。
  • アクセスできるリソースを把握する: 承認されると、GitHub App では、アプリからもアクセスでき、ユーザーがアクセスできるリソースを判断できます。 アプリでは、たとえば、リポジトリの適切なリストを表示できるように、これを使用できます。
  • ユーザーに代わって動作する: 承認されると、アプリケーションではユーザーの代わりに GitHub に対してタスクを実行できます。 これには、issue の作成や pull request へのコメントが含まれる場合があります。 詳しくは、「ユーザーに代わる GitHub Apps の動作について」をご覧ください。

承認はいつでも確認および取り消すことができます。 詳しくは、「GitHub Apps の承認の確認と取り消し」を参照してください。

Note

organization で SAML SSO を使っていて、GitHub App を認可した後で organization のリソースが表示されない場合は、organization のアクティブな SAML セッションを開始した後で、アプリの再認可が必要な場合があります。 詳しくは、「SAML と GitHub Apps」を参照してください。

ユーザーに代わる GitHub Apps の動作について

GitHub App を承認したら、アプリではユーザーに代わって動作することができます。 GitHub App がユーザーに代わって操作する状況は、GitHub App の目的と、使われているコンテキストによって異なります。 たとえば、統合開発環境 (IDE) では、GitHub App を使って、IDE を通じて作成した変更を GitHub のリポジトリにプッシュ バックするために、ユーザーに代わって操作できます。

GitHub App では、ユーザーとアプリの両方がアクセス許可を持つ操作のみを実行できます。 たとえば、ユーザーにリポジトリに対する書き込みアクセス権があるものの、GitHub App には読み取りアクセス権しかない場合、アプリがユーザーに変わって動作している場合でもそのアプリで読み取れるのはリポジトリのコンテンツのみとなります。 同様に、ユーザーがリポジトリ AB にアクセスでき、GitHub App からはリポジトリ BC にアクセスできる場合、アプリはユーザーに代わって動作しているときにのみ、B リポジトリにアクセスできます。 GitHub App に付与されるアクセス許可の詳細については、「承認とインストールの違い」を参照してください。

アプリがユーザーに代わって動作している場合、そのアプリと連動してアクティビティがユーザーに属性付けされます。 たとえば、アプリがユーザーに代わってコメントを投稿した場合、GitHub UI には、ユーザーのアバター写真とアプリのアイデンティコン バッジが Issue イシューの作成者として表示されます。

アプリのアイデンティコン バッジがオーバーレイされたユーザー アバターがあるコメントのスクリーンショット。 アバターがオレンジ色の枠線で強調表示されています。

同様に、アクティビティによって監査ログとセキュリティ ログ内の対応するエントリがトリガーされた場合、ログにはユーザーがアクターとして一覧表示されますが、"programmatic_access_type" が "GitHub App user-to-server token" であると示されます。

承認とインストールの違い

アカウントまたは組織に GitHub App をインストールするときに、アプリが要求した組織とリポジトリのリソースにアクセスするためのアクセス許可をアプリに付与します。 また、アプリからアクセスできるリポジトリも指定します。 インストール プロセス中、GitHub App により、付与するリポジトリと組織のアクセス許可が示されます。 さまざまなアクセス許可により GitHub App で実行可能となることの詳細については、「GitHub アプリのアクセス許可を選択する」を参照してください。

たとえば、GitHub App にリポジトリのメタデータの読み取り、イシューを書き込む権限を付与し、GitHub App にすべてのリポジトリへのアクセス権を付与できます。

GitHub アプリをインストールするページのスクリーンショット。 アプリは、メタデータへの読み取りアクセスと、イシューへの書き込みアクセスを要求しています。 アプリは、電子メールへの読み取りアクセスと gist への書き込みアクセスのユーザー承認を要求することもできます。

GitHub App を承認する際に、アプリが要求したアカウントのアクセス許可に基づいて、GitHub アカウントへのアクセス権をそのアプリに付与します。 承認プロセス中に、アプリによりアプリがアカウントでアクセスできるリソースが示されます。 GitHub App を承認したら、ユーザーに代わって動作するアプリのアクセス許可も付与します。

たとえば、GitHub App に、メール アドレスを読み取ったり、gist を書き込んだりするアクセス許可を付与できます。

GitHub アプリを承認するページのスクリーンショット。 アプリは、電子メールへの読み取りアクセスと、gist への書き込みアクセスを要求しています。

アプリを承認しなくても、GitHub App をインストールできます。 同様に、アプリをインストールしなくてもアプリを承認できます。

インストールについて詳しくは、「サード パーティからの GitHub App のインストール」、「個人向けアカウント用に GitHub Marketplace から GitHub アプリをインストールする」、「Organization の GitHub Marketplace から GitHub アプリをインストールする」をご覧ください。