bitbank techblog

OneLoginで楽をする

これは ビットバンク株式会社 Advent Calendar 2020 の 24 日目の記事です。

はじめに

ビットバンクでは、様々なクラウドサービスを使用しています。
ほとんどの業務をクラウドサービス上で行っていて、使用しているクラウドサービスの数はビットバンクの従業員数(約80名)より多いです。(つらい)

そんな大量のクラウドサービスのアカウント管理に苦労している担当による、IDaaS製品「OneLogin」を使って楽をしようという話です。

困っていること

困っていることは、「管理すべきクラウドサービスが大量にあること」と「情シスが把握できていないクラウドサービスがあること」です。

冒頭で触れた大量のクラウドサービスの話の他に、各部門で独自に契約して使用していて情シスが把握できていないサービスがありました…。
情シスが把握できていないことで、従業員が退職した際に適切なタイミングでアカウントを削除できなかったり、クラウドサービスを導入したメンバーが退職したあと、管理方法がわからなくなったりすることがありました。
実際、アカウントの情報を管理していたメンバーが退職したことによって、管理者ログインができなくなり、復活させるために大変面倒なことになりました。

やりたいこと

なので、

  • クラウドサービスを全て情シスが把握して一元管理できるようにしたい!
  • 情シスが管理できるようになれば、各部門のメンバーはアカウントを管理する負担が軽減できて嬉しい!
  • 適切なタイミングでアカウントを削除できるので、退職者による情報漏洩なども防止できて安心!

などと考え、IDaaS製品の「OneLogin」で管理することにしました。

OneLoginの機能

まずは、OneLoginの機能について、簡単にご説明します。

OneLoginは、複数のクラウドサービスのIDを一元管理し、シングルサインオンを行うことができるサービスです。
OneLoginにIDパスワードを入力してログインすれば、OneLoginと連携している他のクラウドサービスはIDパスワードを入力することなくログインできるようになります。
また、セキュリティの機能として、ワンタイムパスワードの認証機能が備わっているので、第三者にOneLogin自体のパスワードを知られてしまってもアカウントにログインされることを防止できたり、IPアドレス制限機能もあるので、オフィスのIPアドレスなど必要なIPアドレスを登録しておくことで、許可していないIPアドレスからのアクセスを制限したりすることができます。

その他に、プロビジョニング機能などもあります。
この機能は、OneLogin上で、アカウントを作成したり削除すると、連携先のクラウドサービス上でもアカウントが自動で作成・削除できるようになるものです。
ロールやマッピングなどの細かい設定を行うことで、一部のクラウドサービスでは作成したアカウントをどのグループに割り当てるかなどの権限変更も自動連携できるようになります。

他にも機能はありますがここでは省略します。

OneLoginでやる理由

OneLoginは、情シスとして必要な機能が十分であることと、弊社の取引所サービスでのシステム運用における利用実績があったため、OneLoginを採用することにしました。

導入について

導入プロセス

導入において以下のプロセスで実施することとしました。

  • クラウドサービスの一覧作成
    • 各部門で契約しているクラウドサービスの棚卸しを実施し、クラウドサービス一覧の作成
  • 各クラウドサービスの管理を情シスへ移管
    • 管理者アカウントを情シスへ移管(情シスの管理用メールアドレスで作成したユーザーを管理者として登録)
  • OneLogin連携
    • OneLoginに用意されているコネクタを使ってクラウドサービスを連携する
  • クラウドサービスアカウント作成依頼の整備
    • 各クラウドサービスのアカウントの作成・削除の申請ワークフローの整備
  • 新規クラウドサービス導入の整備
    • クラウドサービス導入時に情シスに連絡が来るように、ルールの整備

実際の導入時の作業

OneLoginへの登録作業

アカウントを管理している部門に管理者アカウントのログイン情報をもらい、OneLoginに登録していきました。
アプリケーションのカタログが用意されていて、連携したいクラウドサービスのコネクタをカタログの中から選んで必要な情報を埋めるだけで簡単に設定できるようになっています。

d165efcf-2c1c-47e6-9b02-50dbcfa46793
▲カタログの画面

もしカタログにない場合は、汎用のコネクタを使って登録します。
Form認証の場合は「Generic Connector (UC2)」、SAMLの場合は「SAML Test Connector
(Advanced)」を使用します。
汎用コネクタには、ログインURLとログイン画面で入力するID(メールアドレスなど)とパスワードなどを入力します。
画面をポチポチするだけでできるので登録自体は簡単です。

e7966ec5-c617-499f-8def-4978722104b6
▲Parameters(ログイン情報などを登録する)画面

アプリケーションカタログにない場合

ログイン画面に、IDの入力フォームとパスワードの入力フォームが同時に表示されないサイトの場合、汎用のコネクタをそのまま使用しても、IDパスワードを正常に自動入力できませんでした。
汎用コネクタの場合、IDとパスワードをほぼ同時に自動入力しているようで、失敗してしまいました。

その場合は、OneLoginの拡張機能を使用してコネクタを自作することができます。
OneLoginのブラウザ拡張機能が使えるブラウザで、OneLoginの管理者権限を持ったアカウントにログインしておき、追加したいサービスのログイン画面にアクセスすると、画面左上に「add app」アイコンが表示されます。

16b15a51-56f4-4139-9bc2-bb905986f350
▲例

「add app」アイコンをクリックするとログイン画面の情報取得ツールが起動するので、ログイン情報(メールアドレスやパスワード)の入力フォームをクリックしていくとツールが画面の情報を取得してくれます。
39d03f02-ed09-4ea4-bb30-68fd103351a0
▲例
そのまま登録を完了すると、選択した入力フォームにログイン情報を自動入力してくれるコネクタを作ることができます。

ただ、拡張機能で自作してもうまく動作しないこともありました。
また、ログイン画面の仕様によっては拡張機能が動作せず上記の方法で作成できないこともあったので、その場合は、代理店経由でOneLoginに問い合わせて、専用のコネクタを追加してもらって登録しました。

ワークフローやルールの整備

アカウント作成・削除申請をするために、申請ワークフローシステムを整備しました。クラウドサービス個々のワークフローを作ると数が膨大になるため、汎用ワークフローとしました。ただ、クラウドサービスの量が多いので、プルダウンメニューが長くなってしまって見辛い部分があり、その点が課題として残っています。
また、クラウドサービスの新規導入時には、リスク管理部にて、新規の外部委託やクラウドサービスについて選定評価するプロセスがあるので、その過程でクラウドサービスの導入について情シスに連絡が来るように働きかけを行いました。これで情シス管理外のサービスが発生することを防ぎます。

結果

上記の方法でほぼ全てのサービスを登録することができました。
ユーザー用と管理者用というように同じサービスでApplicationが2つ以上ある場合もありますが、最終的にOneLogin内のApplicationの数は149個になりました。
カタログにあったものは57個で、汎用コネクタを使ったものは92個になりました。
情シスが管理できるようになったので退職時の削除漏れもなくなって安心。

カタログにないサービスはロゴ画像がなく、一覧に並んだときにカッコ悪いので、「サービス名 ロゴ」などで画像検索して自分で画像を用意するのが地味に面倒でした…。

SAMLなどの機能をEnterpriseなどの上位プランでのみ使用できるようにしているクラウドサービスが多く、使用できる機能の割に金額が高い場合などの理由で上位プランを採用できず、SAMLを使うことができないサービスが多くありました。
(契約プランに関係なくSAMLだけが使えるようになるアドオン的なオプションがあると採用しやすくなって嬉しい…)

さいごに

プロビジョニングやマッピングに関してはまだ一部のサービスでしか使用できていないので、設定を進めて積極的に楽をしていきたいです。

おわり

Author image
About nohito
expand_less