電通総研 テックブログ

電通総研が運営する技術ブログ

CIVILIOSにおけるOIDCの活用方法

こんにちは、スマートソサエティセンター サステナビリティソリューション部の田口和駿です。 本記事では弊社の自社サービスCIVILIOSにおけるOpenID Connectの活用方法を紹介します。
なお、本記事でご紹介する情報は2025年5月時点のものとなります。

CIVILIOSとは

CIVILIOS Logo

弊社が開発した都市OSであるCIVILIOS(シビリオス)は、そこに暮らす人に軸足を置きつつ、それぞれの自治体の環境にアジャストした最適なデータ連携基盤を提供する無二のソリューションです。

CIVILIOSの特徴として以下のようなものがあります。

CIVILIOSは以下の主要な機能を持っています。これらの機能はビルディングブロック方式と呼ばれる疎結合なシステム構築によって、新規機能の追加や不要機能のオミットなど組み換えに対して柔軟に対応できます。

  • ID連携機能
    認証情報を提供するIDプロバイダー機能(CIVILIOS-ID)を利用することで、シングルサインオン(SSO)機能を実装できます。これにより、住民はサービス毎にログインする必要がなくなります。

  • 住民ポータル機能
    住民一人ひとりに合わせた情報提供が可能で、事業が提供するサービスとの連携も実現します。住民は自分の属性や興味に応じたお知らせを受信でき、個人情報の連携可否を設定できます。

  • オプトイン設定
    住民本人の同意の上で、登録された個人情報を各サービスにセキュアに連携する機能を搭載しています。これにより、安心・安全にサービスを利用できます。

  • オープンデータアップロード機能
    自治体が保有するデータを効率的に管理・共有します。オープンデータをCSV形式でアップロードし、NGSI形式に変換することで、データの標準化と一元管理が可能になります。

  • ダッシュボード機能
    自治体が提供するサービスの利用状況や運用成果を可視化する機能です。各サービスのKPIに対する達成度をリアルタイムで確認することができ、サービスの効果や改善点を視覚的に確認できます。

詳しくは弊社のCIVILIOSに関するウェブサイトをご確認ください。

OpenID Connectとは

OpenID Connect(OIDC)とはOAuth 2.0をベースにした認証プロトコルで、ユーザーのアイデンティティ情報を安全に共有するための仕組みです。OIDCは、ユーザーが一度ログインすると、その認証情報を使って他のサービスにアクセスできるようにします。具体的には以下のような手順で認証を行います。

OIDCフロー
  1. アクセス要求
    ログイン画面などからユーザーがアプリケーションにアクセスを要求します。
  2. 認証要求
    アプリケーションはOpenIDプロバイダーに認証要求を送ります。
  3. ログイン要求
    OpenIDプロバイダーはユーザーにログインを求めます。
  4. ログイン情報提供
    ユーザーがIDやパスワードなどのログイン情報をOpenIDプロバイダーに送信します。
  5. IDトークンの発行
    ログイン情報を使って認証が成功すると、OpenIDプロバイダーはクライアントアプリケーションに認証トークンを発行します。このトークンにはユーザーのIDトークンやアクセストークンが含まれています。
  6. トークンの使用
    クライアントアプリケーションは認証トークンを受け取り、ユーザーをログインさせます。

OIDCの利点として大きく3つあります。

  • セキュリティ:パスワードを複数のアプリケーションで使い回す必要がなくなり、セキュリティが向上します。
  • 利便性:OAuth 2.0 をベースにしているため、既存の OAuth 2.0 インフラストラクチャと簡単に統合できます。
  • 標準化:OpenID規格は国際標準団体によって標準化され、世界中の多くの場所で利用されています。

OIDCは多くの企業やサービスで採用されています。例えば、GoogleMicrosoftAmazonなどの大手企業はOIDCを利用してユーザーの認証を行っています。これにより、ユーザーは一度ログインするだけで、複数のサービスにアクセスできます。また、OIDCはオープンソースのライブラリやフレームワークを利用して簡単に実装できるため、開発者にとっても利便性が高いです。

CIVILIOSでのOIDCの活用方法

内閣府が作成した「スマートシティリファレンスアーキテクチャ」では、データ連携基盤に接続する他のサービスやユーザーの認証管理をする機能を実現するための手法としてOIDCとOAuth2.0の併用が推奨されています。

CIVILIOSでは独自のIDプロバイダー機能(CIVILIOS-ID)を保有しており、この機能が冒頭のOIDCとOAuth2.0で認証/認可を行います。これにより、住民ポータル機能に市民がログインするためのIDや、オープンデータアップロード機能に自治体職員がログインするためのIDなどをこの機能で一元管理できます。
また、CIVILIOS-IDは認証/認可フローとしてOIDCフローにおけるIDプロバイダーへの窓口をAPIとして公開しており、外部サービスとの連携にも対応しています。

CIVILIOS-IDの活用方法としてシングルサインオンがあります。シングルサインオン(Single Sign-On、SSO)とは、ユーザーが一度の認証で複数のアプリケーションやサービスにアクセスできるようにする認証方式です。これにより、住民ポータル機能にログインするだけで住民ポータル機能と連携する外部サービスにも自動でログインできます。
また、マイナンバーカードなどを利用して本人確認された認証情報を提供するデジタルIDなどのサービスとCIVILIOS-IDを紐づけることで、本人確認されたCIVILIOS-IDにできます。

さらにOIDCはデータ連携基盤であるCIVILIOSが他の外部サービスやデータ連携基盤とデータ連携する際にも活躍します。CIVILIOSは外部サービスに対してOIDCフローを通してアクセストークンを渡します。外部サービスはこのアクセストークンを用いることで、CIVILIOS内のデータやCIVILIOSと連携する他の外部サービスからデータを受け取ることができます。CIVILIOSはこのアクセストークンを用いることで、外部サービス同士の連携やCIVILIOS内の機能へのアクセス、ユーザーがデータ連携に同意(オプトイン)しているかを確認して、データ連携を制御しています。

CIVILIOS フロー

さいごに

本記事では、弊社の都市OS「CIVILIOS」におけるOpenID Connect(OIDC)の活用方法についてご紹介しました。CIVILIOSは、住民や自治体にとって利便性とセキュリティを両立させたデータ連携基盤を提供することで、スマートシティの実現を支援します。

OIDCを活用することで、住民は一度のログインで複数のサービスにアクセスでき、自治体は効率的にデータを管理・共有することが可能になります。また、CIVILIOS-IDを通じて、外部サービスとの連携もスムーズに行えるため、より多くのサービスを統合的に利用できます。

CIVILIOSはOIDCフローを通じて外部サービスにアクセストークンを提供し、外部サービスはCIVILIOS内のデータや他の連携サービスからデータを受け取ることができます。これにより、セキュアなデータ連携と住民の同意(オプトイン)に基づいたデータ共有が可能になります。

今後もCIVILIOSは新しい機能を追加し、より多くの自治体に導入されることを目指しています。

私たちは一緒に働いてくれる仲間を募集しています!

電通総研 キャリア採用サイト 電通総研 新卒採用サイト

執筆:@taguchi.kazutoshi、レビュー:@nakamura.toshihiro
Shodoで執筆されました