LoginSignup
3
0

More than 3 years have passed since last update.

マルチユーザ版の Eclipse/Che で GitHub へのアクセス権限を与えない方法

Last updated at Posted at 2019-09-19

背景

バージョン 6 頃から以降の Eclipse/Che では、Keycloak を用いたマルチユーザ利用ができるようになっています。
そして、個人がローカルネット内で専有するなど限られた場合を除き、マルチユーザ構成にするのが一般的かと思います。

標準的なインストールを行った場合、Keycloak には、パスワードとユーザ名を用いた認証に加え、GitHub を用いた認証がサポートされます。

GitHub を用いた認証は便利なので推奨したいところですが、現時点では、推奨をためらう点が一つだけあります。

GitHub に対して許可する scope が、割と強力であるという点です。

本校執筆時点では公式ドキュメントの整備が追いついていないので Che6 のドキュメントへの参照となりますが、具体的には repo,user,write:public_key が、推奨設定となっています。
GitHub の scope の意味については別の方が纏めておられる情報に譲りますが、要するに、非公開リポジトリの閲覧や公開鍵の追加まで Eclipse/Che に対して許可することになります。

筆者が運用している PizzaFactory/Camino のように規模の大きくない SaaS のみならず、Red Hat が大規模に運営している che.openshift.io でも、これらの権限を与えるのは戸惑うでしょうし、職場によっては禁止される可能性もあるかと思います。
プライベートネット内での運用だったとしても、サーバに内部から攻撃される可能性はあるわけですし、強すぎる権限の委譲は避けたいというのが実務的なところでしょう。

本件に関する issue はすでに立っており Eclipse/Che の主要開発者も課題の存在は認識はしています。しかし、本稿執筆時点では優先度は高くない状態です。

暫定対応策

もし GitHub に許可する scope が問題である場合は、GitHub 以外の認証を使ってユーザ登録をしましょう。
PizzaFactory/Camino では、今のところメールアドレス + パスワード認証のみとなります。

Screenshot 2019-09-19 at 11.23.18.jpg

che.openshift.io ではもう少し多くの認証プロバイダが提供されています。

Screenshot 2019-09-19 at 11.22.25.png

考えられるデメリット

当たり前のことですが、GitHub 以外の認証方法でログインした場合、GitHub の API にはアクセスできません。GitHub からの clone 時のリポジトリ一覧は出ませんし、(GitHub への公開鍵登録ができないので) git push もひと工夫が必要になります。

しかし、本稿執筆時点では、GitHub API の許可を与えないでログインしても、最低限の動作はします。なにか重篤な副作用/不具合がある場合、それは Eclipse/Che のバグである可能性が高いので、本家に issue を送って ください。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0