承継と離脱¶
組織は統合し、分割し、去る。識別子はそれに気づいてはならない。
ark:/99999/x9abc は既に配ってしまった。NR の下では振り直せないので、新しい組織で
新しい名前に置き換えることはできない——元の識別子を殺すことになる。変えられるのは
今後誰が採番するかとどこへ転送するかだけである。
承継 — 組織が別の組織に統合される¶
shoulder が承継先に移る。Ark の行には触れないので、既存の識別子は以前とまったく
同じに解決する。旧組織は無効化され、資格情報は止まる(行は残すので誰の鍵だったかは
辿れる)。succeeded_by に系譜が記録される。
--retire(既定)は、移した名前空間の新規採番も止める。承継先は自分の名前空間で採番し、
旧名前空間は読み取り専用になる。
承継は NAAN を跨げない。 跨ぐと識別子の形が変わる——つまり別の名前になってしまう。
離脱 — 組織は存続するが、この基盤を離れる¶
新規採番は止め、解決は永久に続ける。 ark:/<こちらの NAAN>/… という形で配って
しまった以上その名前は振り直せないので、NAAN の保有者が 302 を返し続けるしかない。
要点は --resolver である。既存の転送先を組織自身のリゾルバへ一括で向け直し、
同時に shoulder にも同じ委譲を設定するので、この台帳が見たことのない名前まで
そちらへ流れる。これで離脱した組織に、以後こちらへの作業を求めずに済む。
これは見た目より重要である。移転のたびに更新を送ってもらう設計は、いつか誰も送らなく なって死んだリンクが残る。
--keep-update は ark:update だけの資格情報を残す。scope を分けた設計がここで効く——
転送先の付け替えは自分でできるが、新規採番はできない。
何が残るか¶
Ark の行 |
触らない。 識別子もその履歴も残る |
| shoulder | retired にする。消さない——名前が振り直されてはならない |
| 資格情報 | 無効化するが行は残す。誰の鍵だったかの記録が残る |
Manager |
無効化し、succeeded_by を設定して系譜を辿れるようにする |
以上はすべて監査ログに残る。