# GitHub アプリの承認

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 について」を参照してください](#about-github-apps-acting-on-your-behalf)。

承認はいつでも確認および取り消すことができます。 詳しくは、「[GitHub アプリの承認の確認と取り消し](/ja/enterprise-server@3.22/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps)」をご覧ください。

## ユーザーに代わって行動する GitHub Apps について

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

GitHub Appは、ユーザーとアプリの両方に対するアクセス許可を持つ操作のみを実行できます。 たとえば、リポジトリへの書き込みアクセス権を持っていて、 GitHub App が読み取りアクセス権しか持っていない場合、アプリはリポジトリの内容を読み取ることができます。これは、ユーザーの代わりに動作している場合でものみです。 同様に、リポジトリ `A` と `B`にアクセスでき、 GitHub App がリポジトリの `B` と `C`にアクセスできる場合、アプリは自分の代わりに動作するときにリポジトリ `B` にのみアクセスできます。
GitHub Appに付与されるアクセス許可の詳細については、「[承認とインストールの違い](#difference-between-authorization-and-installation)」を参照してください。

アプリがユーザーに代わって動作している場合、そのアプリと連動してアクティビティがユーザーに属性付けされます。 たとえば、アプリが自分の代わりにコメントを投稿した場合、 GitHub UI には、問題の作成者としてアプリの identicon バッジと共にプロファイル画像が表示されます。

![アプリのアイデンティコン バッジがオーバーレイされたユーザー アバターがあるコメントのスクリーンショット。 アバターがオレンジ色の枠線で強調表示されています。](/assets/images/help/apps/github-app-acting-on-your-behalf.png)

同様に、アクティビティによって監査ログとセキュリティ ログ内の対応するエントリがトリガーされた場合、ログにはアクターとして一覧表示されますが、"programmatic\_access\_type" は "GitHub アプリ ユーザーからサーバーへのトークン" であると示されます。

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

アカウントまたは組織に\*\*\*\* をGitHub Appする場合は、要求した組織およびリポジトリ リソースにアクセスするためのアクセス許可をアプリに付与します。 また、アプリからアクセスできるリポジトリも指定します。 インストール プロセス中に、付与するリポジトリと組織のアクセス許可が GitHub App によって示されます。
GitHub Appを有効にするさまざまなアクセス許可の詳細については、「[GitHub アプリのアクセス許可の選択](/ja/enterprise-server@3.22/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app)」を参照してください。

たとえば、リポジトリメタデータの読み取りと問題の書き込みに対する GitHub App アクセス許可を付与したり、 GitHub App にすべてのリポジトリへのアクセス権を付与したりすることができます。

![GitHub アプリをインストールするページのスクリーンショット。 アプリは、メタデータへの読み取りアクセスと、issue への書き込みアクセスを要求します。](/assets/images/github-apps/install-app.png)

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

たとえば、電子メール アドレスを読み取り、gists を書き込むためのアクセス許可を GitHub App に付与できます。

![GitHub アプリを承認するページのスクリーンショット。 アプリは、電子メールへの読み取りアクセスと、gist への書き込みアクセスを要求しています。](/assets/images/github-apps/authorize-app.png)

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

インストールの詳細については、「[サードパーティ製 GitHub App のインストール](/ja/enterprise-server@3.22/apps/using-github-apps/installing-a-github-app-from-a-third-party)、」を参照してください。[独自のGitHub アプリのインストール](/ja/enterprise-server@3.22/apps/using-github-apps/installing-your-own-github-app)。