Apps の承認ついて
自分自身、自分の組織、 Marketplace のいずれかが所有していないアプリケーションの場合、 ID を検証したり、ユーザーに代わって を操作したりしなければならないことがあります。 これらのアプリケーションは、これらのアクションを実行するための App の認可を要求できます。 アプリケーションが認可を要求すると、 ページにリダイレクトされ、アプリの認可を求められます。
App を承認するときには、そのアプリケーション所有者が信頼できること、およびそのアプリケーションからアクセスする情報を確認する必要があります。 承認の際に、次のすべてを実行するためのアクセス許可を App に与えるよう求められます。
- ID を確認する: 承認されると、 App ではパブリック プロファイルを取得できるようになります。 アプリでは、プライベート アカウント情報を取得することもできます。 承認プロセス中に、 によって、 App からアクセスできるアカウント情報が通知されます。
- アクセスできるリソースを把握する: 承認されると、 App では、アプリからもアクセスでき、ユーザーがアクセスできるリソースを判断できます。 アプリでは、たとえば、リポジトリの適切なリストを表示できるように、これを使用できます。
- ユーザーに代わって動作する: 承認されると、アプリケーションではユーザーの代わりに に対してタスクを実行できます。 これには、issue の作成や pull request へのコメントが含まれる場合があります。 詳細については、「ユーザーに代わる Apps の動作について」を参照してください。
承認はいつでも確認および取り消すことができます。 詳しくは、「 Apps の承認の確認と取り消し」をご覧ください。
メモ
organization で SAML SSO を使っていて、 App を認可した後で organization のリソースが表示されない場合は、organization のアクティブな SAML セッションを開始した後で、アプリの再認可が必要な場合があります。 詳しくは、「SAML と Apps」をご覧ください。
ユーザーに代わる Apps の動作について
App を承認したら、アプリではユーザーに代わって動作することができます。 App がユーザーに代わって操作する状況は、 App の目的と、使われているコンテキストによって異なります。 たとえば、統合開発環境 (IDE) では、 App を使って、IDE を通じて作成した変更を のリポジトリにプッシュ バックするために、ユーザーに代わって操作できます。
App では、ユーザーとアプリの両方がアクセス許可を持つ操作のみを実行できます。 たとえば、ユーザーにリポジトリに対する書き込みアクセス権があるものの、 App には読み取りアクセス権しかない場合、アプリがユーザーに変わって動作している場合でもそのアプリで読み取れるのはリポジトリのコンテンツのみとなります。 同様に、ユーザーがリポジトリ A
と B
にアクセスでき、 App からはリポジトリ B
と C
にアクセスできる場合、アプリはユーザーに代わって動作しているときにのみ、B
リポジトリにアクセスできます。 App に付与されるアクセス許可の詳細については、「認可とインストールの違い」を参照してください。
アプリがユーザーに代わって動作している場合、そのアプリと連動してアクティビティがユーザーに属性付けされます。 たとえば、アプリがユーザーに代わってコメントを投稿した場合、 UI には、ユーザーのアバター写真とアプリのアイデンティコン バッジが Issue イシューの作成者として表示されます。
同様に、アクティビティによって監査ログとセキュリティ ログ内の対応するエントリがトリガーされた場合、ログにはユーザーがアクターとして一覧表示されますが、"programmatic_access_type" が " App user-to-server token" であると示されます。
承認とインストールの違い
アカウントまたは組織に App をインストールするときに、アプリが要求した組織とリポジトリのリソースにアクセスするためのアクセス許可をアプリに付与します。 また、アプリからアクセスできるリポジトリも指定します。 インストール プロセス中、 App により、付与するリポジトリと組織のアクセス許可が示されます。 さまざまなアクセス許可により App で実行可能となることの詳細については、「 アプリのアクセス許可を選択する」を参照してください。
たとえば、 App にリポジトリのメタデータの読み取り、イシューを書き込む権限を付与し、 App にすべてのリポジトリへのアクセス権を付与できます。
App を承認する際に、アプリが要求したアカウントのアクセス許可に基づいて、 アカウントへのアクセス権をそのアプリに付与します。 承認プロセス中に、アプリによりアプリがアカウントでアクセスできるリソースが示されます。 App を承認したら、ユーザーに代わって動作するアプリのアクセス許可も付与します。
たとえば、 App に、メール アドレスを読み取ったり、gist を書き込んだりするアクセス許可を付与できます。
アプリを承認しなくても、 App をインストールできます。 同様に、アプリをインストールしなくてもアプリを承認できます。
インストールの詳細については、「サード パーティからの App のインストール」、「個人向けアカウント用に Marketplace から アプリをインストールする」、「Organization の Marketplace から アプリをインストールする」を参照してください。