はじめに

技術開発部技術局所属の yosida95 こと吉田 昂平です。昨日は弊社代表の石森より、「なぜゲヒルンはGWSを作ったのか」で、 Gehirn Web ServicesGehirn Infrastructure Services において何を目指し、何を解決しようとしているかについてお伝えしました。

シリーズ第2回となる今回は、 Gehirn Infrastructure Services で新たに導入された プロジェクト という概念の役割と意味をお伝えします。

プロジェクト機能以前

読者の皆様は、これまで、どのように同じプロジェクトで働く他のメンバーとサーバーを共有してきたでしょうか。現在、広く使われているレンタルサーバーサービスでは、ひとつのサーバーを操作できるアカウントはひとつに限られていることが多く、複数のメンバーでサーバーを操作するときは ID やパスワードなどのクレデンシャルを共有せざるを得なかったのではないでしょうか。

クレデンシャルを共有する方法はとても手軽ですが、これは大きな欠点をいくつもはらんでいます。

  • プロジェクトメンバーに異動があった場合は、不正な操作を防止するためにクレデンシャルを変更して新たなメンバー全員と共有し直さねばならない
  • クレデンシャルを共有する全員が適切に管理し秘密を守らねばならない
  • 一度クレデンシャルを共有すればすべての権限が移譲されるため許可したくない操作をされる

このように、その欠点は枚挙に暇がありません。

実際にこの欠点が元となったトラブルを経験した読者もいらっしゃるのではないでしょうか。そこで、この問題を解決するためのゲヒルンからの提案が、 Gehirn Infrastructure Services に導入したプロジェクト機能です。

プロジェクト機能とは

プロジェクト機能とは、 Gehirn Infrastructure Services にアカウントを有する任意のメンバーから成るグループです。

従来のレンタルサーバーサービスでは、契約したサーバーがアカウントに紐付くことが一般的でした。そのため、サーバーを共同で操作したい場合は、そのサーバーを所有するアカウントのクレデンシャルを共有する必要が生じていました。 Gehirn Infrastrcutre Services では Gehirn RS2 Plus で作成したサーバーはもちろん、 Gehirn DNS に作成したゾーンや Gehirn MTA のドメインなど、すべてのリソースはプロジェクトに紐付きます。

このため、リソースの共有は、そのリソースを所有するプロジェクトへメンバーを追加することによって簡単に実現することができます。プロジェクトに追加されたメンバーは、いつも使っている、自分だけが知っている Gehirn ID のクレデンシャルを使って Gehirn Infrastructure Services にログインして、メンバーとなったプロジェクトが所有するリソースを操作することができるのです。

もし、メンバーの異動などによってそれ以上リソースを共有する必要が無くなったら、そのプロジェクトのメンバーから削除するだけです。もうクレデンシャルを変えて新しいメンバーと共有し直す必要はないのです!

権限の管理

ここまでで説明したとおり、 Gehirn Infrastructure Services ではアカウントのクレデンシャルを共有することなくリソースを共同で操作することが可能になりました。しかし、果たしてプロジェクトのメンバーが全員同じ操作をできてよいのでしょうか。プロジェクトメンバーの誰かが必要なサーバーを削除してしまう心配はないでしょうか、プロジェクトメンバーの誰もが自由に新たなサーバーを契約できてしまってよいのでしょうか。

アカウントのクレデンシャルを共有している以上は、上記に挙げたような問題を解決する手立てはありません。しかし、 Gehirn Infrastructure Services のプロジェクト管理機能では、きめ細かな権限管理機能によって、プロジェクトメンバーそれぞれが「できること」と「できないこと」を細かく設定することができるのです。

メンバーの種類

まず、プロジェクトのメンバーには 2 種類あります。管理者と非管理者です。管理者権限を持つメンバーは、 Gehirn Infrastructure Services でできるすべての操作を自由にすることができ、またプロジェクトの他のメンバーの権限設定を変更することもできます。

プロジェクトのメンバー一覧ページで、アカウント名の左に緑色のバッチが付いているメンバーが管理者です。

プロジェクトメンバーの種類の変更

この設定はアカウント名の右にある歯車アイコンをクリックすることによって変更することができます。

メンバー権限の設定

プロジェクトの管理者は、管理者ではないメンバーの権限を設定することができます。メンバー権限は、項目ごとに「拒否」「読取り」「フルアクセス」の 3 段階で設定します。なにも設定しない場合は「拒否」が適用され、許可したい項目を個別に設定する「ホワイトリスト方式」を採っています。

メンバー権限は大きく分けて、管理者権限の一部を移譲する「プロジェクト全体設定」権限と、リソースの新規契約や既存リソースの操作を許可する「リソース権限」にわかれます。

プロジェクト全体設定

プロジェクト全体設定

プロジェクト全体設定では、本来プロジェクト管理者にのみ許されている、「ドメイン管理」「メンバー管理」「支払い設定」の全部または一部を移譲できます。

例えば、プロジェクトが所有するドメインの一覧の閲覧を許可したければ「ドメイン管理」で「読取り」を、閲覧にくわえて新たなドメインの追加も許可したければ「フルアクセス」を設定します。

プロジェクトドメイン管理

他の項目も同様で、「メンバー管理」では「読取り」で一覧の表示、「フルアクセス」でメンバーの追加と管理者/非管理者の切り替えが、「支払い設定」では「読取り」で支払いに使用している Gehirn ID Center のウォレットの表示、「フルアクセス」で支払いに使用するウォレットの変更がそれぞれできるようになります。

リソース管理

リソース管理では、 Gehirn RS2 Plus のアカウントや、 Gehirn DNS のゾーンなど、個別のサービスのリソースを操作する権限を設定します。

全般管理

各サービスの「全般管理」では、既存のリソースの一覧を閲覧する権限と、新たにリソースを契約する権限を設定します。

Gehirn RS2 Plus を例に取ると、全般管理の「コンテナ」を「読取り」に設定すると既存のコンテナの一覧の閲覧を、「フルアクセス」に設定すると閲覧にくわえて新たなコンテナの契約を許可します。

Gehirn RS2 Plus 全般管理

個別管理

また、既存の個別のリソースについても、権限を設定することができます。例えば、「gehirn.jp」という名前の Gehirn RS2 Plus の権限を「読取り」に設定するとそのコンテナに存在する Unix アカウントやスナップショット一覧などのコンテナの情報の閲覧を、「フルアクセス」に設定すると閲覧にくわえて、そのアカウントに新しい Unix ユーザーを追加したり、スナップショットを撮ったりする、 Gehirn RS2 Plus のアカウントに対してできるすべての操作を許可します。

Gehirn RS2 Plus コンテナ権限管理

おわりに

いかがでしたでしょうか。この記事では、 Gehirn Infrastructure Services が新たに導入した、リソースを便利かつ安全に共有することができるプロジェクト機能をご紹介いたしました。

Gehirn Infrastructure Services は現在 Public Preview を実施しており、どなたにも無料ですべての機能を開放しております。もし、まだお試しいただけていない場合はこの機会に是非 Gehirn Infrastructure Services をお試しください。もし Gehirn Infrastructure Services Public Preview ご利用中にお気づきの点や、ご不明な点、ご要望などございましたら、フィードバックフォーム よりお気軽にお申し付けください。

Gehirn Infrastructure Services では、ここでご紹介した以外にも、まだまだ斬新で便利な機能が目白押しです。シリーズ第3回は、「Gehirn DNS とプロジェクトのドメイン管理」についてお伝えします。公開は、 4月14日火曜日を予定しています。お楽しみにください。