PersoniumでPDS(パーソナルデータストア)を構築してみた

こんにちは。サイオステクノロジー技術部の池田です。
今回は最近PDSの実装として活発に開発が進んでいるPersoniumについて紹介したいと思います。

Personiumとは

Personium(ペルソニアム)とはPDS (Personal Data Store) サーバを提供するためのオープンソースソフトフェアの1つです。主に富士通によって開発が進められています。

PDSは「パーソナルデータ」をそのデータを保有する本人の決定により活用できるようにするサービスのことを指します。PDSでは次のような特徴を持つことを求められます。

  • パーソナルデータをセキュアに保存できる
  • パーソナルデータを構造化データとして扱える
  • パーソナルデータをそのデータを保有する本人が活用方法を決定できる

Personiumは上を満たすPDSの実装となっています。

特長

Personiumは次のような特長があります。

  • PDSサーバを誰でも立てられる
  • データ主体は個人でなく法人やモノでも良い
  • REST APIの基づくAPIを中心とした設計
  • OAuth2.0による認可
  • WebDAVによる強力なファイル操作

アーキテクチャ

3LayerStructure
https://personium.io/docs/ja/user_guide/001_Personium_Architecture.html より引用)

  • CellはPersoniumの基本的な概念です。Cellがパーソナルデータの単位となります。認証・承認やアクセス制御といった機能を持ちます。
  • Unitは一意のFQDNを持つPersoniumを実行するシステムインフラストラクチャです。これがPersoniumのPDSとなります。後述の手順で作成できます。
  • Boxはアプリケーション用のデータストアです。

PersoniumによるPDSサーバの構築

PersoniumによるPDSサーバの構成は下図のようになります。実際にこのようなサーバをローカルのPCに構築してみましょう。手作業で作るには複雑ですが、幸いにもVagrantとAnsibleによってインフラのコード化がされているので手順は非常に簡単です。今回は取っ掛かりということでUnit管理者として、「UnitManager」というPersoniumのUnit内のCellを管理するGUIツールにログインするところまでの手順を追ってみます。

1-server_unit
https://github.com/personium/setup-vagrant/tree/master/ansible より引用)

  1. 準備
    まずはローカルPCに次のソフトウェアをインストールしてください。
  2. 環境構築のためのVagrant+Ansibleのコードをダウンロード
    $ git clone https://github.com/personium/setup-vagrant.git
    
  3. Personium環境の構築
    次を実行するとPersonium環境の構築が開始されます。
    この手順はマシンスペックや回線速度によっては2時間くらいかかることがあるようです。気長に待ちましょう。
    $ cd setup-vagrant setup-vagrant$ vagrant up
    
  4. Unit管理者のクレデンシャルを確認
    次のコマンドを実行してください。
    setup-vagrant$ vagrant ssh
    $ sudo su -
    # cat /root/ansible/unitadmin_account unitadmin {password}
    # exit
    $ exit
    

    {password}の部分がのちほど必要になります。

  5. hostsファイルの設定
    hostsファイルに次の記述を追記してください。
    127.0.0.1 personium.example.com
    

    参考までにhostsファイルの通常は場所は以下にあります。

    • Windows: C:\Windows\System32\drivers\etc\hosts
    • MacOS: /private/etc/hosts
  6. UnitManagerへのログイン画面へアクセス
    ブラウザからhttps://personium.example.com/app-uc-unit-manager/__/html/login.htmlにアクセスしてください。すると次のようなログイン画面が表示されます。
    unit-manager_access

  7. Unit管理者としてログイン
    Unit管理者のクレデンシャルを入力します。

    フォーム
    Login URL https://personium.example.com/unitadmin/
    Username unitadmin
    Password {password} (4で確認したもの)

    unit-manager_login

  8. ログイン完了!
    unit-manager_main

  9. PDSのサスペンド
    次のコマンドでPDSをサスペンドできます。

    setup-vagrant$ vagrant suspend
    

参考文献

 

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

2 COMMENTS

アバター画像 池田透

ディクソンさま、教えていただいた記事とても参考になります。ありがとうございます!

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です