Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

各府省のデジタル・ガバメント中長期計画におけるJIS X 0213の採用状況

日本では、平成29年に閣議決定された「世界最先端IT国家創造宣言・官民データ活用推進基本計画」を受けて、「デジタル・ガバメント推進方針」というものが定められており、各府省ではその内容を具体化した「デジタル・ガバメント中長期計画」というものを定めています。

www.kantei.go.jp

世界最先端IT国家創造宣言にあった「文字情報基盤の活用」は、各府省のデジタル・ガバメント中長期計画においては「JIS X 0213の採用」という形で表現されているようです。

ただ、デジタル・ガバメント中長期計画は各府省で決めている内容なので、JIS X 0213について書くか書かないかは府省によって異なります。そこで、JIS X 0213に関する記述があるかの表を作ってみました。

府省の記載順は、首相官邸「デジタル・ガバメント実行計画について」のページにある表の順に沿っています。

令和2年3月31日時点でデジタル・ガバメント中長期計画にJIS X 0213の記述があるのは

で、23府省中6府省(26%)でした。

府省 令和2年3月31日時点 平成30年6月29日時点
内閣官房
内閣法制局
人事院
内閣府
宮内庁
公正取引委員会
警察庁
個人情報保護委員会
カジノ管理委員会
金融庁
消費者庁
復興庁
総務省
法務省
外務省
財務省
文部科学省
厚生労働省
農林水産省
経済産業省
国土交通省
環境省
防衛省
合計 6/23府省(26%) 5/22府省(23%)

VM上のUbuntuとWSL2上のUbuntuの違い

WSL2が入ったのでUbuntuを入れてみた。主にsystemdの不在に伴って、VM上のUbuntuとはいろいろと違いがある。常用のツールはWSL2で、systemdやら何やらシステム管理のお試しはVMWareでやるのがいいかな。

  • initはsystemdではなく、MSが作ったinitが使われる。systemctlは使えない。init.d以下には伝統的なシェルスクリプトが入っている。
  • snapdが動いていないので、snapパッケージのインストールはできない。snapコマンドはあるが、以下のよにエラーになる。
$ sudo snap install powershell-preview --classic
error: cannot communicate with server: Post http://localhost/v2/snaps/powershell-preview: dial unix /run/snapd.socket: connect: no such file or directory
  • NICの名前も伝統的なeth0。「enp0s3」のような命名規則ではない。

  • WindowsのC:は/mnt/c/以下にデフォルトでマウントされる。そのため、何も考えずにmlocateするとWindowsのファイルまでlocate DBに入ってしまう。 /etc/updatedb.conf の PRUNEPATHS に /mnt を追加すること。

日本政府提供のサポート終了等技術リスト

政府CIOポータルでは、日本の官公庁・地方自治体向け情報システムを開発する際に参照すべき標準ガイドライン群を公開しています。

その中に「政府情報システムにおけるサポート終了等技術への対応に関する技術レポート」という資料が公開されていて、別添資料として「サポート終了等技術リスト」というファイルがあります。

このファイルに載っている技術は「利用を継続した場合のデメリットがあるから、政府が自分の所のシステムで使うのはやめろと言っている」と言えるわけです。

内容的にはActiveXの代替技術ってHTML5なんだっけ(どっちかと言うとHBOとかNative ClientとかXBAPとかでは?)とか、いろいろ突っ込みどころはあります。ただ、Internet Explorerは「サポート終了等技術リストにも入っていますし、IEには対応しなくていいですよね!」と言えるわけで、けっこう便利に使えるのではないかと思います。

世界最先端デジタル国家創造宣言・官民データ活用推進基本計画に書いてある「31.5GhzのCPU」

日本政府の情報システムに関する方針としては、2013年に「世界最先端IT国家創造宣言」が決定されてから、世界最先端IT国家創造宣言・官民データ活用推進基本計画(2017年)→世界最先端デジタル国家創造宣言・官民データ活用推進基本計画(2018年)といった変遷を経て、現在は「世界最先端デジタル国家創造宣言・官民データ活用推進基本計画の変更について」が首相官邸のウェブサイトで公開されています。

どの文書もタイトルはよく似ているんだけど、実は内容はちょいちょい変わっていて、たとえば2015年時点の世界最先端IT国家創造宣言では「国際標準に適合した文字情報基盤を活用することを原則とする」とか書いてあったのに、2019年時点の世界最先端デジタル国家創造宣言・官民データ活用推進基本計画ではそれが外されちゃってるから、「文字情報基盤とか別に使わなくていいんじゃん」みたいに読めてしまったりします。適宜、古い版も参照する必要があるってことですね。

で、2019年の「世界最先端デジタル国家創造宣言・官民データ活用推進基本計画の変更について」なんだけど、変な記述があって、p.2に「1990年代後半に0.2Ghz程度だったCPUの処理速度は2015年に31.5Ghzとなっている」とか書いてある。31.5GHzのCPUって何ぞ?

GDPRを遵守するためにアプリケーションに必要となる機能

あるシステムがEU域内の個人データを扱う場合、GDPRの遵守はシステムの運用主体が負うことになるわけだけれど、とはいえGDPRに対応するための機能自体がシステムに入ってないと問題になることは見えているので、機能要件に織り込んでおく必要があるわけです。

そこで、「個人データの取扱いと関連する自然人の保護に関する、及び、そのデータの自由な移転に関する、並びに、指令95/46/EC を廃止する欧州議会及び理事会の2016 年4 月27 日の規則(EU) 2016/679(一般データ保護規則)」の前文と条文の中から、アプリケーションの機能に関わりそうな箇所をピックアップしてみました。

前文

(30) 自然人は、インターネットプロトコルアドレス、クッキー識別子、又は、無線識別タグのようなその他の識別子といったような、当該自然人のデバイス、アプリケーション、ツール及びプロトコルによって提供されるオンライン識別子と関連付けられうる。

IPアドレスやJSESSIONIDをログ出力する際に注意が必要。同意が取れていない場合はログにIPアドレスやJSESSIONIDを保存できないことになる。Logbackの場合、MDCで同意が取れているリクエストのみIPアドレスやJSESSIONIDをログ出力するよう制御できる。

(32) この同意は、インターネット Web サイトを訪問する際にボックスをチェックすること、情報社会サービスのための技術的な設定を選択すること、又は、この文脈において、自己の個人データについて提案された取扱いについてのデータ主体の承諾を明確に示す上記以外の陳述又は行為を含みうる。それゆえ、沈黙、予めチェック済みのボックス又は不作為は、同意を構成するものとしてはならない。

同意のためのチェックボックスは、デフォルトOFFにする。

条文

第5条

1 . (f) 無権限による取扱い若しくは違法な取扱いに対して、並びに、偶発的な喪失、破壊又は損壊に対して、適切な技術上又は組織上の措置を用いて行われる保護を含め、個人データの適切な安全性を確保する態様により、取扱われる。

個人データに対するアクセス制御の実装が必要。

第7条

1 . 取扱いが同意に基づく場合、管理者は、データ主体が自己の個人データの取扱いに同意していることを証明できるようにしなければならない。

同意したことの記録はDB上に永続化する。または、特定のセッションIDのユーザが取り扱いに同意したことをログへ出力する。

3 . データ主体は、自己の同意を、いつでも、撤回する権利を有する。

同意したことの記録はDB上で更新できるようにする。または、特定のセッションIDのユーザが取り扱いの同意を撤回したことをログへ出力し、以降はログ出力時の識別子をマスクする *1

第8条

1 . ... その子どもが16 歳未満の場合、そのような取扱いは、その子どもの親権上の責任のある者によって同意が与えられた場合、又は、その者によってそれが承認された場合に限り、かつ、その範囲内に限り、適法である。 加盟国は、その年齢が 13 歳を下回らない限り、法律によって、それらの目的のためのより低い年齢を定めることができる。

記録の対象が16歳(または導入先の国の法律によって設定された年齢)未満か以上かで処理を分ける必要がある。または、単純に16歳未満の利用を禁止できるようにする。

第12条

2 . ... 第15条から第22条に基づくデータ主体の権利の行使を容易にするものとする。

記録している個人データは照会可能にする必要がある。保存しっぱなしはマズい。

3 . ... 第15条から第22条に基づく要求に基づいて行われた行為に関する情報を提供する。

個人データに対するアクセスログ監査証跡として保存する必要がある。第30条も同じ。プレーンテキストのログへアクセス記録を出力する場合は、個人データの主キー*2を併せて出力しておかないと識別が難しい。

第13条

2 . (a) その個人データが記録保存される期間、又は、それが不可能なときは、その期間を決定するために用いられる基準。

個人情報の保存時刻をレコードのカラムとして持った上で、保存期限を過ぎたデータは消去が必要。

2 . (b) 個人データへのアクセス、個人データの訂正又は消去、又は、データ主体と関係する取扱いの制限を管理者から得ることを要求する権利、又は、取扱いに対して異議を述べる権利、並びに、データポータビリティの権利が存在すること。

個人データはまとめてエクスポートできる必要がある。

第15条

1 . (c) 個人データが開示された、又は、個人データが開示される取得者若しくは取得者の類型

個人データに対するアクセスログ監査証跡として保存する必要がある。第30条も同じ。

第30条

1 . 個々の管理者、及び、該当する場合、管理者の代理人は、その責任において、取扱活動の記録を保管する。

個人データに対するアクセスログ監査証跡として保存する必要がある。実装方法としては、DBのテーブルにアクセス記録用のカラムを設ける、DBの監査証跡機能を利用する、などが思いつく。

*1:注意: 同意を撤回した場合、記録は遡って消去する必要がある?

*2:個人を識別する情報そのものではマズいので、内部的なサロゲートキー的なIDが必要となる。