{"meta":{"title":"ユーザーに代わってGitHub アプリで認証する","intro":"GitHub App は、issue の作成、コメントの投稿、デプロイの作成などのアクションをユーザーの代わりに実行できます。","product":"アプリ","breadcrumbs":[{"href":"/ja/apps","title":"アプリ"},{"href":"/ja/apps/creating-github-apps","title":"GitHub アプリの作成"},{"href":"/ja/apps/creating-github-apps/authenticating-with-a-github-app","title":"GitHub App で認証する"},{"href":"/ja/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user","title":"ユーザーに代わって認証する"}],"documentType":"article"},"body":"# ユーザーに代わってGitHub アプリで認証する\n\nGitHub App は、issue の作成、コメントの投稿、デプロイの作成などのアクションをユーザーの代わりに実行できます。\n\nアプリは、ユーザーに代わって API 要求を行うことができます。 アプリがユーザーに代わって行った API 要求は、そのユーザーに帰属します。 たとえば、アプリがユーザーに代わってコメントを投稿した場合、GitHub UI には、ユーザーのアバター写真とアプリのアイデンティコン バッジがイシューの作成者として表示されます。\n\n![アプリのアイデンティコン バッジがオーバーレイされたユーザー アバターがあるコメントのスクリーンショット。 アバターがオレンジ色の枠線で強調表示されています。](/assets/images/help/apps/github-app-acting-on-your-behalf.png)\n\n同様に、要求によって監査ログとセキュリティ ログ内の対応するエントリがトリガーされた場合、ログはユーザーをアクターとして一覧表示しますが、\"programmatic\\_access\\_type\" は \"GitHub アプリ ユーザーからサーバーへのトークン\" と表示されます。\n\nユーザーに代わって API 要求を行うには、ユーザーがアプリを承認する必要があります。 複数のメンバーを含む organization にアプリがインストールされている場合は、アプリがメンバーに代わって操作する前に、各メンバーがアプリを認可する必要があります。 ユーザーがアプリを承認するためにアプリをインストールする必要はありません。\n\nユーザーがアカウントにアプリをインストールすると、アプリが要求したリソースへのアクセス許可が付与されます。 インストール プロセスの間に、アプリが個々のユーザーに対して要求できるアカウント アクセス許可の一覧も表示されます。 ユーザーは、アプリを承認するときに、ユーザーの代わりに動作するためのアクセス許可をアプリに付与し、アプリから要求されたアカウント アクセス許可を付与します。\n\nユーザーがアプリを承認したら、OAuth トークンの一種であるユーザー アクセス トークンを生成できます。 後続の API 要求の `Authorization` ヘッダーにあるユーザー アクセス トークンを送信する必要があります。 ユーザーにアプリの認可を求め、ユーザー アクセス トークンを生成する方法の詳細については、「[GitHub アプリのユーザー アクセス トークンの生成](/ja/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)」を参照してください。\n\nユーザーに代わって操作する場合、安全で適切なアクセスを確保するため、アプリのアクセスは制限されます。\n\n* アプリは、そのユーザーがアクセスできるリソースにのみアクセスできます。 ユーザーがリポジトリへのアクセス権を持っていない場合、アプリがそのリポジトリにインストールされている場合でも、アプリはユーザーに代わってそのリポジトリにアクセスすることはできません。\n* アプリは、アクセス許可を持つリソースにのみアクセスできます。 アプリに `Issues` アクセス許可がない場合、ユーザーがリポジトリにアクセスできる場合でも、アプリはユーザーの issue を作成したり読み取ったりすることはできません。\n* アプリは、インストールされているアカウント内のリソースにのみアクセスできます。 アプリがユーザーの個人用アカウントにのみインストールされている場合、その organization にもアプリがインストールされていない限り、そのユーザーが所属する organization のリソースにアクセスすることはできません。\n\nユーザー アクセス トークンを使用して行われた要求は、\"ユーザーからサーバーへの\" 要求と呼ばれることもあります。\n\nトークンは、トークンのオーナーと同様に、リソースにアクセスしてそれらのリソースに対してアクションを実行できますが、さらに、トークンに付与されるスコープまたはアクセス許可によって制限されます。 トークンは、ユーザーに追加のアクセス権を付与できません。\n\nアプリのアクティビティをユーザーではなくアプリに帰属させる場合は、代わりにアプリのインストールとして認証する必要があります。 詳しくは、「[GitHub App インストールとしての認証](/ja/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation)」をご覧ください。\n\n> \\[!NOTE]\n> GitHub App を承認した後に自分の Organization で所有しているリソースを表示できないことがユーザーから報告され、その Organization で SAML SSO を使用している場合、再認証する前に、Organization のアクティブな SAML セッションを開始するようにユーザーに指示します。 詳細については、GitHub Enterprise Cloud ドキュメントの「[SAML アプリと GitHub Apps](/ja/enterprise-cloud@latest/apps/using-github-apps/saml-and-github-apps)」を参照してください。"}