Skip to main content

OAuth アプリのアクセス制限について

Organizationは、OAuth appアクセス制限を有効化することによって、Organizationのリポジトリやその他のリソースにどのOAuth appsがアクセスできるかを選択できます。

OAuth app のアクセス制限について

OAuth app のアクセス制限が有効になっていると、Organization のメンバーと外部コラボレーターは、Organization のリソースへの OAuth app のアクセスを認可できません。 Organizationのメンバーは、使用したいOAuth appsの承認をオーナーにリクエストでき、Organizationオーナーは保留になっているリクエストの通知を受信します。

Organization の所有者は、外部コラボレーターが承認されていない OAuth apps と GitHub Apps へのアクセスを要求できるようにするかどうかを選べます。 詳しくは、「OAuth アプリと GitHub App のアクセス要求を制限する」を参照してください。

組織で OAuth apps のアクセスを制限した場合でも、ユーザーは内部 OAuth apps アプリを認可し、それらを使って組織のデータにアクセスできます。 詳しくは、「内部 OAuth アプリ」を参照してください。

新しい Organization を作成する際には、OAuth app アクセス制限が既定で有効です。 Organization 所有者はいつでもOAuth app アクセス制限を無効にできます。

Tip: 組織が OAuth app のアクセス制限を設定していない場合、組織のメンバーが認可したすべての OAuth app は、組織のプライベート リソースにもアクセスできます。

OAuth appのアクセス制限のセットアップ

OrganizationのオーナーがOAuth appのアクセス制限を初めてセットアップする場合、以下のようになります。

  • 組織が所有するアプリケーションには、組織のリソースへのアクセスが自動的に付与されます。
  • OAuth apps は、組織のリソースへのアクセスを即座に失います。
  • 2014 年 2 月以前に作成された SSH キーは、組織のリソースへのアクセスを即座に失います (これにはユーザーおよびデプロイ キーが含まれます)。
  • 2014 年 2 月中、あるいはそれ以降に OAuth apps によって作成された SSH キーは、組織のリソースへのアクセスを即座に失います。
  • プライベートの組織リポジトリからのフックの配信は、承認されていない OAuth apps には送信されなくなります。
  • 承認されていない OAuth apps でのプライベートな組織のリソースへの API アクセスはできなくなります。 加えて、パブリックなOrganizationリソースの作成、更新、削除のアクションの権限はありません。
  • ユーザーが作成したフックおよび 2014 年 5 月より前に作成されたフックには影響ありません。
  • 組織が所有するリポジトリのプライベート フォークは、組織のアクセス制限に従います。

SSHアクセスの失敗の解決

OAuth appのアクセス制限が有効化されたOrganizationへのアクセスを2014年2月以前に作成されたSSHキーが失った場合、それ以降のSSHアクセスの試行は失敗します。 ユーザには、キーを認可できる、あるいは信頼されたキーをそこにアップロードできるURLを示すエラーメッセージが返されます。

Webhooks

OAuth appが制限が有効化された後のOrganizationへのアクセスを許可された場合、そのOAuth appが作成した既存のwebhookは、ディスパッチを再開します。

Organizationが以前に認可されたOAuth appからアクセスを削除した場合、そのアプリケーションが作成した既存のwebhookはディスパッチされなくなります(それらのフックは無効化されますが、削除はされません)。

アクセス制限の再有効化

OrganizationがOAuth appのアクセスアプリケーション制限を無効化し、後に再び有効化した場合、以前に認可されていたOAuth appは自動的にOrganizationのリソースへのアクセスを許可されます。

参考資料